226 lines
4.4 KiB
CSS
226 lines
4.4 KiB
CSS
/* ~/.config/waybar/style.css */
|
|
@import "./catppuccin-waybar/themes/mocha.css";
|
|
|
|
/* --- Global Reset --- */
|
|
* {
|
|
border: none;
|
|
border-radius: 12px;
|
|
min-height: 0;
|
|
font-family: JetBrainsMono Nerd Font, sans-serif;
|
|
font-size: 12px;
|
|
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
}
|
|
|
|
/* --- Bar Background (Floating Island Style) --- */
|
|
window#waybar {
|
|
background-color: transparent;
|
|
color: @text;
|
|
}
|
|
|
|
/* --- Top Bar Special Handling --- */
|
|
window#waybar.top {
|
|
margin-top: 6px;
|
|
}
|
|
|
|
/* --- Bottom Bar Special Handling --- */
|
|
window#waybar.bottom {
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
/* --- Shared Island Styling --- */
|
|
#workspaces,
|
|
#window,
|
|
#tray,
|
|
#hardware,
|
|
#custom-bluetooth-audio,
|
|
#custom-volume,
|
|
#custom-buds,
|
|
#custom-mic,
|
|
#custom-dnd,
|
|
#custom-gamemode,
|
|
#custom-power_status {
|
|
background-color: alpha(@surface0, 0.8);
|
|
margin: 4px 6px;
|
|
padding: 4px 16px;
|
|
border: 1px solid alpha(@surface1, 0.5);
|
|
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
|
|
color: @text; /* Unifies all standard text to the soft Catppuccin white */
|
|
}
|
|
|
|
/* --- Workspaces --- */
|
|
#workspaces {
|
|
padding: 2px 8px;
|
|
}
|
|
|
|
#workspaces button {
|
|
padding: 0;
|
|
margin: 4px;
|
|
min-width: 12px;
|
|
min-height: 12px;
|
|
background-color: @subtext0; /* Subtle dark gray for inactive */
|
|
color: transparent;
|
|
border-radius: 12px;
|
|
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
}
|
|
|
|
#workspaces button.active {
|
|
min-width: 30px;
|
|
background-color: @mauve; /* Signature Catppuccin accent */
|
|
}
|
|
|
|
#workspaces button.active:hover { min-width: 30px; background-color: @mauve; }
|
|
|
|
#workspaces button:hover {
|
|
background-color: @lavender;
|
|
min-width: 20px;
|
|
}
|
|
|
|
#workspaces button.urgent {
|
|
background-color: @red;
|
|
}
|
|
|
|
/* --- Clock (Centered Pill) --- */
|
|
#center {
|
|
background: linear-gradient(45deg, @mauve, @lavender); /* Cohesive pastel gradient */
|
|
color: @surface0;
|
|
font-weight: 900;
|
|
margin: 4px 6px;
|
|
padding: 4px 20px;
|
|
border-radius: 12px;
|
|
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
/* --- Power Status --- */
|
|
#custom-power_status {
|
|
font-weight: bold;
|
|
}
|
|
#custom-power_status.charging {
|
|
color: @green;
|
|
}
|
|
#custom-power_status.warning {
|
|
color: @peach;
|
|
}
|
|
#custom-power_status.critical {
|
|
color: @red;
|
|
animation: blink 1s infinite alternate;
|
|
}
|
|
|
|
@keyframes blink {
|
|
to {
|
|
color: @base;
|
|
background-color: @red;
|
|
}
|
|
}
|
|
|
|
/* --- Hardware Group (Left Bottom) --- */
|
|
#hardware {
|
|
border-radius: 24px;
|
|
padding: 4px 10px;
|
|
}
|
|
|
|
/* Strip backgrounds and borders from the items inside the group */
|
|
#custom-cpu,
|
|
#custom-mem,
|
|
#custom-network
|
|
#custom-sys,
|
|
#custom-gpu,
|
|
#custom-disk-root,
|
|
#custom-mpris,
|
|
#clock,
|
|
#custom-dnd {
|
|
background-color: transparent;
|
|
border: none;
|
|
box-shadow: none;
|
|
margin: 0;
|
|
padding: 0 8px;
|
|
}
|
|
|
|
/* Subtle vertical separator line between them */
|
|
#custom-cpu,
|
|
#custom-mem,
|
|
#custom-sys,
|
|
#custom-gpu,
|
|
#custom-disk-root,
|
|
#custom-mpris
|
|
/* #clock */ {
|
|
border-right: 1px solid alpha(@surface1, 0.5);
|
|
border-radius: 0;
|
|
}
|
|
|
|
#custom-network {
|
|
padding-left: 8px;
|
|
color: @mauve;
|
|
}
|
|
|
|
/* Hardware Semantic Alerts */
|
|
.normal { color: @mauve; }
|
|
.high { color: @peach; }
|
|
.max { color: @red; }
|
|
|
|
/* Stale Data Warning (Module in backoff/failure state) */
|
|
/* .warning {
|
|
color: @peach;
|
|
opacity: 0.6;
|
|
} */
|
|
|
|
/* --- Center Bottom Utilities --- */
|
|
#custom-gamemode.active {
|
|
color: @mauve; /* Matches the workspace accent */
|
|
/* padding-left: 9px; */
|
|
}
|
|
|
|
/* --- Right Bottom Controls Semantic Alerts --- */
|
|
#custom-volume.muted,
|
|
#custom-mic.muted {
|
|
color: @overlay1; /* Dims when muted */
|
|
}
|
|
|
|
|
|
#custom-bluetooth-audio.disabled {
|
|
color: @overlay1; /* Green for active ANC */
|
|
}
|
|
|
|
#custom-bluetooth-audio.connected {
|
|
color: @blue; /* Green for active ANC */
|
|
}
|
|
|
|
#custom-bluetooth-audio.anc-off {
|
|
color: @blue; /* Green for active ANC */
|
|
}
|
|
|
|
#custom-bluetooth-audio.anc-active {
|
|
color: @blue; /* Green for active ANC */
|
|
}
|
|
|
|
#custom-bluetooth-audio.anc-aware {
|
|
color: @blue; /* Yellow for transparency mode */
|
|
}
|
|
|
|
#custom-bluetooth-audio.disconnected {
|
|
color: @text; /* Gray when off */
|
|
}
|
|
|
|
/* --- Hover States --- */
|
|
#custom-volume:hover,
|
|
#custom-buds:hover,
|
|
#custom-mic:hover,
|
|
#custom-bluetooth-audio:hover,
|
|
#custom-power_status:hover {
|
|
background-color: @surface1;
|
|
color: @mauve; /* Subtle accent color on hover instead of jarring borders */
|
|
}
|
|
|
|
|
|
/* --- Tooltip --- */
|
|
tooltip {
|
|
background-color: alpha(@base, 0.9);
|
|
border: 1px solid @surface1;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
tooltip label {
|
|
color: @text;
|
|
padding: 8px;
|
|
}
|
|
|