waybar: organize config

This commit is contained in:
2025-08-03 23:23:59 +02:00
parent cc10c92af6
commit 25a07767cf
6 changed files with 160 additions and 745 deletions

View File

@@ -2,39 +2,23 @@
// -------------------------------------------------------------------------
// Global configuration
// -------------------------------------------------------------------------
"layer": "top",
"layer": "bottom",
"position": "top",
"height": 55,
"margin-left": 0,
"margin-bottom": 0,
"margin-right": 0,
"spacing": 2, // Gaps between modules (px)
"modules-left": [
"custom/rofi",
// "hyprland/workspaces",
// "custom/workspacenew",
"group/workspaceactions",
"hyprland/window",
//"hyprland/submap",
//"idle_inhibitor",
//"mpd"
"custom/mediaplayer"
"custom/mediaplayer",
"hyprland/window"
],
"modules-center": [
"clock#date"
//"custom/gammastep"
"clock"
],
"modules-right": [
// "network#speed",
// "memory",
// "cpu",
// "battery",
// //"pulseaudio",
// "backlight",
// "wireplumber",
"group/monitors",
// "bluetooth",
// "network",
"tray",
"custom/caffeine",
"custom/power"
@@ -42,15 +26,6 @@
// -------------------------------------------------------------------------
// Modules
// -------------------------------------------------------------------------
// Separators
"custom/sp1": {
"format": " | ",
"tooltip": false
},
"custom/sp2": {
"format": " |",
"tooltip": false
},
// Buttons
"custom/power": {
"format": "󰐥",
@@ -88,35 +63,10 @@
},
// Time and Date
"clock": {
"format": " {:%H:%M  %e %b}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"today-format": "<b>{}</b>"
},
"clock#date": {
"format": "󰥔 {:%H:%M |  %e %b}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt>{calendar}</tt>",
"today-format": "<b>{}</b>"
},
"clock#1": {
"format": " {:%a}",
"tooltip": false,
"on-click": "gsimplecal"
},
"clock#2": {
"format": " {:%d-%h-%Y}",
"tooltip": false,
"on-click": "gsimplecal"
},
"clock#3": {
"format": " {:%H:%M:%S %p}",
"tooltip": false,
"on-click": "gsimplecal"
},
"custom/screenshot_t": {
"format": " ",
"on-click": "~/.config/hypr/scripts/screenshot_full",
"on-click-right": "~/.config/hypr/scripts/screenshot_area"
},
// System monitors
"group/monitors": {
"modules": ["network#speed", "custom/publicip", "temperature", "memory", "cpu", "battery", "backlight", "wireplumber"],
@@ -227,11 +177,20 @@
},
"hyprland/workspaces": {
"all-outputs": true,
"format": "{name}",
"format": "{id}",
"on-scroll-up": "hyprctl dispatch workspace e+1 1>/dev/null",
"on-scroll-down": "hyprctl dispatch workspace e-1 1>/dev/null",
"sort-by-number": true,
"active-only": false
"active-only": false//,
// "window-rewrite-default": "",
// "window-rewrite": {
// "class<kitty>": "",
// "class<code>": "󰨞",
// "class<zen-browser>": "󰈹",
// "class<firefox>": "󰈹",
// "class<ghostty>": "",
// "class<spotify>": "󰓇"
// }
},
"hyprland/workspaces#special": {
"persistent-workspaces": {
@@ -240,7 +199,16 @@
"persistent-only": true,
"show-special": true,
"special-visible-only": false,
"format": "S"
"format": "S",
"window-rewrite-default": ""//,
// "window-rewrite": {
// "class<kitty>": "",
// "class<code>": "󰨞",
// "class<zen-browser>": "󰈹",
// "class<firefox>": "󰈹",
// "class<ghostty>": "",
// "class<spotify>": "󰓇"
// }
},
"custom/workspacenew": {
"format": "+",
@@ -250,7 +218,8 @@
"hyprland/window": {
"max-length": 100,
"separate-outputs": true,
"hide-empty-text": true
"icon": true,
"icon-size": 15
},
"custom/mediaplayer": {
"format": "{text}",
@@ -270,164 +239,5 @@
"tray": {
"icon-size": 15,
"spacing": 5
},
// Not used
"network": {
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
"format-linked": "{ifname} (No IP)",
"format": "",
"format-disconnected": "󰌙",
"format-alt": "{ifname}: {ipaddr}/{cidr}",
"on-click": "wl-copy $(ip address show up scope global | grep inet | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c5-)",
"on-click-right": "wl-copy $(ip address show up scope global | grep inet6 | head -n1 | cut -d/ -f 1 | tr -d [:space:] | cut -c6-)",
"tooltip-format": " {bandwidthUpBits}  {bandwidthDownBits}\n{ifname}\n{ipaddr}/{cidr}\n",
"tooltip-format-wifi": " {essid} {frequency}MHz\nStrength: {signaldBm}dBm ({signalStrength}%)\nIP: {ipaddr}/{cidr}\n {bandwidthUpBits}  {bandwidthDownBits}",
"interval": 10,
"max-length": 12
},
"custom/storage": {
"format": " {}",
"format-alt": "{percentage}% ",
"format-alt-click": "click-right",
"return-type": "json",
"interval": 60,
"exec": "~/.config/waybar/modules/storage.sh"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
},
"tooltip": "true"
},
"custom/weather": {
"format": "{}",
"format-alt": "{alt}: {}",
"format-alt-click": "click-right",
"interval": 3600,
"exec": "curl -s 'https://wttr.in/?format=1'",
//"return-type": "json",
//"exec": "~/.config/waybar/modules/weather.sh",
"exec-if": "ping wttr.in -c1"
},
"custom/pacman": {
"format": "<big>􏆲</big> {}",
"interval": 3600, // every hour
"exec": "checkupdates | wc -l", // # of updates
"exec-if": "exit 0", // always run; consider advanced run conditions
"on-click": "ghostty -e 'paru'; pkill -SIGRTMIN+8 waybar", // update system
"signal": 8,
"max-length": 7,
"min-length": 3
},
"custom/spotify": {
"exec": "~/.config/waybar/mediaplayer.py --player spotify",
"format": "{} ",
"return-type": "json",
"on-click": "playerctl play-pause",
"on-scroll-up": "playerctl next",
"on-scroll-down": "playerctl previous"
},
"custom/media": {
"format": "{0} {1}",
"return-type": "json",
"max-length": 40,
"format-icons": {
"spotify": "",
"default": "🎜"
},
"escape": true
//"exec": "~/.config/waybar/mediaplayer.py" // Script in resources folder
// "exec": "~/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"custom/gammastep": {
"interval": 5,
"return-type": "json",
"exec": {
"pre": "if unit_status=\"$(systemctl --user is-active gammastep)\"; then\nstatus=\"$unit_status ($(journalctl --user -u gammastep.service -g 'Period: ' | tail -1 | cut -d ':' -f6 | xargs))\"\nelse\nstatus=\"$unit_status\"\nfi",
"alt": "${status:-inactive}",
"tooltip": "Gammastep is $status"
},
"format": "{icon}",
"format-icons": {
"activating": "󰁪 ",
"deactivating": "󰁪 ",
"inactive": "? ",
"active (Night)": " ",
"active (Nighttime)": " ",
"active (Transition (Night)": " ",
"active (Transition (Nighttime)": " ",
"active (Day)": " ",
"active (Daytime)": " ",
"active (Transition (Day)": " ",
"active (Transition (Daytime)": " "
},
"on-click": "systemctl --user is-active gammastep && systemctl --user stop gammastep || systemctl --user start gammastep"
},
"mpd": {
"max-length": 25,
"format": "<span foreground='#bb9af7'></span> {title}",
"format-paused": " {title}",
"format-stopped": "<span foreground='#bb9af7'></span>",
"format-disconnected": "",
"on-click": "mpc --quiet toggle",
"on-click-right": "mpc update; mpc ls | mpc add",
"on-click-middle": "ghostty -e ncmpcpp",
"on-scroll-up": "mpc --quiet prev",
"on-scroll-down": "mpc --quiet next",
"smooth-scrolling-threshold": 5,
"tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})"
},
"custom/title": {
"format": "{}",
"interval": 0,
"return-type": "json",
//"max-length": 35,
"tooltip": false
},
"custom/title#name": {
"format": "{}",
"interval": 0,
"return-type": "json",
"max-length": 35,
"exec": "$HOME/.scripts/title"
},
/*"custom/keyboard": {
"format": " {}",
"interval": 1,
"exec": "$HOME/.config/waybar/get_kbdlayout.sh"
},*/
"pulseaudio": {
"scroll-step": 3, // %, can be a float
"format": "{icon} {volume}% {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
//"format-source": "{volume}% ",
//"format-source-muted": "",
"format-source": "",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
"on-click": "pavucontrol",
"on-click-right": "amixer sset Master toggle"
},
"bluetooth": {
"format-on": "󰂯",
"format-off": "󰂲",
"format-disabled": "", // an empty format will hide the module
"format-connected": "󰂱 {num_connections}",
"tooltip-format-connected": "{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
"on-click": "blueberry",
"max-length": 3,
"min-length": 3
}
}