added waybar config for laptop
This commit is contained in:
207
.config/waybar/base.jsonc##hostname.viking-mate
Normal file
207
.config/waybar/base.jsonc##hostname.viking-mate
Normal file
@@ -0,0 +1,207 @@
|
||||
{
|
||||
// Shared defaults & core module definitions (laptop host)
|
||||
"layer": "bottom",
|
||||
"position": "bottom",
|
||||
"mod": "dock",
|
||||
"exclusive": true,
|
||||
"gtk-layer-shell": true,
|
||||
"passthrough": false,
|
||||
"fixed-center": true,
|
||||
"height": 32,
|
||||
"spacing": 8,
|
||||
|
||||
// Hyprland
|
||||
"hyprland/workspaces": {
|
||||
"icon-size": 24,
|
||||
"spacing": 10,
|
||||
"all-outputs": true,
|
||||
"on-scroll-up": "hyprctl dispatch workspace r+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace r-1"
|
||||
},
|
||||
"hyprland/window": {
|
||||
"format": "{title}",
|
||||
"max-length": 56,
|
||||
"separate-outputs": false,
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
// System stats
|
||||
"cpu": { "interval": 5, "format": " {usage}%", "tooltip": true, "on-click": "alacritty -e btop" },
|
||||
"memory": { "interval": 11, "format": " {percentage}%", "tooltip": true, "on-click": "alacritty -e btop" },
|
||||
"custom/temps": {
|
||||
"exec-if": "command -v sensors >/dev/null",
|
||||
"exec": "bash -lc \"sensors | awk '/Tctl|Tdie|Package id 0/{gsub(/\\+|°C/,\\\"\\\"); print int($2); exit}'\"",
|
||||
"interval": 5,
|
||||
"format": " {output}°C",
|
||||
"tooltip": true,
|
||||
"on-click": "alacritty -e watch -n 1 sensors"
|
||||
},
|
||||
|
||||
// Disks (keep minimal on laptop)
|
||||
"disk#root": {
|
||||
"interval": 29,
|
||||
"path": "/",
|
||||
"format": " {percentage_used}%",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Root: {used} / {total} ({percentage_used}%)"
|
||||
},
|
||||
|
||||
// Media
|
||||
"mpris": {
|
||||
"format": "{player_icon} {dynamic}",
|
||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||
"dynamic-len": 40,
|
||||
"ellipsis": "…",
|
||||
"player-icons": { "default": "▶", "mpv": "🎵", "spotify": "" },
|
||||
"status-icons": { "paused": "⏸" },
|
||||
"on-click": "playerctl play-pause",
|
||||
"on-click-right": "playerctl next",
|
||||
"on-click-middle": "playerctl previous",
|
||||
"on-scroll-up": "playerctl position 5+",
|
||||
"on-scroll-down": "playerctl position 5-",
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
// Network / Audio / BT
|
||||
"network": {
|
||||
"format-wifi": " {essid} ({signalStrength}%)",
|
||||
"format-ethernet": " {ifname}",
|
||||
"format-disconnected": " Disconnected",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{ifname} → {gwaddr}",
|
||||
"on-click": "nm-connection-editor",
|
||||
"on-click-right": "alacritty -e nmtui"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": " Muted",
|
||||
"scroll-step": 5,
|
||||
"interval": 30,
|
||||
"tooltip": true,
|
||||
"on-click": "pavucontrol",
|
||||
"on-click-right": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
|
||||
"format-icons": { "default": ["", ""] }
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": " {status}",
|
||||
"format-connected": " {device_alias} ({device_battery_percentage}%)",
|
||||
"tooltip": true,
|
||||
"on-click": "blueman-manager"
|
||||
},
|
||||
|
||||
// Backlight (screen)
|
||||
"backlight": {
|
||||
"interval": 2,
|
||||
"format": " {percent}%",
|
||||
"on-scroll-up": "brightnessctl set +5%",
|
||||
"on-scroll-down": "brightnessctl set 5%-",
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
// Power
|
||||
"battery": {
|
||||
"states": { "good": 95, "warning": 30, "critical": 20 },
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-alt": "{icon} {capacity}% ({time})",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-full": " {capacity}%",
|
||||
"tooltip": true,
|
||||
"interval": 15,
|
||||
"format-icons": ["","","","",""]
|
||||
},
|
||||
"power-profiles-daemon": {
|
||||
"format": " {profile}",
|
||||
"tooltip": true,
|
||||
"on-click": "bash -lc 'cur=$(powerprofilesctl get); case $cur in performance) nxt=balanced;; balanced) nxt=powersave;; *) nxt=performance;; esac; powerprofilesctl set $nxt; notify-send -a waybar \"Power Profile\" \"Switched to $nxt\"'"
|
||||
},
|
||||
|
||||
// Hyprsunset (reusing your existing script wiring & daemon)
|
||||
"custom/hyprsunset": {
|
||||
"exec-if": "[ -x $HOME/.config/waybar/scripts/hyprsunset_toggle.sh ]",
|
||||
"exec": "$HOME/.config/waybar/scripts/hyprsunset_toggle.sh --print",
|
||||
"return-type": "json",
|
||||
"interval": 60,
|
||||
"signal": 5,
|
||||
"format": "{text}",
|
||||
"tooltip": true,
|
||||
"on-click": "bash -lc '$HOME/.config/waybar/scripts/hyprsunset_toggle.sh --toggle-auto && pkill -SIGRTMIN+5 waybar'",
|
||||
"on-click-right": "bash -lc '$HOME/.config/waybar/scripts/hyprsunset_toggle.sh --toggle && pkill -SIGRTMIN+5 waybar'",
|
||||
"on-scroll-up": "bash -lc 't=$($HOME/.config/waybar/scripts/hyprsunset_toggle.sh --print | sed -n \"s/.* \\([0-9]\\+\\)K.*/\\1/p\"); [ -z \"$t\" ] && t=3800; t=$((t+200)); $HOME/.config/waybar/scripts/hyprsunset_toggle.sh --set $t && pkill -SIGRTMIN+5 waybar'",
|
||||
"on-scroll-down": "bash -lc 't=$($HOME/.config/waybar/scripts/hyprsunset_toggle.sh --print | sed -n \"s/.* \\([0-9]\\+\\)K.*/\\1/p\"); [ -z \"$t\" ] && t=3800; t=$((t-200)); [ $t -lt 1000 ] && t=1000; $HOME/.config/waybar/scripts/hyprsunset_toggle.sh --set $t && pkill -SIGRTMIN+5 waybar'"
|
||||
},
|
||||
|
||||
// Extra laptop customs (defined by scripts below)
|
||||
"custom/wifi": {
|
||||
"exec-if": "command -v nmcli >/dev/null",
|
||||
"exec": "$HOME/.config/waybar/scripts/wifi_toggle.sh --print",
|
||||
"return-type": "json",
|
||||
"interval": 5,
|
||||
"signal": 10,
|
||||
"format": "{text}",
|
||||
"tooltip": true,
|
||||
"on-click": "bash -lc '$HOME/.config/waybar/scripts/wifi_toggle.sh --toggle && pkill -SIGRTMIN+10 waybar'"
|
||||
},
|
||||
"custom/bt": {
|
||||
"exec-if": "command -v bluetoothctl >/dev/null",
|
||||
"exec": "$HOME/.config/waybar/scripts/bt_toggle.sh --print",
|
||||
"return-type": "json",
|
||||
"interval": 5,
|
||||
"signal": 11,
|
||||
"format": "{text}",
|
||||
"tooltip": true,
|
||||
"on-click": "bash -lc '$HOME/.config/waybar/scripts/bt_toggle.sh --toggle && pkill -SIGRTMIN+11 waybar'"
|
||||
},
|
||||
"custom/airplane": {
|
||||
"exec-if": "command -v rfkill >/dev/null",
|
||||
"exec": "$HOME/.config/waybar/scripts/airplane_mode.sh --print",
|
||||
"return-type": "json",
|
||||
"interval": 7,
|
||||
"signal": 12,
|
||||
"format": "{text}",
|
||||
"tooltip": true,
|
||||
"on-click": "bash -lc '$HOME/.config/waybar/scripts/airplane_mode.sh --toggle && pkill -SIGRTMIN+12 waybar'"
|
||||
},
|
||||
"custom/kbdlight": {
|
||||
"exec-if": "command -v brightnessctl >/dev/null",
|
||||
"exec": "$HOME/.config/waybar/scripts/kbdlight.sh --print",
|
||||
"return-type": "json",
|
||||
"interval": 4,
|
||||
"signal": 13,
|
||||
"format": "{text}",
|
||||
"tooltip": true,
|
||||
"on-scroll-up": "bash -lc '$HOME/.config/waybar/scripts/kbdlight.sh --inc && pkill -SIGRTMIN+13 waybar'",
|
||||
"on-scroll-down": "bash -lc '$HOME/.config/waybar/scripts/kbdlight.sh --dec && pkill -SIGRTMIN+13 waybar'"
|
||||
},
|
||||
"custom/batteryhealth": {
|
||||
"exec-if": "command -v upower >/dev/null",
|
||||
"exec": "$HOME/.config/waybar/scripts/battery_health.sh",
|
||||
"return-type": "json",
|
||||
"interval": 120,
|
||||
"signal": 14,
|
||||
"format": "{text}",
|
||||
"tooltip": true
|
||||
},
|
||||
|
||||
// Performance (same concept as desktop)
|
||||
"custom/performance": {
|
||||
"exec-if": "[ -x $HOME/.config/waybar/scripts/performance.sh ]",
|
||||
"exec": "$HOME/.config/waybar/scripts/performance.sh",
|
||||
"interval": 10,
|
||||
"signal": 6,
|
||||
"tooltip": true,
|
||||
"on-click": "bash -lc '$HOME/.config/waybar/scripts/performance.sh toggle >/dev/null 2>&1; pkill -SIGRTMIN+6 waybar'",
|
||||
"on-click-right": "bash -lc '$HOME/.config/waybar/scripts/performance.sh cycle >/dev/null 2>&1; pkill -SIGRTMIN+6 waybar'",
|
||||
"format": "{text}"
|
||||
},
|
||||
|
||||
// Tray / Clock / Privacy
|
||||
"tray": { "icon-size": 18, "spacing": 4 },
|
||||
"clock": {
|
||||
"format": "{:%R | %d.%m.%Y}",
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": { "mode": "year", "mode-mon-col": 3, "weeks-pos": "right" },
|
||||
"actions": { "on-click-right": "mode", "on-scroll-up": "shift_up", "on-scroll-down": "shift_down" }
|
||||
},
|
||||
"privacy": { "icon-size": 16, "tooltip": true }
|
||||
}
|
||||
|
41
.config/waybar/conf.d/laptop.jsonc##hostname.viking-mate
Normal file
41
.config/waybar/conf.d/laptop.jsonc##hostname.viking-mate
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "bar-laptop",
|
||||
"output": "eDP-1", // change if your panel isn't eDP-1
|
||||
"height": 32,
|
||||
"spacing": 8,
|
||||
|
||||
"modules-left": ["hyprland/workspaces", "hyprland/window"],
|
||||
"modules-center": ["privacy", "mpris"],
|
||||
"modules-right": [
|
||||
"group/sys",
|
||||
"network",
|
||||
"backlight",
|
||||
"custom/kbdlight",
|
||||
"pulseaudio",
|
||||
"bluetooth",
|
||||
"custom/wifi",
|
||||
"custom/bt",
|
||||
"custom/airplane",
|
||||
"battery",
|
||||
"custom/batteryhealth",
|
||||
"power-profiles-daemon",
|
||||
"custom/performance",
|
||||
"custom/hyprsunset",
|
||||
"tray",
|
||||
"clock"
|
||||
],
|
||||
|
||||
// Drawer for noisy stats to save width
|
||||
"custom/sys": { "format": "", "tooltip": true },
|
||||
"group/sys": {
|
||||
"orientation": "horizontal",
|
||||
"drawer": {
|
||||
"transition-duration": 300,
|
||||
"children-class": "sys",
|
||||
"click-to-reveal": true,
|
||||
"transition-left-to-right": false
|
||||
},
|
||||
"modules": ["custom/sys", "cpu", "memory", "custom/temps", "disk#root"]
|
||||
}
|
||||
}
|
||||
|
4
.config/waybar/config.jsonc##hostname.viking-mate
Normal file
4
.config/waybar/config.jsonc##hostname.viking-mate
Normal file
@@ -0,0 +1,4 @@
|
||||
[
|
||||
{ "include": ["base.jsonc", "conf.d/laptop.jsonc"] }
|
||||
]
|
||||
|
19
.config/waybar/scripts/airplane_mode.sh
Executable file
19
.config/waybar/scripts/airplane_mode.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
is_blocked_all() { rfkill list | awk '/Soft blocked:/{c++;/yes/&&y++} END{exit !(c>0 && c==y)}'; }
|
||||
print() {
|
||||
if is_blocked_all; then
|
||||
echo '{"text":"✈","class":"on","tooltip":"Airplane mode: ON (click to disable)"}'
|
||||
else
|
||||
echo '{"text":"✈","class":"off","tooltip":"Airplane mode: OFF (click to enable)"}'
|
||||
fi
|
||||
}
|
||||
case "${1:---print}" in
|
||||
--toggle)
|
||||
if is_blocked_all; then rfkill unblock all; else rfkill block all; fi
|
||||
;;
|
||||
--print) : ;;
|
||||
*) echo "Usage: $0 [--toggle|--print]"; exit 1 ;;
|
||||
esac
|
||||
print
|
||||
|
29
.config/waybar/scripts/battery_health.sh
Executable file
29
.config/waybar/scripts/battery_health.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
bat="$(upower -e | grep -m1 BAT || true)"
|
||||
if [ -z "$bat" ]; then
|
||||
echo '{"text":" --","class":"no-battery","tooltip":"No battery found"}'
|
||||
exit 0
|
||||
fi
|
||||
info="$(upower -i "$bat")"
|
||||
full=$(echo "$info" | awk -F: '/energy-full:/{gsub(/[^0-9.]/,"",$2); print $2; exit}')
|
||||
design=$(echo "$info" | awk -F: '/energy-full-design:/{gsub(/[^0-9.]/,"",$2); print $2; exit}')
|
||||
if [ -z "$full" ] || [ -z "$design" ] || [ "$design" = "0" ]; then
|
||||
# Try charge-full fallback
|
||||
full=$(echo "$info" | awk -F: '/charge-full:/{gsub(/[^0-9.]/,"",$2); print $2; exit}')
|
||||
design=$(echo "$info" | awk -F: '/charge-full-design:/{gsub(/[^0-9.]/,"",$2); print $2; exit}')
|
||||
fi
|
||||
wear="--"
|
||||
if [ -n "$full" ] && [ -n "$design" ] && [ "$design" != "0" ]; then
|
||||
health=$(awk -v f="$full" -v d="$design" 'BEGIN{printf "%.0f", (f/d)*100}')
|
||||
wear=$(( 100 - health ))
|
||||
text="❤ ${health}%"
|
||||
else
|
||||
text="❤ --"
|
||||
fi
|
||||
cycles=$(echo "$info" | awk -F: '/cycle count:/{gsub(/[^0-9]/,"",$2); print $2; exit}')
|
||||
vendor=$(echo "$info" | awk -F: '/vendor:/{gsub(/^ +/,"",$2); print $2; exit}')
|
||||
model=$(echo "$info" | awk -F: '/model:/{gsub(/^ +/,"",$2); print $2; exit}')
|
||||
tt="Battery health info\nWear: ${wear}%\nCycles: ${cycles:---}\nVendor: ${vendor:---}\nModel: ${model:---}"
|
||||
printf '{"text":"%s","class":"battery-health","tooltip":"%s"}\n' "$text" "$(echo "$tt" | sed ':a;N;$!ba;s/\n/\\n/g')"
|
||||
|
18
.config/waybar/scripts/bt_toggle.sh
Executable file
18
.config/waybar/scripts/bt_toggle.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
status() { bluetoothctl show 2>/dev/null | awk '/Powered:/ {print tolower($2); exit}'; } # yes/no
|
||||
print() {
|
||||
s="$(status)"; s="${s:-no}"
|
||||
if [ "$s" = "yes" ]; then
|
||||
echo '{"text":"","class":"on","tooltip":"Bluetooth: on (click to toggle)"}'
|
||||
else
|
||||
echo '{"text":"","class":"off","tooltip":"Bluetooth: off (click to toggle)"}'
|
||||
fi
|
||||
}
|
||||
case "${1:---print}" in
|
||||
--toggle) [ "$(status)" = "yes" ] && bluetoothctl power off || bluetoothctl power on ;;
|
||||
--print) : ;;
|
||||
*) echo "Usage: $0 [--toggle|--print]"; exit 1 ;;
|
||||
esac
|
||||
print
|
||||
|
29
.config/waybar/scripts/kbdlight.sh
Executable file
29
.config/waybar/scripts/kbdlight.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
dev() { brightnessctl --list 2>/dev/null | awk '/kbd_backlight/ {print $2; exit}'; }
|
||||
get_vals() {
|
||||
d="$(dev)"; [ -z "$d" ] && return 1
|
||||
cur="$(brightnessctl -d "$d" get)"; max="$(brightnessctl -d "$d" max)"
|
||||
echo "$d;$cur;$max"
|
||||
}
|
||||
print() {
|
||||
if vals="$(get_vals)"; then
|
||||
IFS=';' read -r d cur max <<<"$vals"
|
||||
[ "$max" -gt 0 ] || max=1
|
||||
pct=$(( cur * 100 / max ))
|
||||
# show in steps if small range
|
||||
steps=$(( max>10 ? 10 : max ))
|
||||
step=$(( cur * steps / max ))
|
||||
echo "{\"text\":\"⌨ ${pct}%\",\"class\":\"kbd $step/$steps\",\"tooltip\":\"Keyboard backlight: ${cur}/${max} (${pct}%)\\nScroll to adjust\"}"
|
||||
else
|
||||
echo '{"text":"⌨","class":"kbd none","tooltip":"No keyboard backlight device found"}'
|
||||
fi
|
||||
}
|
||||
case "${1:---print}" in
|
||||
--inc) if vals="$(get_vals)"; then IFS=';' read -r d cur max <<<"$vals"; brightnessctl -d "$d" set +1 >/dev/null; fi ;;
|
||||
--dec) if vals="$(get_vals)"; then IFS=';' read -r d cur max <<<"$vals"; brightnessctl -d "$d" set 1- >/dev/null; fi ;;
|
||||
--print) : ;;
|
||||
*) echo "Usage: $0 [--inc|--dec|--print]"; exit 1 ;;
|
||||
esac
|
||||
print
|
||||
|
18
.config/waybar/scripts/wifi_toggle.sh
Executable file
18
.config/waybar/scripts/wifi_toggle.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
status() { nmcli -t -f WIFI g | awk -F: '{print $1}'; } # enabled/disabled
|
||||
print() {
|
||||
s="$(status)"
|
||||
if [ "$s" = "enabled" ]; then
|
||||
echo '{"text":"","class":"on","tooltip":"Wi-Fi: enabled (click to toggle)"}'
|
||||
else
|
||||
echo '{"text":"","class":"off","tooltip":"Wi-Fi: disabled (click to toggle)"}'
|
||||
fi
|
||||
}
|
||||
case "${1:---print}" in
|
||||
--toggle) [ "$(status)" = "enabled" ] && nmcli radio wifi off || nmcli radio wifi on ;;
|
||||
--print) : ;;
|
||||
*) echo "Usage: $0 [--toggle|--print]"; exit 1 ;;
|
||||
esac
|
||||
print
|
||||
|
1
.config/waybar/style.css
Symbolic link
1
.config/waybar/style.css
Symbolic link
@@ -0,0 +1 @@
|
||||
style.css##hostname.cn-arch
|
@@ -1,181 +0,0 @@
|
||||
/* =========================
|
||||
Midnight-Ocean — Waybar GTK CSS
|
||||
========================= */
|
||||
|
||||
/* Palette */
|
||||
@define-color bg_main rgba(11, 27, 43, 0.85);
|
||||
@define-color bg_main_tooltip rgba(11, 27, 43, 0.95);
|
||||
@define-color bg_hover rgba(79, 132, 204, 0.3);
|
||||
@define-color bg_active rgba(53, 107, 171, 0.7);
|
||||
@define-color border_main rgba(79, 132, 204, 0.5);
|
||||
@define-color content_main #FFFFFF; /* ← all text white */
|
||||
@define-color content_inactive rgba(255, 255, 255, 0.45);
|
||||
@define-color warning_color #FFCC33;
|
||||
|
||||
/* Reset & Font */
|
||||
* {
|
||||
font-family: "Inconsolata Go Nerd Font";
|
||||
font-size: 14px;
|
||||
text-shadow: none;
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: @content_main;
|
||||
}
|
||||
|
||||
/* Bar Background */
|
||||
window#waybar {
|
||||
background: @bg_main;
|
||||
border-top: 1px solid @border_main;
|
||||
}
|
||||
|
||||
/* Per-bar sizing nudges */
|
||||
window#waybar.bar-dp2 * {
|
||||
font-size: 14px;
|
||||
}
|
||||
window#waybar.bar-dp1 * {
|
||||
font-size: 14px;
|
||||
}
|
||||
window#waybar.bar-hdmi * {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
/* Tooltips */
|
||||
tooltip {
|
||||
background: @bg_main_tooltip;
|
||||
border: 1px solid @border_main;
|
||||
border-radius: 4px;
|
||||
padding: 4px 6px;
|
||||
}
|
||||
|
||||
/* Module Spacing & Hover */
|
||||
.module {
|
||||
padding: 0 6px;
|
||||
margin: 0 2px;
|
||||
}
|
||||
.module:hover {
|
||||
background: @bg_hover;
|
||||
}
|
||||
|
||||
/* HDMI: tighter modules to free center space */
|
||||
window#waybar.bar-hdmi .module {
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
/* Collapse empty/noise modules */
|
||||
#mpris.empty,
|
||||
#bluetooth.disconnected {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* Separators */
|
||||
#cpu,
|
||||
#memory,
|
||||
#disk,
|
||||
#disk-nvme0,
|
||||
#disk-nvme1,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#bluetooth,
|
||||
#power-profiles-daemon,
|
||||
#custom-alhp,
|
||||
#custom-razer-mouse-battery,
|
||||
#custom-hyprsunset {
|
||||
/* ← new module gets a separator too */
|
||||
border-right: 1px solid @border_main;
|
||||
}
|
||||
|
||||
/* Workspaces */
|
||||
#workspaces {
|
||||
margin: 0 2px;
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 4px 6px;
|
||||
color: @content_inactive;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
background: @bg_hover;
|
||||
color: @content_main;
|
||||
}
|
||||
#workspaces button.active {
|
||||
background: @bg_active;
|
||||
color: @content_main;
|
||||
font-weight: 600;
|
||||
}
|
||||
#workspaces button.urgent {
|
||||
background: rgba(255, 204, 51, 0.35);
|
||||
color: @warning_color;
|
||||
}
|
||||
|
||||
/* Window title (hyprland/window): truncation via config max-length */
|
||||
#window {
|
||||
min-width: 0;
|
||||
font-weight: 500;
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
/* MPRIS */
|
||||
#mpris {
|
||||
min-width: 0;
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
/* Tray & Clock */
|
||||
#tray,
|
||||
#clock {
|
||||
padding: 0 6px;
|
||||
}
|
||||
#tray > .passive {
|
||||
opacity: 0.7;
|
||||
}
|
||||
#tray > .needs-attention {
|
||||
color: @warning_color;
|
||||
}
|
||||
|
||||
/* Battery states */
|
||||
#battery.warning {
|
||||
color: @warning_color;
|
||||
}
|
||||
#battery.critical {
|
||||
color: @warning_color;
|
||||
}
|
||||
#battery.critical span {
|
||||
color: @warning_color;
|
||||
}
|
||||
|
||||
/* Optional subtle accent for quick scanning (kept minimal; text still white overall) */
|
||||
#cpu,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#bluetooth,
|
||||
#mpris,
|
||||
#custom-hyprsunset {
|
||||
color: #dee6f7; /* very light tint; still reads as white on dark */
|
||||
}
|
||||
|
||||
/* Drawer polish (DP-1) */
|
||||
#custom-sys {
|
||||
padding: 0 8px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.sys {
|
||||
padding: 0 6px;
|
||||
}
|
||||
.revealed .sys {
|
||||
background: rgba(79, 132, 204, 0.12);
|
||||
}
|
||||
|
||||
/* Customs */
|
||||
#custom-alhp,
|
||||
#custom-razer-mouse-battery,
|
||||
#custom-hyprsunset {
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
/* Network states */
|
||||
#network.disconnected {
|
||||
color: @warning_color;
|
||||
}
|
Reference in New Issue
Block a user