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
|
// Presentation mode, the same module the DP-1 bar runs.
//
// `statusctl presentation watch` streams waybar JSON on every change: it
// already emits an empty text and a class of activated, deactivated or down,
// so the icon is chosen in CSS from that class and no format is needed here.
// Dropping format-icons is the whole difference from the DP-1 copy, which
// draws the same two states as Nerd Font glyphs.
//
// `down` means the state file is missing, which is not the same as off: the
// mode cannot be read at all. It gets its own icon rather than borrowing the
// off one, so a broken watcher does not read as a working bar.
//
// statusctl talks to files under XDG_RUNTIME_DIR rather than to quickshell,
// so this keeps working while the shell is down.
// The format is a single space, and it has to be something. It defaults to
// "{text}", statusctl emits an empty text, and waybar draws no widget at all
// for a custom module whose formatted output is empty: not an empty pill, no
// pill. A space gives the label real content to be allocated for, shows
// nothing itself, and leaves the icon to the CSS background.
{
"custom/presentation": {
"exec": "$HOME/bin/statusctl presentation watch",
"return-type": "json",
"on-click": "$HOME/bin/statusctl presentation toggle",
"format": " ",
"tooltip": true
}
}
|