Waybar
Thanks for checking out my Waybar literate configuration. Please, if you appreciate my work, consider making a donation.
Table of Contents toc
Sway Laptop Bar
This Org documents contains my Waybar configurations for three different Wayland compositors: Sway, River, and LabWC. It has a total of six separate status bars, one for each of my two outputs, on each of the three compositors. If you’ve ever seen me use a Wayland compositor in a video, I was using a Waybar from this document.
This Org document outputs to three separate files: config.json
, rconfig.json
for River, and lconfig.json
for LabWC. In turn, these bars use the stylesheets style.css
, river.css
, and labwc.css
respectively.
Appearance
[{ "position": "bottom", "height": 42, "spacing": 0, "output": "eDP-1", "reload_style_on_change": true, "mode": "dock", "modules-left": ["sway/workspaces", "sway/mode"], "modules-right": ["mpd", "pulseaudio", "cpu", "memory", "battery", "disk", "backlight", "custom/clock"], "sway/workspaces": { "disable-scroll": false, "disable-scroll-wraparound": true, "enable-bar-scroll": true, "all-outputs": false, "format": "{icon}", "format-icons": { "1": "", "2": "爵", "3": "", "4": "", "5": "", "6": "", "7": "", "8": "", "9": "", "urgent": "", "default": "" } }, "sway/mode": { "format": "<span style=\"italic\">{}</span>" },
MPD
"mpd": { "server": "127.0.0.2", "format": "{consumeIcon}{artist} - <span style=\"italic\">{title}</span>{singleIcon}{repeatIcon}{randomIcon}{stateIcon}", "format-disconnected": " ", "format-stopped": "{consumeIcon}{singleIcon}{repeatIcon}{randomIcon} ", "title-len": 42, "unknown-tag": "N/A", "interval": 1, "on-click": "mpc --host=127.0.0.2 toggle > /dev/null", "on-click-right": "mpc --host=127.0.0.2 next > /dev/null", "on-click-middle": "mpc --host=127.0.0.2 prev > /dev/null", "consume-icons": { "on": " " }, "random-icons": { "off": " ", "on": " " }, "repeat-icons": { "on": " " }, "single-icons": { "on": "1 " }, "state-icons": { "playing": " ", "paused": " " }, "tooltip-format": "{artist} - {album} ({date})", },
Image
"image#album-art": { "path": "/tmp/mpd_cover.jpg", "size": 40, "interval": 1, "on-click": "swayimg /tmp/mpd_cover.jpg" },
Clock
"custom/clock": { "exec": "date +'%I:%M:%S %a, %b %d'", "interval": 1, "format": " {}", "align": 1, "tooltip": false },
CPU
"cpu": { "format": " {usage}%", "format-alt": " {avg_frequency} GHz {max_frequency} GHz", },
Memory
"memory": { "format": " {}%", "format-alt": " {used:0.1f} GB {swapUsed:0.1f} GB", "tooltip-format": " {used:0.2f} GB {swapUsed:0.2f} GB" },
Disk
"disk": { "path": "/mnt/mega/", "interval": 1, "format": " <span style=\"italic\">{free}</span>", "format-alt": " {used}", "tooltip": true, "tooltip-format": "{percentageUsed}% of {total}" },
Battery
"battery": { "states": { "good": 99, "warning": 50, "critical": 20 }, "full-at": 94, "format": "{icon} <span style=\"italic\">{capacity}%</span>", "format-charging": " <span style=\"italic\">{capacity}%</span>", "format-plugged": " {capacity}%", "format-alt": "{icon} {time}", "format-time": "{H}:{m}", "format-icons": ["", "", "", "", "", ""], "tooltip": true, "tooltip-format": " {time} {power} watts" },
Backlight
"backlight": { "device": "intel_backlight", "tooltip": false, "format": "{icon} {percent}%", "format-icons": ["", "", "", "", "", "", "", "", ""], "on-click-right": "pkill -x gammastep; gammastep -O 4500K", "on-click-middle": "pkill -x gammastep", "on-click": "light -S 20 && light -G && echo 20 > .wob.sock", "on-scroll-up": "light -A 1 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock", "on-scroll-down": "light -U 1 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock", },
Pulseaudio
"pulseaudio": { "format": "{icon} <span style=\"italic\">{volume}%</span> {format_source}", "format-bluetooth": "{icon} <span style=\"italic\">{volume}%</span>", "format-bluetooth-muted": " {volume}%", "format-muted": " {volume}%", "format-source": " {volume}%", "format-source-muted": "", "tooltip": true, "tooltip-format": "{desc}", "format-icons": { "headphone": "", "hands-free": "", "headset": "", "phone": "", "portable": "", "car": "", "default": ["", "", ""] }, "on-click-right": "pavucontrol", "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", }
Sway Monitor Bar
This is the second bar that Sway uses, and it places it on my monitor (HDMI-A-2
), to the right of the bar detailed above.
Appearance
}, { "position": "bottom", "height": 42, "spacing": 0, "output": "HDMI-A-2", "reload_style_on_change": true, "mode": "dock", "modules-left": ["sway/workspaces", "sway/window"], "modules-right": ["disk", "privacy", "network", "idle_inhibitor", "wireplumber", "temperature", "keyboard-state", "tray"], "sway/workspaces": { "disable-scroll": false, "disable-scroll-wraparound": true, "enable-bar-scroll": true, "all-outputs": false, "format": "{icon}", "format-icons": { "1": "", "2": "爵", "3": "", "4": "", "5": "", "6": "", "7": "", "8": "", "9": "", "urgent": "", "default": "" } },
Window
"sway/window": { "format": "{title}", "separate-outputs": false, "tooltip": false, "rewrite": { "foot": " ", "Alacritty": " ", "st": " ", "\\[spaceman\\] (.*)": " $1", "\\[spaceman\\] exit (.*)": " $1", "Steam": " ", "Sign in to Steam": " ", "Shutdown": " ", "cava": " ", "ncmpcpp (.*)": " <span style=\"italic\">$1</span>", "zncmpcpp (.*) - (.*)": " $1 - <span style=\"italic\">$2</span>", "ranger:(.*)": " $1", "Mozilla Firefox": " ", "Mozilla Thunderbird": " ", "YouTube": " ", "GitHub": " ", "Explore GitHub": " ", "GitHub Dashboard": " ", "(.*) - Void Linux Handbook": " <span style=\"italic\">$1</span>", "(.*) - Void Linux Handbook — Mozilla Firefox": " <span style=\"italic\">$1</span>", "Tumblr": " ", "(.*) Tumblr": " <span style=\"italic\">$1</span>", "(.*) - Gmail": " <span style=\"italic\">$1</span>", "(.*) \\| Proton Mail": " <span style=\"italic\">$1</span>", "(.*) on Tumblr": " <span style=\"italic\">$1</span>", "(.*) - (.*) - Stack Overflow": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Stack Overflow — Mozilla Firefox": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Ask Ubuntu": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Ask Ubuntu — Mozilla Firefox": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Unix & Linux Stack Exchange": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Unix & Linux Stack Exchange — Mozilla Firefox": " <span style=\"italic\">$2</span>", "(.*) Tumblr — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) on Tumblr — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) \\| Last.fm": " <span style=\"italic\">$1</span>", "(.*) \\| Last.fm — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) · GitLab": " <span style=\"italic\">$1</span>", "(.*) - ArchWiki": " <span style=\"italic\">$1</span>", "(.*) - ArchWiki — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Wikipedia — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) :: PassThePopcorn — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) :: Empornium — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) :: PassThePopcorn": " <span style=\"italic\">$1</span>", "(.*) :: Empornium": " <span style=\"italic\">$1</span>", "(.*) :: Orpheus": " <span style=\"italic\">$1</span>", "(.*) :: Orpheus — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - IPTorrents - \\#1 Private Tracker": " <span style=\"italic\">$1</span>", "(.*) - IPTorrents - \\#1 Private Tracker — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) • Letterboxd": " <span style=\"italic\">$1</span>", "Letterboxd • Social film discovery.": " ", "(.*) - Rate Your Music": " <span style=\"italic\">$1</span>", "(.*) - Rate Your Music — Mozilla Firefox": " <span style=\"italic\">$1</span>", "Hacker News": " ", "(.*) \\| Hacker News": " <span style=\"italic\">$1</span>", "(.*) - Invidious — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - YouTube — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Invidious": " <span style=\"italic\">$1</span>", "(.*) - YouTube": " <span style=\"italic\">$1</span>", "(.*) - 4chan": " <span style=\"italic\">$1</span>", "(.*) - 4chan — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - (.*) - 4chan": " <span style=\"italic\">$1</span>", "(.*) - (.*) - 4chan — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Gmail — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) at DuckDuckGo": " <span style=\"italic\">$1</span>", "(.*) - Google Search": " <span style=\"italic\">$1</span>", "(.*) - Google Search — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) \\| Proton Mail — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) \\| Hacker News — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) at DuckDuckGo — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) · GitLab — Mozilla Firefox": " <span style=\"italic\">$1</span>", "• Discord \\| (.*) \\| (.*) — (.*)": " <span style=\"italic\">$1</span>: $2", "(.*) \\| Stash": " <span style=\"italic\">$1</span>", "Stash": " ", "(.*) - Raspberry Pi Documentation": " <span style=\"italic\">$1</span>", "(.*) - Raspberry Pi": " <span style=\"italic\">$1</span>", "(.*) — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) — Mozilla Thunderbird": " <span style=\"italic\">$1</span>", "(.*) - Mozilla Thunderbird": " <span style=\"italic\">$1</span>", "GNU Emacs at thing": " ", "(.*) – Doom Emacs": " <span style=\"italic\">$1</span>", "(.*) — Doom Emacs": " <span style=\"italic\">$1</span>", "(.*) - Chromium": " <span style=\"italic\">$1</span>", "swayimg: (.*)": " <span style=\"italic\">$1</span>", "feh \\[1 of 1\\] - (.*)": " <span style=\"italic\">$1</span>", "feh \\[1 of 2\\] - (.*)": " <span style=\"italic\">$1</span>", "feh \\[2 of 2\\] - (.*)": " <span style=\"italic\">$1</span>", "(.*) - mpv": " <span style=\"italic\">$1</span>", "(.*) - VLC Media Player": " <span style=\"italic\">$1</span>", "VLC media player": " ", "Current Media Information": " ", "Simple Preferences": " ", "Adjustments and Effects": " ", "File Upload": " ", "(.*) - Discord": " <span style=\"italic\">$1</span>", "Discord Updater": " ", "• Discord \\| (.*) \\| (.*)": " <span style=\"italic\">$1</span>: $2", "(.*) - Sublime Text \\(UNREGISTERED\\)": " <span style=\"italic\">$1</span>", "(.*) - Sublime Text": " $1", " \\*Minibuf-1\\* — Doom Emacs": " ", " \\*Minibuf-1\\* – Doom Emacs": " ", " \\*Minibuf-2\\* — Doom Emacs": " ", " \\*Minibuf-2\\* – Doom Emacs": " ", "Nicotine\\+": "", "Volume Control": " ", "Helvum - Pipewire Patchbay": " ", }, "max-length": 86, "all-outputs": true },
Idle Inhibit
"idle_inhibitor": { "format": "{icon}", "format-icons": { "activated": " ", "deactivated": " " }, "timeout": 60, "tooltip": false },
Network
"network": { "interface": "enp0s31f6", "interval": 1, "format-wifi": " {bandwidthDownBytes} {bandwidthUpBytes} ", "format-ethernet": " {bandwidthDownBytes} {bandwidthUpBytes} ", "format-alt": " {ipaddr} {netmask}", "format-disconnected": "", "tooltip": true, "tooltip-format-ethernet": "{ifname} {gwaddr}", "tooltip-format-wifi": "{ifname} {essid} ({signalStrength}%)", },
Wireplumber
"wireplumber": { "format": "{icon} <span style=\"italic\">{volume}%</span>", "format-muted": " {volume}%", "tooltip": true, "tooltip-format": "{node_name}", "format-icons": ["", "", ""], "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-click-right": "helvum" },
Bluetooth
"bluetooth": { "format-on": " {controller_alias}", "format-disabled": "", "format-off": "", "format-connected": " {device_alias}", "format-connected-battery": " {icon} {device_alias}", "tooltip-format-on": "{controller_address} {controller_address_type}", "tooltip-format-off": "{controller_address} {controller_address_type}", "tooltip-format-connected": "{device_address} {controller_alias}", "tooltip-format-connected-battery": "{device_battery_percentage}% {device_address} {controller_alias}", "format-icons": ["", "", "", "", ""] },
Privacy
"privacy": { "icon-spacing": 8, "icon-size": 24, "transition-duration": 350, "modules": [ { "type": "screenshare", "tooltip": true, "tooltip-icon-size": 28 }, { "type": "audio-out", "tooltip": true, "tooltip-icon-size": 28 }, { "type": "audio-in", "tooltip": true, "tooltip-icon-size": 28 } ] },
Temperature
"temperature": { "thermal-zone": 1, "hwmon-path": ["/sys/class/hwmon/hwmon2/temp1_input", "/sys/class/thermal/thermal_zone0/temp"], "format": " {temperatureF}°F", "format-alt": " {temperatureC}°C" },
Disk
"disk": { "path": "/", "interval": 1, "format": " <span style=\"italic\">{free}</span>", "format-alt": " {used}", "tooltip": true, "tooltip-format": "{percentageUsed}% of {total}" },
Keyboard State
"keyboard-state": { "numlock": true, "capslock": true, "format": { "numlock": " {icon}", "capslock": " {icon}" }, "format-icons": { "locked": " ", "unlocked": " " } },
Tray
"tray": { "icon-size": 32, "spacing": 1, "show-passive-items": true }
Sway TV Bar
Appearance
}, { "position": "bottom", "output": "DP-1", "height": 42, "reload_style_on_change": true, "mode": "dock", "modules-left": ["sway/workspaces"], "modules-right": ["custom/weather", "disk", "cpu", "memory", "bluetooth", "custom/clock"], "sway/workspaces": { "disable-scroll": false, "disable-scroll-wraparound": true, "enable-bar-scroll": true, "all-outputs": false, "format": "{icon}", "format-icons": { "1": "", "2": "爵", "3": "", "4": "", "5": "", "6": "", "7": "", "8": "", "9": "", "urgent": "", "default": "" } },
Weather
"custom/weather": { "exec": "ansiweather -a false -l Arvada -u imperial -H true -h false -p false -i false -s true", "interval": 4, "format": "{}" },
Bluetooth
"bluetooth": { "format-on": " {controller_alias}", "format-disabled": "", "format-off": "", "format-connected": " {device_alias}", "format-connected-battery": " {icon} {device_alias}", "tooltip-format-on": "{controller_address} {controller_address_type}", "tooltip-format-off": "{controller_address} {controller_address_type}", "tooltip-format-connected": "{device_address} {controller_alias}", "tooltip-format-connected-battery": "{device_battery_percentage}% {device_address} {controller_alias}", "format-icons": ["", "", "", "", ""] },
Memory
"memory": { "format": " {}%", "format-alt": " {used:0.1f} GB {swapUsed:0.1f} GB", "tooltip-format": " {used:0.2f} GB {swapUsed:0.2f} GB" },
Disk
"disk": { "path": "/mnt/drive/", "interval": 1, "format": " <span style=\"italic\">{free}</span>", "format-alt": " {used}", "tooltip": true, "tooltip-format": "{path} ({percentage_used}% of {total})" },
CPU
"cpu": { "format": " {usage}%", "format-alt": " {avg_frequency} GHz {max_frequency} GHz", },
Clock
"custom/clock": { "exec": "date +'%I:%M:%S %a, %b %d'", "interval": 1, "format": " {}", "align": 1, "tooltip": false } }]
River Laptop Bar
This is the first and primary bar for the River compositor. It appears on my laptop’s screen (eDP-1
). Notice how the modules-left
are different for each of the three output files.
Appearance
[{ "position": "bottom", "height": 38, "spacing": 0, "output": "eDP-1", "modules-left": ["river/tags"], "modules-right": ["mpd", "pulseaudio", "cpu", "memory", "battery", "backlight", "custom/clock"], "river/tags": { "num-tags": 6, "tag-labels": ["", "爵", "", "", "", ""] },
MPD
"mpd": { "server": "127.0.0.2", "format": "{consumeIcon}{singleIcon}{artist} - {title} {stateIcon}", "format-disconnected": " ", "format-stopped": "{consumeIcon}{singleIcon} ", "title-len": 34, "unknown-tag": "N/A", "interval": 1, "consume-icons": { "on": " " }, "random-icons": { "off": "<span color=\"#f53c3c\"></span> ", "on": " " }, "repeat-icons": { "on": " " }, "single-icons": { "on": "1 " }, "state-icons": { "playing": " ", "paused": " " }, "tooltip-format": "{artist} - {album} ({date})", },
Clock
"custom/clock": { "exec": "date +'%I:%M:%S %a, %b %d'", "interval": 1, "format": " {}", "align": 1, "tooltip": false },
CPU
"cpu": { "format": " {usage}%", "format-alt": " {avg_frequency} GHz {max_frequency} GHz", },
Memory
"memory": { "format": " {}%", "format-alt": " {used:0.1f} GB {swapUsed:0.1f} GB", "tooltip-format": "RAM: {used:0.2f} GB, Swap: {swapUsed:0.2f} GB" },
Battery
"battery": { "states": { "good": 94, "warning": 30, "critical": 15 }, "format": "{icon} <span style=\"italic\">{capacity}%</span>", "format-charging": " <span style=\"italic\">{capacity}%</span>", "format-plugged": " {capacity}%", "format-alt": "{icon} {time}", "format-icons": ["", "", "", "", ""], "tooltip-format": "{time}" },
Backlight
"backlight": { "device": "intel_backlight", "tooltip": false, "format": "{icon} {percent}%", "format-icons": ["", "", "", "", "", "", "", "", ""], "on-click": "light -S 20 && light -G | cut -d '.' -f1 > /home/babkock/.wob.sock", "on-scroll-up": "light -A 1 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock", "on-scroll-down": "light -U 1 && light -G | cut -d '.' -f1 > /home/babkock/.wob.sock" },
Pulseaudio
"pulseaudio": { "format": "{icon} <span style=\"italic\">{volume}%</span>", "format-bluetooth": "{icon} {volume}% {format_source}", "format-bluetooth-muted": " {icon} {format_source}", "format-muted": " {format_source}", "format-source": " {volume}%", "format-source-muted": "", "tooltip": false, "format-icons": { "headphone": "", "hands-free": "", "headset": "", "phone": "", "portable": "", "car": "", "default": ["", "", ""] }, "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock" }
River Monitor Bar
This is the second status bar that River uses. It appears on my monitor (HDMI-A-2
).
Appearance
}, { "position": "bottom", "height": 40, "spacing": 0, "output": "HDMI-A-2", "modules-left": ["river/tags", "river/window"], "modules-right": ["disk", "network", "battery", "backlight", "custom/clock"], "river/tags": { "num-tags": 4, "tag-labels": ["", "爵", "", ""] },
Window
"river/window": { "max-length": 67, "format": " <span style=\"italic\">{}</span>" },
Battery
"battery": { "states": { "good": 94, "warning": 30, "critical": 15 }, "format": "{icon} <span style=\"italic\">{capacity}%</span>", "format-charging": " <span style=\"italic\">{capacity}%</span>", "format-plugged": " {capacity}%", "format-alt": "{icon} {time}", "tooltip-format": "{time}", "format-icons": ["", "", "", "", ""] },
Network
"network": { "interface": "wlp0s20f3", "interval": 1, "format-wifi": " {bandwidthDownBits} {bandwidthUpBits} ", "format-ethernet": " {bandwidthDownBits} {bandwidthUpBits} ", "format-alt": " {ipaddr}", "format-disconnected": "", "tooltip-format": "{essid} ({signalStrength}%)", },
Backlight
"backlight": { "device": "intel_backlight", "tooltip": false, "format": "{icon} {percent}%", "format-icons": ["", "", "", "", "", "", "", "", ""], "on-click": "light -S 20 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock", "on-scroll-up": "light -A 1 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock", "on-scroll-down": "light -U 1 && light -G | cut -d '.' -f1 > /home/babkock/.wob.sock" },
Disk
"disk": { "path": "/", "interval": 2, "format": " <span style=\"italic\">{free}</span>", "format-alt": " {used}", "tooltip-format": "{percentageUsed}% of {total}" },
Clock
"custom/clock": { "exec": "date +'%I:%M:%S %a, %b %d'", "interval": 1, "format": " {}", "align": 1, "tooltip": false } }]
Wayfire Laptop Bar
This is the first and primary status bar that LabWC uses, for my laptop’s screen (eDP-1
). Notice how LabWC does not use workspaces or tags like Sway and River, but it instead has a Taskbar module. The Taskbar elements are buttons, and they are styled like the workspace buttons.
Appearance
[{ "position": "bottom", "height": 40, "spacing": 0, "output": "eDP-1", "reload_style_on_change": true, "mode": "dock", "modules-left": ["wlr/taskbar"], "modules-right": ["mpd", "pulseaudio", "cpu", "memory", "battery", "disk", "backlight", "custom/clock"], "wlr/taskbar": { "format": "{short_state}{icon}", "on-click": "minimize-raise", "on-click-right": "close", "on-click-middle": "maximize", "tooltip-format": "{app_id} {title}", "icon-size": 32, "ignore-list": [ "Alacritty" ] },
MPD
"mpd": { "server": "127.0.0.2", "format": "{consumeIcon}{artist} - {title} {singleIcon}{randomIcon}{repeatIcon}{stateIcon}", "format-disconnected": " ", "format-stopped": "{consumeIcon}{singleIcon}{randomIcon}{repeatIcon}{stateIcon} ", "title-len": 40, "unknown-tag": "N/A", "interval": 1, "consume-icons": { "on": " " }, "random-icons": { "off": "", "on": " " }, "repeat-icons": { "on": " " }, "single-icons": { "on": "1 " }, "state-icons": { "playing": " ", "paused": " " }, "tooltip-format": "{artist} - {album} ({date})", "on-click": "mpc --host=127.0.0.2 toggle > /dev/null", "on-click-right": "mpc --host=127.0.0.2 next > /dev/null", "on-click-middle": "mpc --host=127.0.0.2 prev > /dev/null", },
Clock
"custom/clock": { "exec": "date +'%I:%M:%S %a, %b %d'", "interval": 1, "format": " {}", "align": 1, "tooltip": false },
CPU
"cpu": { "format": " {usage}%", "format-alt": " {avg_frequency} GHz {max_frequency} GHz", },
Battery
"battery": { "states": { "good": 99, "warning": 50, "critical": 20 }, "full-at": 94, "format": "{icon} <span style=\"italic\">{capacity}%</span>", "format-charging": " <span style=\"italic\">{capacity}%</span>", "format-plugged": " {capacity}%", "format-alt": "{icon} {time}", "format-time": "{H}:{m}", "format-icons": ["", "", "", "", "", ""], "tooltip": true, "tooltip-format": " {time} {power} watts" },
Memory
"memory": { "format": " {}%", "format-alt": " {used:0.1f} GB {swapUsed:0.1f} GB", "tooltip-format": " {used:0.2f} GB {swapUsed:0.2f} GB" },
Backlight
"backlight": { "device": "intel_backlight", "tooltip": false, "format": "{icon} {percent}%", "format-icons": ["", "", "", "", "", "", "", "", ""], "on-click-right": "pkill -x gammastep; gammastep -O 4500K", "on-click-middle": "pkill -x gammastep", "on-click": "light -S 20 && light -G && echo 20 > .wob.sock", "on-scroll-up": "light -A 1 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock", "on-scroll-down": "light -U 1 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock", },
Disk
"disk": { "path": "/mnt/mega/", "interval": 1, "format": " <span style=\"italic\">{free}</span>", "format-alt": " {used}", "tooltip": true, "tooltip-format": "{path} ({percentage_used}% of {total})" },
Pulseaudio
"pulseaudio": { "format": "{icon} <span style=\"italic\">{volume}%</span> {format_source}", "format-bluetooth": "{icon} <span style=\"italic\">{volume}%</span>", "format-bluetooth-muted": " {volume}%", "format-muted": " {volume}%", "format-source": " {volume}%", "format-source-muted": "", "tooltip": false, "format-icons": { "headphone": "", "hands-free": "", "headset": "", "phone": "", "portable": "", "car": "", "default": ["", "", ""] }, "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-click-right": "pavucontrol" },
Image
"image#album-art": { "path": "/tmp/mpd_cover.jpg", "size": 40, "interval": 1 }
Wayfire Monitor Bar
And finally, the sixth status bar, this is the second status bar that LabWC uses when my monitor (HDMI-A-2
) is connected.
Appearance
}, { "position": "bottom", "height": 41, "spacing": 0, "output": "HDMI-A-2", "reload_style_on_change": true, "mode": "dock", "modules-left": ["wlr/taskbar"], "modules-right": ["disk", "network", "idle_inhibitor", "wireplumber", "temperature", "tray"], "wlr/taskbar": { "format": "{icon}{title}", "icon-size": 32, "tooltip-format": "{app_id}", "on-click": "minimize-raise", "on-click-right": "close", "on-click-middle": "maximize", "markup": true, "all-outputs": false, "ignore-list": [ "Alacritty" ], "rewrite": { "foot": " ", " Alacritty": " ", "st": " ", "Steam": " ", "Sign in to Steam": " ", "Shutdown": " ", "ncmpcpp (.*)": " <span style=\"italic\">$1</span>", "zncmpcpp (.*) - (.*)": " $1 - <span style=\"italic\">$2</span>", "ranger:(.*)": " $1", "Mozilla Thunderbird": " ", "Mozilla Firefox": " ", "YouTube": " ", "GitHub": " ", "Explore GitHub": " ", "GitHub Dashboard": " ", "(.*) - Void Linux Handbook": " <span style=\"italic\">$1</span>", "(.*) - Void Linux Handbook — Mozilla Firefox": " <span style=\"italic\">$1</span>", "Tumblr": " ", "(.*) Tumblr": " <span style=\"italic\">$1</span>", "(.*) - Gmail": " <span style=\"italic\">$1</span>", "(.*) \\| Proton Mail": " <span style=\"italic\">$1</span>", "(.*) on Tumblr": " <span style=\"italic\">$1</span>", "(.*) - (.*) - Stack Overflow": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Stack Overflow — Mozilla Firefox": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Ask Ubuntu": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Ask Ubuntu — Mozilla Firefox": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Unix & Linux Stack Exchange": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Unix & Linux Stack Exchange — Mozilla Firefox": " <span style=\"italic\">$2</span>", "(.*) Tumblr — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) on Tumblr — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) \\| Last.fm": " <span style=\"italic\">$1</span>", "(.*) \\| Last.fm — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) · GitLab": " <span style=\"italic\">$1</span>", "(.*) - ArchWiki": " <span style=\"italic\">$1</span>", "(.*) - ArchWiki — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Wikipedia — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) :: PassThePopcorn — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) :: Empornium — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) :: PassThePopcorn": " <span style=\"italic\">$1</span>", "(.*) :: Empornium": " <span style=\"italic\">$1</span>", "(.*) :: Orpheus": " <span style=\"italic\">$1</span>", "(.*) :: Orpheus — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - IPTorrents - \\#1 Private Tracker": " <span style=\"italic\">$1</span>", "(.*) - IPTorrents - \\#1 Private Tracker — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) • Letterboxd": " <span style=\"italic\">$1</span>", "Letterboxd • Social film discovery.": " ", "(.*) - Rate Your Music": " <span style=\"italic\">$1</span>", "(.*) - Rate Your Music — Mozilla Firefox": " <span style=\"italic\">$1</span>", "Hacker News": " ", "(.*) \\| Hacker News": " <span style=\"italic\">$1</span>", "(.*) - Invidious — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - YouTube — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Invidious": " <span style=\"italic\">$1</span>", "(.*) - YouTube": " <span style=\"italic\">$1</span>", "(.*) - 4chan": " <span style=\"italic\">$1</span>", "(.*) - 4chan — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - (.*) - 4chan": " <span style=\"italic\">$1</span>", "(.*) - (.*) - 4chan — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Gmail — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) at DuckDuckGo": " <span style=\"italic\">$1</span>", "(.*) - Google Search": " <span style=\"italic\">$1</span>", "(.*) - Google Search — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) \\| Proton Mail — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) \\| Hacker News — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) at DuckDuckGo — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) · GitLab — Mozilla Firefox": " <span style=\"italic\">$1</span>", "• Discord \\| (.*) \\| (.*) — (.*)": "<span style=\"italic\">$1</span>: $2", "(.*) — Mozilla Firefox": "<span style=\"italic\">$1</span>", "(.*) — Mozilla Thunderbird": " <span style=\"italic\">$1</span>", "(.*) - Mozilla Thunderbird": " <span style=\"italic\">$1</span>", "GNU Emacs at thing": " ", "(.*) – Doom Emacs": "<span style=\"italic\">$1</span>", "(.*) — Doom Emacs": "<span style=\"italic\">$1</span>", "(.*) - Chromium": " <span style=\"italic\">$1</span>", "swayimg: (.*)": " <span style=\"italic\">$1</span>", "feh \\[1 of 1\\] - (.*)": " <span style=\"italic\">$1</span>", "feh \\[1 of 2\\] - (.*)": " <span style=\"italic\">$1</span>", "feh \\[2 of 2\\] - (.*)": " <span style=\"italic\">$1</span>", "(.*) - mpv": "<span style=\"italic\">$1</span>", "(.*) - VLC Media Player": "<span style=\"italic\">$1</span>", "VLC media player": " ", "File Upload": " ", "(.*) - Discord": "<span style=\"italic\">$1</span>", "Discord Updater": " ", "• Discord \\| (.*) \\| (.*)": "<span style=\"italic\">$1</span>: $2", "(.*) - Sublime Text \\(UNREGISTERED\\)": " <span style=\"italic\">$1</span>", "(.*) - Sublime Text": " $1", " \\*Minibuf-1\\* — Doom Emacs": " ", " \\*Minibuf-1\\* – Doom Emacs": " ", " \\*Minibuf-2\\* — Doom Emacs": " ", " \\*Minibuf-2\\* – Doom Emacs": " ", "Nicotine\\+": "" } },
Disk
"disk": { "path": "/", "interval": 1, "format": " <span style=\"italic\">{free}</span>", "format-alt": " {used}", "tooltip": true, "tooltip-format": "{path} ({percentage_used}% of {total})" },
Network
"network": { "interface": "enp0s31f6", "interval": 1, "format-wifi": " {bandwidthDownBytes} {bandwidthUpBytes} ", "format-ethernet": " {bandwidthDownBytes} {bandwidthUpBytes} ", "format-alt": " {ipaddr} {netmask}", "format-disconnected": "", "tooltip": true, "tooltip-format-ethernet": "{ifname} {gwaddr}", "tooltip-format-wifi": "{ifname} {essid} ({signalStrength}%)", },
Idle Inhibit
"idle_inhibitor": { "format": "{icon}", "format-icons": { "activated": " ", "deactivated": " " }, "timeout": 60, "tooltip": false },
Wireplumber
"wireplumber": { "format": "{icon} <span style=\"italic\">{volume}%</span>", "format-muted": " {volume}%", "tooltip": true, "tooltip-format": "{node_name}", "format-icons": ["", "", ""], "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-click-right": "helvum" },
Bluetooth
"bluetooth": { "format-on": " {controller_alias}", "format-disabled": "", "format-off": "", "format-connected": " {device_alias}", "format-connected-battery": " {icon} {device_alias}", "tooltip-format-on": "{controller_address} {controller_address_type}", "tooltip-format-off": "{controller_address} {controller_address_type}", "tooltip-format-connected": "{device_address} {controller_alias}", "tooltip-format-connected-battery": "{device_battery_percentage}% {device_address} {controller_alias}", "format-icons": ["", "", "", "", ""] },
Temperature
"temperature": { "thermal-zone": 1, "hwmon-path": ["/sys/class/hwmon/hwmon2/temp1_input", "/sys/class/thermal/thermal_zone0/temp"], "format": " {temperatureF}°F", "format-alt": " {temperatureC}°C" },
Keyboard State
"keyboard-state": { "numlock": true, "capslock": true, "format": { "numlock": " {icon}", "capslock": " {icon}" }, "format-icons": { "locked": " ", "unlocked": " " } },
Tray
"tray": { "icon-size": 32, "spacing": 1, "show-passive-items": true }
Wayfire TV Bar
Appearance
}, { "position": "bottom", "output": "DP-1", "height": 41, "reload_style_on_change": true, "mode": "dock", "modules-left": ["wlr/taskbar"], "modules-right": ["custom/weather", "disk", "privacy", "cpu", "memory", "bluetooth", "custom/clock"], "wlr/taskbar": { "format": "{short_state}{icon}", "on-click": "minimize-raise", "on-click-right": "close", "on-click-middle": "maximize", "tooltip-format": "{title}", "icon-size": 32, "ignore-list": [ "Alacritty" ], },
Weather
"custom/weather": { "exec": "ansiweather -a false -l Arvada -u imperial -H true -h false -p false -i false -s true", "interval": 4, "format": "{}" },
Bluetooth
"bluetooth": { "format-on": " {controller_alias}", "format-disabled": "", "format-off": "", "format-connected": " {device_alias}", "format-connected-battery": " {icon} {device_alias}", "tooltip-format-on": "{controller_address} {controller_address_type}", "tooltip-format-off": "{controller_address} {controller_address_type}", "tooltip-format-connected": "{device_address} {controller_alias}", "tooltip-format-connected-battery": "{device_battery_percentage}% {device_address} {controller_alias}", "format-icons": ["", "", "", "", ""] },
Memory
"memory": { "format": " {}%", "format-alt": " {used:0.1f} GB {swapUsed:0.1f} GB", "tooltip-format": " {used:0.2f} GB {swapUsed:0.2f} GB" },
Disk
"disk": { "path": "/mnt/drive/", "interval": 1, "format": " <span style=\"italic\">{free}</span>", "format-alt": " {used}", "tooltip": true, "tooltip-format": "{path} ({percentage_used}% of {total})" },
Privacy
"privacy": { "icon-spacing": 8, "icon-size": 24, "transition-duration": 350, "modules": [ { "type": "screenshare", "tooltip": true, "tooltip-icon-size": 28 }, { "type": "audio-out", "tooltip": true, "tooltip-icon-size": 28 }, { "type": "audio-in", "tooltip": true, "tooltip-icon-size": 28 } ] },
CPU
"cpu": { "format": " {usage}%", "format-alt": " {avg_frequency} GHz {max_frequency} GHz", },
Clock
"custom/clock": { "exec": "date +'%I:%M:%S %a, %b %d'", "interval": 1, "format": " {}", "align": 1, "tooltip": false } }]
Hyprland Laptop Bar
Appearance
[{ "position": "bottom", "layer": "top", "height": 40, "spacing": 0, "output": "eDP-1", "modules-left": ["wlr/workspaces"], "modules-right": ["mpd", "pulseaudio", "cpu", "memory", "battery", "backlight", "disk", "custom/clock"], "wlr/workspaces": { "all-outputs": false, "disable-scroll": false, "format": "{icon}", "format-icons": { "1": "", "2": "爵", "3": "", "4": "", "5": "", "6": "", "7": "", "8": "", "9": "", "urgent": "", "focused": "", "default": "" }, "on-click": "activate", "on-scroll-up": "hyprctl dispatch workspace m+1 > /dev/null", "on-scroll-down": "hyprctl dispatch workspace m-1 > /dev/null" },
Disk (External HD)
"disk": { "path": "/mnt/mega/", "interval": 1, "format": " <span style=\"italic\">{free}</span>", "format-alt": " {used}", "tooltip": true, "tooltip-format": "{path} ({percentage_used}% of {total})" },
MPD
"mpd": { "server": "127.0.0.2", "format": "{consumeIcon}{artist} - <span style=\"italic\">{title}</span> {singleIcon}{randomIcon}{repeatIcon}{stateIcon}", "format-disconnected": " ", "format-stopped": "{consumeIcon}{singleIcon}{randomIcon}{repeatIcon} ", "title-len": 41, "unknown-tag": "N/A", "interval": 1, "on-click": "mpc --host=127.0.0.2 toggle > /dev/null", "on-click-right": "mpc --host=127.0.0.2 next > /dev/null", "on-click-middle": "mpc --host=127.0.0.2 prev > /dev/null", "consume-icons": { "on": " " }, "random-icons": { "off": " ", "on": " " }, "repeat-icons": { "on": " " }, "single-icons": { "on": "1 " }, "state-icons": { "playing": " ", "paused": " " }, "tooltip-format": "{artist} - {album} ({date})", },
Clock
"custom/clock": { "exec": "date +'%I:%M:%S %a, %b %d'", "interval": 1, "format": " {}", "align": 1, "tooltip": false },
CPU
"cpu": { "format": " {usage}%", "format-alt": " {avg_frequency} GHz {max_frequency} GHz", },
Memory
"memory": { "format": " {}%", "format-alt": " {used:0.1f} GB {swapUsed:0.1f} GB", "tooltip-format": " {used:0.2f} GB {swapUsed:0.2f} GB" },
Battery
"battery": { "states": { "good": 99, "warning": 50, "critical": 20 }, "full-at": 94, "format": "{icon} <span style=\"italic\">{capacity}%</span>", "format-charging": " <span style=\"italic\">{capacity}%</span>", "format-plugged": " {capacity}%", "format-alt": "{icon} {time}", "format-time": "{H}:{m}", "format-icons": ["", "", "", "", "", ""], "tooltip": true, "tooltip-format": " {time} {power} watts" },
Backlight
"backlight": { "device": "intel_backlight", "tooltip": false, "format": "{icon} {percent}%", "format-icons": ["", "", "", "", "", "", "", "", ""], "on-click": "light -S 20 && light -G | cut -d '.' -f1 > /home/babkock/.wob.sock ; pkill -x sh", "on-click-right": "pkill -x gammastep; gammastep -O 4500K", "on-click-middle": "pkill -x gammastep", "on-scroll-up": "light -A 1 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock ; pkill -x sh", "on-scroll-down": "light -U 1 && light -G | cut -d '.' -f1 > /home/babkock/.wob.sock ; pkill -x sh" },
Pulseaudio
"pulseaudio": { "format": "{icon} <span style=\"italic\">{volume}%</span>", "format-bluetooth": "{icon} <span style=\"italic\">{volume}%</span>", "format-bluetooth-muted": " {volume}%", "format-muted": " {volume}%", "format-source": " {volume}%", "format-source-muted": "", "tooltip": true, "tooltip-format": "{desc}", "format-icons": { "headphone": "", "hands-free": "", "headset": "", "phone": "", "portable": "", "car": "", "default": ["", "", ""] }, "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-click-right": "pavucontrol" },
Image
"image#album-art": { "path": "/tmp/mpd_cover.jpg", "size": 40, "interval": 1 }
Hyprland Monitor Bar
Appearance
}, { "position": "bottom", "layer": "top", "height": 42, "spacing": 0, "output": "HDMI-A-2", "modules-left": ["wlr/workspaces", "hyprland/window"], "modules-right": ["disk", "network", "idle_inhibitor", "wireplumber", "bluetooth", "temperature", "keyboard-state", "tray"], "wlr/workspaces": { "disable-scroll": false, "all-outputs": false, "format": "{icon}", "format-icons": { "1": "", "2": "爵", "3": "", "4": "", "5": "", "6": "", "7": "", "8": "", "9": "", "urgent": "", "focused": "", "default": "" }, "on-click": "activate", "on-scroll-up": "hyprctl dispatch workspace m+1 > /dev/null", "on-scroll-down": "hyprctl dispatch workspace m-1 > /dev/null" },
Window
"hyprland/window": { "format": "{title}", "separate-outputs": false, "tooltip": false, "rewrite": { "foot": " ", "Alacritty": " ", "st": " ", "Steam": " ", "Sign in to Steam": " ", "Shutdown": " ", "cava": "", "ncmpcpp (.*)": " <span style=\"italic\">$1</span>", "zncmpcpp (.*) - (.*)": " $1 - <span style=\"italic\">$2</span>", "ranger:(.*)": " $1", "Mozilla Firefox": " ", "YouTube": " ", "Wikipedia, the free encyclopedia": " ", "(.*) - Wikipedia": " <span style=\"italic\">$1</span>", "GitHub": " ", "Explore GitHub": " ", "GitHub Dashboard": " ", "Tumblr": " ", "(.*) - Void Linux Handbook": " <span style=\"italic\">$1</span>", "(.*) - Void Linux Handbook — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) \\| Last.fm": " <span style=\"italic\">$1</span>", "(.*) \\| Last.fm — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) Tumblr": " <span style=\"italic\">$1</span>", "(.*) Tumblr — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Gmail": " <span style=\"italic\">$1</span>", "(.*) \\| Proton Mail": " <span style=\"italic\">$1</span>", "(.*) - (.*) - Stack Overflow": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Stack Overflow — Mozilla Firefox": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Ask Ubuntu": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Ask Ubuntu — Mozilla Firefox": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Unix & Linux Stack Exchange": " <span style=\"italic\">$2</span>", "(.*) - (.*) - Unix & Linux Stack Exchange — Mozilla Firefox": " <span style=\"italic\">$2</span>", "(.*) on Tumblr": " <span style=\"italic\">$1</span>", "(.*) · GitLab": " <span style=\"italic\">$1</span>", "(.*) - ArchWiki": " <span style=\"italic\">$1</span>", "(.*) - ArchWiki — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Wikipedia — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) :: PassThePopcorn — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) :: Empornium — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) :: PassThePopcorn": " <span style=\"italic\">$1</span>", "(.*) :: Empornium": " <span style=\"italic\">$1</span>", "(.*) :: Orpheus": " <span style=\"italic\">$1</span>", "(.*) :: Orpheus — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - IPTorrents - \\#1 Private Tracker": " <span style=\"italic\">$1</span>", "(.*) - IPTorrents - \\#1 Private Tracker — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) • Letterboxd": " <span style=\"italic\">$1</span>", "Letterboxd • Social film discovery.": " ", "(.*) - Rate Your Music": " <span style=\"italic\">$1</span>", "(.*) - Rate Your Music — Mozilla Firefox": " <span style=\"italic\">$1</span>", "Hacker News": " ", "(.*) \\| Hacker News": " <span style=\"italic\">$1</span>", "(.*) at DuckDuckGo": " <span style=\"italic\">$1</span>", "(.*) - Google Search": " <span style=\"italic\">$1</span>", "(.*) - Google Search — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Invidious — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - YouTube — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Invidious": " <span style=\"italic\">$1</span>", "(.*) - YouTube": " <span style=\"italic\">$1</span>", "(.*) - 4chan": " <span style=\"italic\">$1</span>", "(.*) - (.*) - 4chan": " <span style=\"italic\">$1</span>", "(.*) - (.*) - 4chan — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - 4chan — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) - Gmail — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) \\| Proton Mail — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) \\| Hacker News — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) at DuckDuckGo — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) · GitLab — Mozilla Firefox": " <span style=\"italic\">$1</span>", "(.*) — Mozilla Firefox": " <span style=\"italic\">$1</span>", "GNU Emacs at thing": " ", "(.*) – Doom Emacs": " <span style=\"italic\">$1</span>", "(.*) — Doom Emacs": " <span style=\"italic\">$1</span>", "(.*) - Chromium": " <span style=\"italic\">$1</span>", "swayimg: (.*)": " <span style=\"italic\">$1</span>", "feh \\[1 of 1\\] - (.*)": " <span style=\"italic\">$1</span>", "feh \\[1 of 2\\] - (.*)": " <span style=\"italic\">$1</span>", "feh \\[2 of 2\\] - (.*)": " <span style=\"italic\">$1</span>", "(.*) - mpv": " <span style=\"italic\">$1</span>", "(.*) - VLC Media Player": " <span style=\"italic\">$1</span>", "(.*) - Discord": " <span style=\"italic\">$1</span>", "Discord Updater": " ", "(.*) - Sublime Text \\(UNREGISTERED\\)": " <span style=\"italic\">$1</span>", "(.*) - Sublime Text": " $1", " \\*Minibuf-1\\* — Doom Emacs": " ", " \\*Minibuf-1\\* – Doom Emacs": " ", " \\*Minibuf-2\\* — Doom Emacs": " ", " \\*Minibuf-2\\* – Doom Emacs": " ", "Nicotine\\+": "" }, "max-length": 64 },
Disk (Internal SSD)
"disk": { "path": "/", "interval": 1, "format": " <span style=\"italic\">{free}</span>", "format-alt": " {used}", "tooltip": true, "tooltip-format": "{path} ({percentage_used}% of {total})" },
Wireplumber
"wireplumber": { "format": "{icon} <span style=\"italic\">{volume}%</span>", "format-muted": " {volume}%", "tooltip": true, "tooltip-format": "{node_name}", "format-icons": ["", "", ""], "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -2% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > /home/babkock/.wob.sock", "on-click-right": "helvum" },
Bluetooth
"bluetooth": { "format-on": " {controller_alias}", "format-disabled": "", "format-off": "", "format-connected": " {device_alias}", "format-connected-battery": " {icon} {device_alias}", "tooltip-format-on": "{controller_address} {controller_address_type}", "tooltip-format-off": "{controller_address} {controller_address_type}", "tooltip-format-connected": "{device_address} {controller_alias}", "tooltip-format-connected-battery": "{device_battery_percentage}% {device_address} {controller_alias}", "format-icons": ["", "", "", "", ""] },
Idle Inhibit
"idle_inhibitor": { "format": "{icon}", "format-icons": { "activated": " ", "deactivated": " " }, "timeout": 60, "tooltip": false },
Network
"network": { "interface": "enp0s31f6", "interval": 1, "format-wifi": " {bandwidthDownBytes} {bandwidthUpBytes} ", "format-ethernet": " {bandwidthDownBytes} {bandwidthUpBytes} ", "format-alt": " {ipaddr} {netmask}", "format-disconnected": "", "tooltip": true, "tooltip-format-ethernet": "{ifname} {gwaddr}", "tooltip-format-wifi": "{ifname} {essid} ({signalStrength}%)", },
Keyboard State
"keyboard-state": { "numlock": true, "capslock": true, "format": { "numlock": " {icon}", "capslock": " {icon}" }, "format-icons": { "locked": " ", "unlocked": " " } },
Tray
"tray": { "icon-size": 32, "spacing": 1, "show-passive-items": true }
Hyprland TV Bar
Appearance
}, { "position": "bottom", "layer": "top", "output": "DP-1", "height": 43, "spacing": 0, "modules-left": ["wlr/workspaces"], "modules-right": ["custom/weather", "disk", "bluetooth", "cpu", "memory", "custom/clock"], "wlr/workspaces": { "disable-scroll": false, "all-outputs": false, "format": "{icon}", "format-icons": { "1": "", "2": "爵", "3": "", "4": "", "5": "", "6": "", "7": "", "8": "", "9": "", "urgent": "", "focused": "", "default": "" }, "on-click": "activate", "on-scroll-up": "hyprctl dispatch workspace e+1", "on-scroll-down": "hyprctl dispatch workspace e-1" },
Weather
"custom/weather": { "exec": "ansiweather -a false -l Arvada -u imperial -H true -h false -p false -i false -s true", "interval": 4, "format": "{}" },
Bluetooth
"bluetooth": { "format-on": " {controller_alias}", "format-disabled": "", "format-off": "", "format-connected": " {device_alias}", "format-connected-battery": " {icon} {device_alias}", "tooltip-format-on": "{controller_address} {controller_address_type}", "tooltip-format-off": "{controller_address} {controller_address_type}", "tooltip-format-connected": "{device_address} {controller_alias}", "tooltip-format-connected-battery": "{device_battery_percentage}% {device_address} {controller_alias}", "format-icons": ["", "", "", "", ""] },
Memory
"memory": { "format": " {}%", "format-alt": " {used:0.1f} GB {swapUsed:0.1f} GB", "tooltip-format": "RAM: {used:0.2f} GB, Swap: {swapUsed:0.2f} GB" },
Disk
"disk": { "path": "/mnt/drive/", "interval": 1, "format": " <span style=\"italic\">{free}</span>", "format-alt": " {used}", "tooltip": true, "tooltip-format": "{path} ({percentage_used}% of {total})" },
CPU
"cpu": { "format": " {usage}%", "format-alt": " {avg_frequency} GHz {max_frequency} GHz", },
Clock
"custom/clock": { "exec": "date +'%I:%M:%S %a, %b %d'", "interval": 1, "format": " {}", "align": 1, "tooltip": false } }]