1yambar-modules(5) File Formats Manual yambar-modules(5)
2
3
4
6 yambar-modules - configuration file
7
9 Modules are what monitors your system and provides data for the status
10 bar.
11
12 All modules expose their data through tags. Each tag has a name, type
13 and value. The name and type is fixed, while the value typically
14 changes over time. See yambar-tags(5).
15
16 The tags are rendered by particles. Each particle has its own way of
17 representing tag values. The simplest one is the string particle, which
18 renders a text representation of the tag value. See yambar-parti‐
19 cles(5).
20
21 Note that all the examples showed below have been kept simple. Here are
22 a couple of tips that will improve the looks:
23
24 Use list particles to change font and/or color
25 The string particle, for example, cannot change font or colors in the
26 middle of its string. To do this, you need to wrap multiple string par‐
27 ticles in a list particle.
28
29 This can be useful if you want to use an icon font for a glyph since
30 the default fallback fonts provided by fontconfig may not favor your
31 icon font.
32
33 Also remember there is a short version for lists (see yambar-parti‐
34 cles(5))
35
36 For example, to render backlight as " 20%", you could use:
37
38 content:
39 - string:
40 font: Font Awesome 6 Free:style=solid:pixelsize=14
41 text:
42 - string:
43 font: Adobe Helvetica:pixelsize=12
44 text: "{percent}%"
45
46 Use map particles to handle 'state'
47 Several modules have a state tag that can be used to render different
48 particles depending on the module's state.
49
50 For example, you might want different things to be shown for a network
51 interface that is down or up. You could further differentiate between
52 an up interface that has or has not an IP address assigned to it.
53
54 Below is an example, where a wired connection is not renderer at all
55 when disconnected.
56
57 When connected, it is rendered in the default text color if it is up
58 and also has an IPv4 address. If it is up, but does not have an IPv4
59 address, it is rendered in a semi-transparent white color.
60
61 Finally, if it is down, or in any other unknown state, it is rendered
62 in red.
63
64 content:
65 map:
66 conditions:
67 ~carrier: {empty: {}}
68 carrier:
69 map:
70 default: {string: {text: , font: *awesome, foreground: ffffff66}}
71 conditions:
72 state == up:
73 map:
74 default: {string: {text: , font: *awesome}}
75 conditions:
76 ipv4 == "": {string: {text: , font: *awesome, foreground: ffffff66}}
77
78 Use yaml anchors
79 You often end up using the same definitions in a lot of places. This is
80 particular true for fonts. But it can also be true when mapping state.
81
82 In these cases, you can define an anchor point, either at top-level, or
83 in a module's anchors attribute:
84
85 awesome: &awesome Font Awesome 6 Free:style=solid:pixelsize=14
86
87
88 Then reference it in your particle definitions:
89
90 content:
91 string: {text: , font: *awesome}
92
94 Each module defines its own configuration format. However, the follow‐
95 ing attributes are supported by all modules:
96
97 ┌───────────┬─────────────────┬─────┬──────────────────────────────────┐
98 │Name │ Type │ Req │ Description │
99 ├───────────┼─────────────────┼─────┼──────────────────────────────────┤
100 │content │ particle │ yes │ A particle describing how the │
101 │ │ │ │ module's information is to be │
102 │ │ │ │ rendered. See yambar-parti‐ │
103 │ │ │ │ cles(5) │
104 ├───────────┼─────────────────┼─────┼──────────────────────────────────┤
105 │anchors │ associative ar‐ │ no │ Free-to-use associative array, │
106 │ │ ray │ │ where you can put yaml anchor │
107 │ │ │ │ definitions │
108 ├───────────┼─────────────────┼─────┼──────────────────────────────────┤
109 │font │ font │ no │ Font to use in the content par‐ │
110 │ │ │ │ ticle. This is an inherited at‐ │
111 │ │ │ │ tribute. │
112 ├───────────┼─────────────────┼─────┼──────────────────────────────────┤
113 │foreground │ color │ no │ Foreground (text) color of the │
114 │ │ │ │ content particle. This is an in‐ │
115 │ │ │ │ herited attribute. │
116 └───────────┴─────────────────┴─────┴──────────────────────────────────┘
117
119 Available modules have their own pages:
120
121 yambar-modules-alsa(5)
122
123 yambar-modules-backlight(5)
124
125 yambar-modules-battery(5)
126
127 yambar-modules-clock(5)
128
129 yambar-modules-i3(5)
130
131 yambar-modules-label(5)
132
133 yambar-modules-mpd(5)
134
135 yambar-modules-network(5)
136
137 yambar-modules-pulse(5)
138
139 yambar-modules-removables(5)
140
141 yambar-modules-river(5)
142
143 yambar-modules-script(5)
144
145 yambar-modules-sway-xkb(5)
146
147 yambar-modules-sway(5)
148
149 yambar-modules-xkb(5)
150
151 yambar-modules-xwindow(5)
152
154 yambar-particles(5), yambar-tags(5), yambar-decorations(5)
155
156 2023-07-22 yambar-modules(5)