|
NAMEwaybar - custom moduleDESCRIPTIONThe custom module displays either the output of a script or static text. To display static text, specify only the format field.CONFIGURATIONAddressed by custom/<name>exec:
exec-if:
exec will be executed if the exit code of
exec-if equals 0.
exec-on-event:
executing the event command.
return-type:
interval:
Use once if you want to execute the module only on
startup. You can update it manually with a signal. If no interval is
defined, it is assumed that the out script loops it self.
restart-interval:
Can't be used with the interval option, so only
with continuous scripts. Once the script exit, it'll be re-executed after the
restart-interval.
signal:
The number is valid between 1 and N, where
SIGRTMIN+N = SIGRTMAX.
format:
format-icons:
rotate:
max-length:
min-length: typeof: integer The minimum length in characters the module should take up. align: typeof: float The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. on-click:
on-click-middle:
on-click-right:
on-update:
on-scroll-up:
on-scroll-down:
smooth-scrolling-threshold:
tooltip:
escape:
RETURN-TYPEWhen return-type is set to json, Waybar expects the exec-script to output its data in JSON format. This should look like this:{"text": "$text", "tooltip": "$tooltip", "class": "$class", "percentage": $percentage } The class parameter also accepts an array of strings. If nothing or an invalid option is specified, Waybar expects i3blocks style output. Values are newline separated. This should look like this: $text\n$tooltip\n$class* class is a CSS class, to apply different styles in style.css FORMAT REPLACEMENTS{}: Output of the script.{percentage} Percentage which can be set via a json return-type. {icon}: An icon from 'format-icons' according to percentage. EXAMPLESSpotify:"custom/spotify": { "format": " {}", "max-length": 40, "interval": 30, // Remove this if your script is endless and write in loop "exec": "$HOME/.config/waybar/mediaplayer.sh 2> /dev/null", // Script in resources folder "exec-if": "pgrep spotify", "return-type": "json" } mpd:"custom/mpd": { "format": "♪ {}", //"max-length": 15, "interval": 10, "exec": "mpc current", "exec-if": "pgrep mpd", "on-click": "mpc toggle", "on-click-right": "sonata" } cmus:"custom/cmus": { "format": "♪ {}", //"max-length": 15, "interval": 10, "exec": "cmus-remote -C "format_print '%a - %t'"", // artist - title "exec-if": "pgrep cmus", "on-click": "cmus-remote -u", //toggle pause "escape": true //handle markup entities } Pacman"custom/pacman": { "format": "{} ", "interval": "once", "exec": "pacman_packages", "on-click": "update-system", "signal": 8 } Alternate Pacman"custom/pacman": { "format": "{} ", "interval": 3600, // every hour "exec": "checkupdates | wc -l", // # of updates "exec-if": "exit 0", // always run; consider advanced run conditions "on-click": "termite -e 'sudo pacman -Syu'; pkill -SIGRTMIN+8 waybar", // update system "signal": 8 } You can use the signal and update the number of available packages with pkill -RTMIN+8 waybar. STYLE•#custom-<name>
•#custom-<name>.<class>
•<class> can be set by the script.
For more information see return-type
Visit the GSP FreeBSD Man Page Interface. |