Waybar

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

Table of Contents

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": 38,
    "spacing": 0,
    "output": "eDP-1",
    "modules-left": ["sway/workspaces", "sway/mode"],
    "modules-right": ["mpd", "pulseaudio", "cpu", "memory", "battery", "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": "",
             "urgent": "",
             "focused": "",
             "default": ""
         }
    },
    "sway/mode": {
        "format": "<span style=\"italic\">{}</span>"
    },

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

Backlight

"backlight": {
    "device": "intel_backlight",
    "format": "{icon} {percent}%",
    "format-icons": ["", "", "", "", "", "", "", "", ""],
    "on-click": "light -S 20 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock; pkill -x sh",
    "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} {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"
}

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": 39,
    "spacing": 0,
    "output": "HDMI-A-2",
    "modules-left": ["sway/workspaces", "sway/window"],
    "modules-right": ["disk", "network", "battery", "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": "",
             "urgent": "",
             "focused": "",
             "default": ""
         }
    },

Window

"sway/window": {
    "max-length": 71,
    "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",
    "format": "{icon} {percent}%",
    "format-icons": ["", "", "", "", "", "", "", "", ""],
    "on-click": "light -S 20 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock; pkill -x sh",
    "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"
},

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

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

LabWC 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": 39,
    "spacing": 0,
    "output": "eDP-1",
    "modules-left": ["wlr/taskbar"],
    "modules-right": ["mpd", "pulseaudio", "cpu", "memory", "battery", "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": 29,
    },

MPD

"mpd": {
    "server": "127.0.0.2",
    "format": "{consumeIcon}{singleIcon}{artist} - {title}  {stateIcon}",
    "format-disconnected": " ",
    "format-stopped": "{consumeIcon}{singleIcon} ",
    "title-len": 40,
    "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",
},

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

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

Backlight

"backlight": {
    "device": "intel_backlight",
    "format": "{icon} {percent}%",
    "format-icons": ["", "", "", "", "", "", "", "", ""],
    "on-click": "light -S 20 && light -G | cut -d'.' -f1 > /home/babkock/.wob.sock; pkill -x sh",
    "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} {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"
}

LabWC 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",
    "modules-left": ["wlr/taskbar"],
    "modules-right": ["mpd", "disk", "network", "battery", "backlight", "custom/clock"],
    "wlr/taskbar": {
        "format": "{short_state}{icon}",
        "icon-size": 30,
        "tooltip-format": "{app_id} {title}",
        "on-click": "minimize-raise",
        "on-click-right": "close",
        "on-click-middle": "maximize",
    },

MPD

"mpd": {
    "server": "127.0.0.2",
    "format": "{consumeIcon}{singleIcon}{title}  {stateIcon}",
    "format-disconnected": " ",
    "format-stopped": "{consumeIcon}{singleIcon} ",
    "title-len": 32,
    "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})",
},

Disk

"disk": {
    "path": "/",
    "interval": 2,
    "format": " <span style=\"italic\">{free}</span>",
    "format-alt": " {used}",
    "tooltip-format": "{path} ({percentage_used}% of {total})"
},

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": true,
    "tooltip-format": "{essid} ({signalStrength}%)",
},

Backlight

"backlight": {
    "device": "intel_backlight",
    "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"
},

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

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}{singleIcon}{artist} - <span style=\"italic\">{title}</span>  {stateIcon}",
    "format-disconnected": " ",
    "format-stopped": "{consumeIcon}{singleIcon} ",
    "title-len": 34,
    "unknown-tag": "N/A",
    "interval": 1,
    "on-click": "mpc --host 127.0.0.2 toggle",
    "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",
    "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",
    "on-click-right": "pavucontrol"
}

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", "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"
    },
    "hyprland/window": {
        "format": "<span style=\"italic\">{}</span>",
        "separate-outputs": false
    },

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": {
    "format": "{icon} {volume}%",
    "format-muted": " {volume}%",
    "tooltip": true,
    "tooltip-format": "{node_name}",
    "format-icons": ["", "", ""],
    "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": "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
},

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": "enp0s31f6",
    "interval": 1,
    "format-wifi": " {bandwidthDownBits} {bandwidthUpBits} ",
    "format-ethernet": " {bandwidthDownBits} {bandwidthUpBits} ",
    "format-alt": " {ipaddr}",
    "format-disconnected": ""
},

Clock

"custom/clock": {
    "exec": "date +'%I:%M:%S  %a, %b %d'",
    "interval": 1,
    "format": " {}",
    "align": 1,
    "tooltip": false
}

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

Author: Tanner Babcock

Created: 2023-06-13 Tue 23:29