Skip to content

Latest commit

 

History

History
2222 lines (1996 loc) · 75.5 KB

README.org

File metadata and controls

2222 lines (1996 loc) · 75.5 KB

Waybar

This Org documents contains my Waybar configurations for four different Wayland compositors: Sway, River, Wayfire, and Hyprland. I use three monitors, side-by-side. The leftmost one being my laptop’s display, the middle one is a Lenovo HDMI monitor, and the right one is an HP monitor. Each configuration file has three separate status bars, for each of the three outputs. The appearances of these bars may change slightly, depending on the GTK+/Libadwaita theme in use, and the associated CSS files.

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 four separate files: config.json for Sway, rconfig.json for River, wconfig.json for Wayfire, and hconfig.json for Hyprland. Please see the document style.org for the associated CSS files: style.css, river.css, wayfire.css, and hyprland.css respectively.

Thanks for checking out my Waybar literate configuration. Please, if you appreciate my work, consider making a donation.

Table of Contents

Sway Laptop Bar

Some of the Waybar JSON objects have stray modules that are not included in the ”modules” fields of the bars. This is because I don’t always like to use every single one of the modules, if I don’t have to. The modules and their orders are always subject to change.

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": 43,
    "spacing": 0,
    "output": "HDMI-A-2",
    "reload_style_on_change": true,
    "mode": "dock",
    "modules-left": ["sway/workspaces", "sway/scratchpad", "sway/window"],
    "modules-right": ["disk", "privacy", "network", "idle_inhibitor", "wireplumber", "temperature", "cava", "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": ""
        }
    },

Scratchpad

"sway/scratchpad": {
    "format": "{icon} {count}",
    "show-empty": false,
    "format-icons": ["", "", ""],
    "tooltip": true,
    "tooltip-format": "{title}"
},

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": "",
        "(.*) at master · (.*)": " <b>$1</b> <span style=\"italic\">$2</span>",
        "(.*) at main · (.*)": " <b>$1</b> <span style=\"italic\">$2</span>",
        "Release (.*) · (.*)": " <b>$1</b> <span style=\"italic\">$2</span>",
        "(.*) - 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>",
        "(.*) \\| Ubuntu": " <span style=\"italic\">$1</span>",
        "(.*) \\| Ubuntu — Mozilla Firefox": " <span style=\"italic\">$1</span>",
        "(.*) - (.*) - Unix &amp; Linux Stack Exchange": " <span style=\"italic\">$2</span>",
        "(.*) - (.*) - Unix &amp; 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.": "󰇙 ",
        "(.*) • Letterboxd — Mozilla Firefox": "󰇙 <span style=\"italic\">$1</span>",
        "Letterboxd • Social film discovery. — Mozilla Firefox": "󰇙 ",
        "(.*) - 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":  "",
        "(.*) \\| Stash — Mozilla Firefox": " <span style=\"italic\">$1</span>",
        "Stash — Mozilla Firefox":  "",
        "(.*) – Hyprland Wiki": " <span style=\"italic\">$1</span>",
        "(.*) – Hyprland Wiki — Mozilla Firefox": " <span style=\"italic\">$1</span>",
        "Hyprland Wiki": "",
        "Hyprland": "",
        "(.*) - 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": ""
    }
},

Cava

"cava": {
    "framerate": 40,
    "autosens": 1,
    "bars": 6,
    "bar_delimiter": 32,
    "input_delay": 2,
    "method": "fifo",
    "source": "/tmp/mpd.fifo",
    "sample_bits": 16,
    "sample_rate": 44100,
    "stereo": true,
    "reverse": false,
    "waves": false,
    "monstercat": false,
    "hide_on_silence": true,
    "format-icons": [" ", "", "", "", "", "", "", "", ""]
},

Tray

"tray": {
    "icon-size": 33,
    "spacing": 1,
    "show-passive-items": true
}

Sway TV Bar

