Files
dotfiles/dot_config/waybar/style.css
2025-12-30 07:47:45 +01:00

263 lines
5.5 KiB
CSS

@define-color base #050505; /* Void Black */
@define-color surface #141414; /* Dark Surface */
@define-color overlay #262626; /* Light Surface */
@define-color text #ededed; /* Stark White */
@define-color muted #737373; /* Muted Text (spec) */
@define-color love #ff0044; /* Razor Red */
@define-color foam #00eaff; /* Electric Cyan */
@define-color pine #00ff99; /* Toxic Green */
@define-color gold #ffb700; /* Warning Gold */
@define-color iris #9d00ff; /* Void Purple */
@define-color stealth #404040; /* GEMINI: Stealth */
@define-color alert #ff8899; /* Apex Neon: BrRed = Alerts */
@define-color hl_low #141414;
@define-color hl_med #262626;
@define-color hl_high #262626; /* keep borders “light surface”, not random gray */
@define-color bar_alpha rgba(5, 5, 5, 0.85);
@define-color surface_alpha rgba(5, 5, 5, 0.9);
@define-color overlay_alpha rgba(20, 20, 20, 0.9);
/* Bar */
window#waybar {
background: @bar_alpha;
color: @text;
border-bottom: 1px solid @overlay;
}
/* Extra breathing room for the first/last pill in each section */
#left > :first-child,
#center > :first-child,
#right > :first-child { margin-top: 6px; }
#left > :last-child,
#center > :last-child,
#right > :last-child { margin-bottom: 6px; }
/* Typography */
* {
font-family: "InconsolataGo Nerd Font Mono", "InconsolataGo Nerd Font", monospace;
font-size: 11px;
}
/* Workspaces */
#workspaces {
margin: 0;
padding: 2px 3px;
background: transparent;
font-size: 10px;
}
/* Default workspace = neutral surface */
#workspaces button {
background: @surface_alpha;
color: @muted; /* inactive should look “off” */
border: 1px solid @overlay; /* light surface border */
border-radius: 5px;
margin: 1px;
padding: 2px 5px;
}
/* Hover = red target lock */
#workspaces button:hover {
background: @overlay_alpha;
border-color: @love;
color: @text;
}
/* Active = razor red "target locked" */
#workspaces button.active {
background: @love;
color: @base; /* spec: black text on red */
border-color: @love;
}
/* Urgent = alert red, not focus red */
#workspaces button.urgent {
background: @alert;
color: @base;
border-color: @alert;
box-shadow: 0 0 6px rgba(255, 136, 153, 0.55);
}
/* Shared pill look for ALL modules */
#cpu,
#memory,
#disk,
#network,
#privacy,
#wireplumber,
#clock,
#idle_inhibitor,
#gamemode,
#battery,
#power-profiles-daemon,
#bluetooth,
#tray,
#temperature,
#custom-swaync,
#custom-temps-cycle,
#custom-hyprsunset,
#custom-alhp {
background: @surface_alpha;
color: @text;
border: 1px solid @overlay;
border-radius: 6px;
padding: 2px 6px;
margin: 2px 2px;
}
/* Universal hover = red selection cue */
#cpu:hover,
#memory:hover,
#disk:hover,
#network:hover,
#privacy:hover,
#wireplumber:hover,
#clock:hover,
#idle_inhibitor:hover,
#gamemode:hover,
#battery:hover,
#power-profiles-daemon:hover,
#bluetooth:hover,
#tray:hover,
#temperature:hover,
#custom-swaync:hover,
#custom-temps-cycle:hover,
#custom-hyprsunset:hover,
#custom-alhp:hover {
background: @overlay_alpha;
border-color: @love;
}
/* State-driven styling: low urgency = border, high urgency = full pill */
#cpu.warning,
#memory.warning,
#disk.warning,
#battery.warning,
#temperature.warning,
#custom-temps-cycle.warning {
border-color: @gold;
}
#custom-alhp.stale,
#wireplumber.muted {
border-color: @gold;
}
#custom-swaync.unread {
border-color: @foam;
}
#idle_inhibitor.activated { border-color: @foam; }
#privacy { border-color: @iris; }
#privacy-item,
#privacy-item.screenshare,
#privacy-item.audio-in,
#privacy-item.audio-out { color: @iris; }
#cpu.critical,
#memory.critical,
#disk.critical,
#battery.critical,
#network.disconnected,
#network.disabled,
#temperature.critical,
#custom-temps-cycle.critical,
#custom-alhp.bad,
#custom-alhp.down {
background: @alert;
color: @base;
border-color: @alert;
}
#wireplumber.muted { color: @muted; }
#idle_inhibitor.deactivated { color: @muted; }
/* Group wrappers */
#group-temps,
#group-volume {
background: transparent;
border: 0;
margin: 0;
padding: 0;
}
#custom-temps-cycle.down { color: @muted; }
#group-temps #temperature { margin: 1px 0; }
#group-temps #temperature:hover { background: @overlay_alpha; border-color: @love; }
#group-temps #temperature.critical {
background: @alert;
color: @base;
border-color: @alert;
}
#group-temps #temperature.warning { border-color: @gold; }
/* Tray */
#tray > .passive { opacity: 0.7; }
#tray > .needs-attention {
background: @alert;
color: @base;
border: 1px solid @alert;
box-shadow: 0 0 6px rgba(255, 136, 153, 0.4);
}
/* Volume group sizing */
#group-volume #wireplumber {
margin: 1px 0;
padding: 2px 3px;
}
#group-volume #wireplumber:hover { background: @overlay_alpha; border-color: @love; }
/* Tooltips */
tooltip,
window#waybar tooltip {
background: @surface;
color: @text;
border: 1px solid @overlay;
border-radius: 8px;
padding: 6px 8px;
}
/* Popup menus */
menu,
.menu,
popover,
.popover {
background: @surface;
color: @text;
border: 1px solid @overlay;
border-radius: 8px;
padding: 6px 8px;
}
menuitem,
.menuitem {
background: transparent;
color: @text;
border-radius: 6px;
padding: 6px 8px;
}
menuitem:hover,
.menuitem:hover {
background: @overlay_alpha;
border: 1px solid @love;
}
menuitem:disabled,
.menuitem:disabled { color: @muted; }
menu separator,
.menu separator {
background: @overlay;
min-height: 1px;
margin: 6px 0;
}