Files
dotfiles/hypr/.config/waybar/style.css
T
2026-09-21 22:39:09 +02:00

234 lines
4.1 KiB
CSS
Executable File

/* Central theme: roles + palette imported from basic/.config/themes
* (mocha.css is a symlink into the current theme's theme.css).
* This file must use @role/@palette names only — never hardcoded colors —
* so a future theme only swaps the central files. */
@import url("mocha.css");
* {
font-family: "JetBrainsMono Nerd Font", FontAwesome, sans-serif;
font-size: 13px;
}
/* ---------- Waybar Container ---------- */
window#waybar {
background-color: @bg_dim;
color: @fg;
border-bottom: 1px solid @border;
box-shadow: 0 10px 30px rgba(0,0,0,0.30);
transition-property: background-color, opacity;
transition-duration: .5s;
}
window#waybar.hidden {
opacity: 0.35;
}
/* ---------- Buttons / Workspaces ---------- */
button {
box-shadow: inset 0 -2px transparent;
border: none;
border-radius: 0;
}
button:hover {
background: inherit;
box-shadow: inset 0 -2px @accent;
}
#workspaces button {
padding: 0 8px;
margin: 4px 3px;
background-color: @surface;
color: @fg_dim;
border: 1px solid @border;
border-radius: 10px;
}
#workspaces button:hover {
background: @border;
color: @fg;
}
#workspaces button.focused,
#workspaces button.active {
background-color: @accent;
color: @bg_deep;
border: 1px solid @accent;
box-shadow: inset 0 -2px @accent2;
}
#workspaces button.urgent {
background-color: @urgent;
border-color: @urgent;
color: @bg_deep;
}
#window,
#workspaces {
margin: 0 4px;
}
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
/* ---------- Common “Chip” module style ---------- */
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#custom-gpu,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#power-profiles-daemon,
#mpd,
#language,
#keyboard-state,
#privacy,
#privacy-item {
padding: 0 10px;
color: @fg;
background-color: @surface;
border: 1px solid @border;
border-radius: 10px;
margin: 4px 4px;
}
#pulseaudio:hover,
#wireplumber:hover,
#network:hover,
#clock:hover {
background-color: @border;
}
#clock {
border-color: @accent;
}
/* Battery */
#battery.charging,
#battery.plugged {
background-color: @ok;
border-color: @ok;
color: @bg_deep;
}
@keyframes blink {
to {
background-color: @urgent;
border-color: @urgent;
}
}
#battery.critical:not(.charging) {
background-color: @urgent;
border-color: @urgent;
color: @bg_deep;
animation-name: blink;
animation-duration: 0.6s;
animation-timing-function: steps(10);
animation-iteration-count: infinite;
animation-direction: alternate;
}
/* Network */
#network.disconnected {
background-color: @urgent;
border-color: @urgent;
color: @bg_deep;
}
/* Audio */
#pulseaudio:hover {
background-color: @border;
}
#pulseaudio.muted {
background-color: @surface;
border-color: @border;
color: @fg_muted;
}
#wireplumber.muted {
background-color: @urgent;
border-color: @urgent;
color: @bg_deep;
}
/* Temperature */
#temperature.critical {
background-color: @urgent;
border-color: @urgent;
color: @bg_deep;
}
/* Tray */
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: @urgent;
border-radius: 10px;
}
/* Idle inhibitor */
#idle_inhibitor.activated {
background-color: @accent;
border-color: @accent;
color: @bg_deep;
}
/* Scratchpad */
#scratchpad {
background: @surface;
}
#scratchpad.empty {
background-color: transparent;
border-color: transparent;
}
/* Privacy */
#privacy {
padding: 0;
background-color: transparent;
border-color: transparent;
}
#privacy-item {
padding: 0 6px;
color: @fg;
}
#privacy-item.screenshare {
background-color: @warn;
border-color: @warn;
color: @bg_deep;
}
#privacy-item.audio-in {
background-color: @ok;
border-color: @ok;
color: @bg_deep;
}
#privacy-item.audio-out {
background-color: @accent;
border-color: @accent;
color: @bg_deep;
}