updated waybar

This commit is contained in:
2026-03-13 17:38:40 +01:00
parent 20ea9cc4d1
commit d7c1b0e733
2 changed files with 268 additions and 396 deletions

View File

@@ -1,52 +1,124 @@
// ~/.config/waybar/config.jsonc // ~/.config/waybar/config.jsonc
[
{ {
"name": "top",
"layer": "top", "layer": "top",
"position": "top", "position": "top",
// "output": "eDP-1", "height": 34,
"height": 30, "spacing": 4,
"modules-left": ["hyprland/workspaces"], "margin-top": 6,
"modules-center": [], "margin-left": 10,
"modules-right": [ "margin-right": 10,
// "custom/pixelbuds_pro",
"custom/network", "modules-left": [
"custom/mem", "hyprland/workspaces",
"custom/cpu", "hyprland/window"
"custom/tlp", ],
"custom/volume", "modules-center": [
"custom/mic",
"tray",
"clock" "clock"
], ],
"modules-right": [
"tray",
"custom/power_status"
],
// --- Standard Modules ---
"hyprland/workspaces": { "hyprland/workspaces": {
"format": "{icon}", "format": "{icon}",
"on-click": "activate" "on-click": "activate"
}, },
"hyprland/window": { "hyprland/window": {
"format": "{}", "format": "{}",
"max-length": 35 "max-length": 50
}, },
"clock": { "clock": {
"format": "{:%a %d %b %H:%M}", "format": "{:%a %d %b %H:%M}",
"format-alt": false,
"on-click-right": "xdg-open https://calendar.proton.me/u/0/month &> /dev/null & disown", "on-click-right": "xdg-open https://calendar.proton.me/u/0/month &> /dev/null & disown",
"tooltip": false, "tooltip": false
}, },
"cpu": { "tray": {
"format": "CPU: {usage}%", "icon-size": 18,
"tooltip": true, "spacing": 10
"interval": 1
}, },
"memory": {
"format": "MEM: {used}/{total}GB", // --- Fluxo-rs Power ---
"custom/power_status": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs power",
"on-click": "~/.config/hypr/scripts/powermenu.sh & disown",
"interval": 5
}
},
{
"name": "bottom",
"layer": "top",
"position": "bottom",
"height": 34,
"spacing": 4,
"margin-bottom": 6,
"margin-left": 10,
"margin-right": 10,
"modules-left": [
"custom/sys",
"custom/cpu",
"custom/mem",
"custom/network"
],
"modules-center": [
"custom/gamemode"
],
"modules-right": [
"custom/disk-root",
"custom/bluetooth-audio",
"custom/volume",
"custom/mic"
],
// --- Fluxo-rs System & Hardware ---
"custom/sys": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs sys",
"interval": 5
},
"custom/cpu": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs cpu",
"on-click": "zenmonitor & disown",
"interval": 3 "interval": 3
}, },
"network": { "custom/mem": {
"format-wifi": "{essid} ({signalStrength}%): {ipaddr}", "format": "{}",
"format-ethernet": "{ifname}: {ipaddr}", "return-type": "json",
"format-disconnected": "Disconnected", "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs mem",
"tooltip-format": "{ifname} via {gwaddr}" "interval": 3
}, },
"custom/network": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs net",
"interval": 2
},
// --- Fluxo-rs Utilities ---
"custom/disk-root": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs disk /",
"interval": 30
},
"custom/gamemode": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs game",
"on-click": "~/.config/hypr/scripts/gamemode.sh & disown",
"interval": 1
},
// --- Fluxo-rs Audio & BT ---
"custom/volume": { "custom/volume": {
"format": "{}", "format": "{}",
"return-type": "json", "return-type": "json",
@@ -73,50 +145,32 @@
"format": "{}", "format": "{}",
"return-type": "json", "return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs bt", "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs bt",
"interval": 3, "on-click": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs bt disconnect",
"on-click": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs bt disconnect" "interval": 3
}, }
"tray": {
"icon-size": 18, // --- Commented Out Modules ---
"spacing": 6 /*
}, "custom/gpu": {
"custom/power": {
"format": "",
"tooltip": false,
"on-click": "~/.config/hypr/scripts/powermenu.sh & disown"
},
"custom/tlp": {
"format": "{}", "format": "{}",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs power",
"return-type": "json", "return-type": "json",
"interval": 5 "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs gpu",
"on-click": "lact gui & disown",
"interval": 3
}, },
"battery": { "custom/btrfs": {
"states": { "format": "{}",
"warning": 30, "return-type": "json",
"critical": 15 "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs pool",
}, "interval": 30
"format": "{capacity}%",
"format-charging": "{capacity}%",
"format-plugged": "{capacity}%",
"format-alt": "{time} {icon}",
"format-full": "{capacity}%",
"format-icons": ["", "", "", "", ""]
}, },
"custom/pixelbuds_pro": { "custom/pixelbuds_pro": {
"format": "{}", "format": "{}",
"return-type": "json", "return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds", "exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds",
"interval": 5,
"on-click": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds connect & disown", "on-click": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds connect & disown",
"on-click-right": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds cycle_anc & disown" "on-click-right": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs buds cycle_anc & disown",
}, "interval": 5
"custom/gamemode": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs game",
"on-click": "~/.config/hypr/scripts/gamemode.sh & disown",
"interval": 1
}, },
"custom/gpu-screen-recorder": { "custom/gpu-screen-recorder": {
"format": "{}", "format": "{}",
@@ -126,67 +180,7 @@
"on-click-middle": "nautilus ~/Videos/replay & disown", "on-click-middle": "nautilus ~/Videos/replay & disown",
"on-click": "~/.config/waybar/scripts/toggle-replay.sh & disown", "on-click": "~/.config/waybar/scripts/toggle-replay.sh & disown",
"interval": 1 "interval": 1
},
"custom/gpu": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs gpu",
"on-click": "lact gui & disown",
"interval": 3
},
"custom/sys": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs sys",
"interval": 5
},
"custom/cpu": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs cpu",
"on-click": "zenmonitor & disown",
"interval": 3
},
"custom/mem": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs mem",
"interval": 3
},
"custom/btrfs": {
"format": "{}",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs pool",
"return-type": "json",
"interval": 30
},
"custom/disk-root": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs disk",
"interval": 30
},
"custom/disk-gdrive": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs disk ~/gdrive",
"interval": 30
},
"custom/disk-data": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs disk ~/data",
"interval": 30
},
"custom/disk-games": {
"format": "{}",
"return-type": "json",
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs disk ~/games",
"interval": 30
},
"custom/network": {
"exec": "~/.config/waybar/fluxo-rs/target/release/fluxo-rs net",
"interval": 2, // in seconds
"format": "{}",
"return-type": "json"
} }
*/
} }
]

