swaybar_types/
block.rs

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