1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Default, Serialize, Deserialize)] pub struct Block { pub full_text: String, #[serde(skip_serializing_if = "Option::is_none")] pub short_text: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub color: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub background: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub border: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub border_top: Option<u32>, #[serde(skip_serializing_if = "Option::is_none")] pub border_bottom: Option<u32>, #[serde(skip_serializing_if = "Option::is_none")] pub border_left: Option<u32>, #[serde(skip_serializing_if = "Option::is_none")] pub border_right: Option<u32>, #[serde(skip_serializing_if = "Option::is_none")] pub min_width: Option<u32>, #[serde(skip_serializing_if = "Option::is_none")] pub align: Option<Align>, #[serde(skip_serializing_if = "Option::is_none")] pub name: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub instance: Option<String>, #[serde(skip_serializing_if = "Option::is_none")] pub urgent: Option<bool>, #[serde(skip_serializing_if = "Option::is_none")] pub separator: Option<bool>, #[serde(skip_serializing_if = "Option::is_none")] pub separator_block_width: Option<u32>, #[serde(skip_serializing_if = "Option::is_none")] pub markup: Option<Markup>, } #[derive(Debug, Copy, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "lowercase")] pub enum Align { Center, Left, Right, } #[derive(Debug, Copy, Clone, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "lowercase")] pub enum Markup { Pango, None, }