View File

@@ -1,255 +1,133 @@
/* ~/.config/waybar/style.css */ /* ~/.config/waybar/style.css */
@import "./catppuccin-waybar/themes/mocha.css"; @import "./catppuccin-waybar/themes/mocha.css";
/* --- Global Reset --- */
* { * {
border: none; border: none;
border-radius: 0; border-radius: 0;
min-height: 0; min-height: 0;
font-family: JetBrainsMono Nerd Font; font-family: JetBrainsMono Nerd Font, monospace;
font-size: 13px; font-size: 13px;
transition: all 0.2s ease;
} }
/* --- Bar Background (Floating Island Style) --- */
window#waybar { window#waybar {
background-color: alpha(@base, 0.4); background-color: transparent;
padding: 4px;
transition-property: background-color;
transition-duration: 0.5s;
color: @text; color: @text;
} }
window#waybar.hidden { /* --- Shared Island Styling --- */
opacity: 0.5; #workspaces,
#window,
#clock,
#tray,
#custom-sys,
#custom-cpu,
#custom-gpu,
#custom-mem,
#custom-network,
#custom-btrfs,
#custom-disk-root,
#custom-pixelbuds_pro,
#custom-bluetooth-audio,
#custom-volume,
#custom-mic,
#custom-gamemode,
#custom-gpu-screen-recorder,
#custom-power_status {
background-color: alpha(@surface0, 0.95);
margin: 4px 2px;
padding: 0 12px;
border-radius: 12px;
border: 1px solid alpha(@surface1, 0.5);
} }
/* --- Top Bar Special Handling --- */
window#waybar.top {
margin-top: 6px;
}
/* --- Bottom Bar Special Handling --- */
window#waybar.bottom {
margin-bottom: 6px;
}
/* --- Workspaces --- */
#workspaces button { #workspaces button {
all: initial; padding: 0 8px;
/* Remove GTK theme values (waybar #1351) */ margin: 4px 2px;
min-width: 0; border-radius: 8px;
/* Fix weird spacing in materia (waybar #450) */
box-shadow: inset 0 -3px transparent;
/* Use box-shadow instead of border so the text isn't offset */
padding: 0px 12px;
margin: 0px 3px;
border-radius: 10px;
background-color: @base;
color: @subtext0; color: @subtext0;
background-color: transparent;
} }
#workspaces button.active { #workspaces button.active {
color: @text; color: @blue;
border-bottom: 3px solid @blue; background-color: @surface1;
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
background-color: @surface0;
color: @text;
} }
#workspaces button.urgent { #workspaces button.urgent {
border-bottom: 3px solid @maroon;
}
#memory,
#cpu,
#custom-gpu,
#custom-cpu,
#custom-mem,
#custom-power,
#custom-gamemode,
#custom-tlp,
#battery,
#backlight,
#wireplumber,
#custom-volume,
#custom-mic,
#custom-network,
#network,
#clock,
#tray,
#custom-disk-root,
#custom-disk-gdrive,
#custom-disk-games,
#custom-disk-data,
#custom-pixelbuds_pro,
#custom-bluetooth-audio,
#custom-btrfs,
#custom-gpu-screen-recorder {
border-radius: 10px;
margin: 0px 2px;
padding: 0px 10px;
background-color: @base;
color: @text;
}
#wireplumber.muted, #custom-pixelbuds_pro, #custom-volume.muted, #custom-mic.muted {
background-color: @base;
color: @subtext1;
border-bottom: 3px solid @subtext1;
}
#custom-pixelbuds_pro.disconnected {
padding-right: 10px;
padding-left: 8px;
}
#custom-gpu-screen-recorder,
#custom-gpu-screen-recorder.recording {
padding-right: 12px;
padding-left: 4px;
}
#custom-gamemode {
padding-right: 9px;
padding-left: 5px;
}
#custom-pixelbuds_pro.anc-active {
color: @sapphire;
border-bottom: 3px solid @sapphire;
}
#custom-bluetooth-audio {
color: @sapphire;
border-bottom: 3px solid @sapphire;
}
#custom-pixelbuds_pro.anc-aware {
color: @sapphire;
border-bottom: 3px solid @sapphire;
}
#custom-pixelbuds_pro.anc-off {
color: @text;
border-bottom: 3px solid @text;
}
#custom-gpu-screen-recorder,
#custom-gamemode {
background-color: @base;
color: @subtext1;
border-bottom: 3px solid @subtext1;
}
#custom-power {
color: @maroon;
}
#custom-gpu-screen-recorder.recording,
#custom-gamemode.active {
color: @maroon;
border-bottom: 3px solid @maroon;
}
#custom-tlp {
padding: 0 10px;
min-width: 10px;
}
#custom-tlp.charging {
color: @mauve;
border-bottom: 3px solid @mauve;
}
#custom-tlp.bat {
color: @sapphire;
border-bottom: 3px solid @sapphire;
}
#custom-tlp.warning {
color: @yellow;
border-bottom: 3px solid @yellow;
}
#custom-tlp.critical {
color: @red; color: @red;
border-bottom: 3px solid @red; }
animation-name: blink;
animation-duration: 0.8s; #workspaces button:hover {
animation-timing-function: linear; background-color: @surface2;
animation-iteration-count: infinite; color: @text;
animation-direction: alternate; }
/* --- Clock (Centered Pill) --- */
#clock {
color: @mauve;
font-weight: bold;
}
/* --- Power Status --- */
#custom-power_status {
font-weight: bold;
}
#custom-power_status.charging { color: @green; border-color: @green; }
#custom-power_status.bat { color: @yellow; }
#custom-power_status.warning { color: @peach; }
#custom-power_status.critical {
color: @red;
border-color: @red;
animation: blink 1s infinite alternate;
} }
@keyframes blink { @keyframes blink {
to { to { background-color: alpha(@red, 0.4); }
color: @yellow;
border-bottom: 3px solid @yellow;
opacity: 0.6;
}
} }
#custom-gpu.max, /* --- Hardware Metrics (Left Bottom) --- */
#custom-cpu.max, #custom-sys { color: @teal; }
#custom-mem.max, #custom-cpu { color: @blue; }
#custom-btrfs.max, #custom-mem { color: @lavender; }
#custom-disk-root.max, #custom-network { color: @sapphire; }
#custom-disk-gdrive.max,
#custom-disk-games.max,
#custom-disk-data.max {
color: @maroon;
/* border-bottom: 3px solid @maroon; */
}
#custom-gpu.high, #custom-cpu.high, #custom-mem.high { color: @yellow; }
#custom-gpu.high, #custom-cpu.max, #custom-mem.max { color: @red; }
#custom-cpu.high,
#custom-mem.high,
#custom-btrfs.high,
#custom-disk-root.high,
#custom-disk-gdrive.high,
#custom-disk-games.high,
#custom-disk-data.high {
color: @yellow;
/* border-bottom: 3px solid @yellow; */
}
#memory, /* --- Center Bottom Utilities --- */
#cpu, #custom-gamemode { color: @yellow; }
#disk, #custom-gamemode.active { color: @red; border-color: @red; }
#network,
#custom-network,
#custom-gpu.normal,
#custom-cpu.normal,
#custom-mem.normal,
#custom-btrfs.normal,
#custom-disk-root.normal,
#custom-disk-gdrive.normal,
#custom-disk-games.normal,
#custom-disk-data.normal {
color: @blue;
/* border-bottom: 3px solid @mauve; */
}
/* --- Right Bottom Controls --- */
#custom-disk-root { color: @sky; }
#custom-volume { color: @mauve; }
#custom-mic { color: @flamingo; }
#custom-volume.muted, #custom-mic.muted { color: @overlay0; }
#backlight { #custom-bluetooth-audio { color: @blue; }
color: @mauve;
}
#custom-volume.muted, #custom-mic.muted {
padding-right: 15px;
}
#custom-volume.unmuted, #custom-mic.unmuted, #wireplumber {
color: @mauve;
border-bottom: 3px solid @mauve;
}
#clock {
color: @mauve;
}
#network {
}
/* --- Tooltip --- */
tooltip { tooltip {
border-radius: 10px; background-color: alpha(@base, 0.95);
padding: 9px; border: 1px solid @surface1;
background-color: @base; border-radius: 12px;
} }
tooltip label { tooltip label {
padding: 5px; color: @text;
background-color: @base; padding: 8px;
} }