Appearance

}, {
    "position": "bottom",
    "output": "DP-1",
    "height": 43,
    "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 &amp; Linux Stack Exchange": " <span style=\"italic\">$2</span>",
            "(.*) - (.*) - Unix &amp; 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": 400,
    "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": 42,
    "spacing": 0,
    "output": "eDP-1",
    "reload_style_on_change": true,
    "modules-left": ["hyprland/workspaces"],
    "modules-right": ["mpd", "pulseaudio", "cpu", "memory", "battery", "backlight", "disk", "custom/clock"],
    "hyprland/workspaces": {
        "all-outputs": false,
        "move-to-monitor": true,
        "disable-scroll": false,
        "format": "{icon}",
        "format-icons": {
            "1": "",
            "2": "",
            "3": "",
            "4": "",
            "5": "󰭹",
            "6": "",
            "7": "",
            "8": "",
            "9": "",
            "urgent": "",
            "focused": "",
            "default": ""
        },
        "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": 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})",
},

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_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": "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": 44,
    "spacing": 0,
    "reload_style_on_change": true,
    "output": "HDMI-A-2",
    "modules-left": ["hyprland/workspaces", "hyprland/window"],
    "modules-right": ["disk", "network", "idle_inhibitor", "privacy", "wireplumber", "cava", "temperature", "tray"],
    "hyprland/workspaces": {
         "disable-scroll": false,
         "all-outputs": false,
         "format": "{icon}",
         "format-icons": {
             "1": "",
             "2": "",
             "3": "",
             "4": "",
             "5": "󰭹",
             "6": "",
             "7": "",
             "8": "",
             "9": "",
             "urgent": "",
             "focused": "",
             "default": ""
        },
        "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": "",
        "\\[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": "",
        "Wikipedia, the free encyclopedia": "󰖬 ",
        "Wikipedia": "󰖬 ",
        "(.*) - Wikipedia": "󰖬 <span style=\"italic\">$1</span>",
        "GitHub": "",
        "Explore GitHub": "",
        "GitHub Dashboard": "",
        "(.*) at master · (.*)": " <b>$1</b> <span style=\"italic\">$2</span>",
        "(.*) at master · (.*) — Mozilla Firefox": " <b>$1</b> <span style=\"italic\">$2</span>",
        "(.*) at main · (.*) — Mozilla Firefox": " <b>$1</b> <span style=\"italic\">$2</span>",
        "(.*) at main · (.*)": " <b>$1</b> <span style=\"italic\">$2</span>",
        "Release (.*) · (.*)": " <b>$1</b> <span style=\"italic\">$2</span>",
        "Release (.*) · (.*) — Mozilla Firefox": " <b>$1</b> <span style=\"italic\">$2</span>",
        "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 &amp; Linux Stack Exchange": " <span style=\"italic\">$2</span>",
        "(.*) - (.*) - Unix &amp; Linux Stack Exchange — Mozilla Firefox": " <span style=\"italic\">$2</span>",
        "(.*) \\| Ubuntu": " <span style=\"italic\">$1</span>",
        "(.*) \\| Ubuntu — Mozilla Firefox": " <span style=\"italic\">$1</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.": "󰇙 ",
        "(.*) • Letterboxd — Mozilla Firefox": "󰇙 <span style=\"italic\">$1</span>",
        "Letterboxd • Social film discovery. — Mozilla Firefox": "󰇙 ",
        "(.*) - 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>",
        "Discord \\| (.*) \\| (.*) — (.*)": "  <span style=\"italic\">$1</span>: $2",
        "• Discord \\| (.*) \\| (.*) — (.*)": "  <span style=\"italic\">$1</span>: $2",
        "(.*) \\| Stash": " <span style=\"italic\">$1</span>",
        "Stash":  "",
        "(.*) \\| Stash — Mozilla Firefox": " <span style=\"italic\">$1</span>",
        "Stash — Mozilla Firefox":  "",
        "(.*) – Hyprland Wiki": " <span style=\"italic\">$1</span>",
        "(.*) – Hyprland Wiki — Mozilla Firefox": " <span style=\"italic\">$1</span>",
        "Hyprland Wiki": "",
        "Hyprland": "",
        "(.*) - 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": "󰕼 ",
        "(.*) - Discord": "  <span style=\"italic\">$1</span>",
        "Discord Updater": "",
        "Discord": "",
        "• 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\\+": "󰒴",
        "\\*Minibuf-1\\* — Doom Emacs": "",
        "\\*Minibuf-1\\* – Doom Emacs":  "",
        "\\*Minibuf-2\\* — Doom Emacs": "",
        "\\*Minibuf-2\\* – Doom Emacs":  "",
        "Nicotine\\+": "󰒴",
        "Volume Control": "",
        "Helvum - Pipewire Patchbay": "",
    },
    "max-length": 67
},

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})"
},

Privacy

"privacy": {
    "icon-spacing": 8,
    "icon-size": 24,
    "transition-duration": 400,
    "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
        }
    ]
},

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"
},

Idle Inhibit

"idle_inhibitor": {
    "format": "{icon}",
    "format-icons": {
        "activated": "",
        "deactivated": ""
    },
    "timeout": 60,
    "tooltip": false
},

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"
},

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}%)",
},

Cava

"cava": {
    "framerate": 40,
    "autosens": 1,
    "bars": 6,
    "bar_delimiter": 32,
    "input_delay": 2,
    "method": "fifo",
    "source": "/tmp/mpd.fifo",
    "sample_bits": 16,
    "sample_rate": 44100,
    "stereo": true,
    "reverse": false,
    "waves": false,
    "monstercat": false,
    "hide_on_silence": true,
    "format-icons": [" ", "", "", "", "", "", "", "", ""]
},

Tray

"tray": {
    "icon-size": 33,
    "spacing": 2,
    "show-passive-items": true
}

Hyprland TV Bar

Appearance

}, {
    "position": "bottom",
    "layer": "top",
    "output": "DP-1",
    "height": 43,
    "spacing": 0,
    "reload_style_on_change": true,
    "modules-left": ["hyprland/workspaces"],
    "modules-right": ["custom/weather", "disk", "bluetooth", "cpu", "memory", "custom/clock"],
    "hyprland/workspaces": {
        "disable-scroll": false,
        "all-outputs": false,
        "format": "{icon}",
        "format-icons": {
            "1": "",
            "2": "",
            "3": "",
            "4": "",
            "5": "󰭹",
            "6": "",
            "7": "",
            "8": "",
            "9": "",
            "urgent": "",
            "focused": "",
            "default": ""
         },
         "on-scroll-up": "hyprctl dispatch workspace m+1 > /dev/null",
         "on-scroll-down": "hyprctl dispatch workspace m-1 > /dev/null"
    },

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
    }
}]