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 or deactivated, 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.
//
// A missing state file reads as deactivated, not as a warning: that is the
// normal state before anything has written one, and a file cannot report
// whether a watcher is alive anyway.
//
// 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
}
}
|