Files
dotfiles/waybar/style.css

190 lines
3.9 KiB
CSS

/* GTK Color Definitions */
@define-color bg-primary rgba(23, 28, 39, 0.8);
@define-color bg-secondary rgba(23, 28, 39, 0.7);
@define-color border-color rgba(90, 104, 115, 0.8);
@define-color text-primary #ffffff;
@define-color text-secondary #888888;
@define-color accent-color #E96375;
@define-color accent-alt #f97385;
@define-color warning #FFAA00;
@define-color danger #FF0000;
@define-color success #AAFFAA;
* {
font-family: "Iosevka Nerd Font";
font-size: 15px;
}
window#waybar {
background-color: transparent;
color: @text-primary;
transition-property: background-color;
transition-duration: 0.5s;
}
window#waybar.hidden {
opacity: 0.2;
}
window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}
/* Common module styling */
.modules-left, .modules-right, #mpd.playing, #mpd.paused {
background: linear-gradient(to bottom, @bg-primary, @bg-secondary);
border: 3px solid @border-color;
border-top: none;
}
.modules-left {
border-left: none;
border-radius: 0 0 10px 0;
}
.modules-right {
border-right: none;
border-radius: 0 0 0 10px;
}
/* MPD player states */
#mpd.stopped {
border: none;
border-radius: 0 0 10px 10px;
}
#mpd.playing, #mpd.paused {
border-radius: 0 0 10px 10px;
}
#mpd.playing {
color: @accent-alt;
}
/* Workspaces */
#workspaces button {
padding: 0 5px;
background-color: transparent;
color: @text-primary;
}
#workspaces button.empty {
color: @text-secondary;
}
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
}
#workspaces button.active.hosting-monitor {
background-color: rgba(0, 0, 0, 0.32);
box-shadow: inset 0 -3px @accent-color;
color: @accent-color;
animation: hover 0.8s 1;
}
#workspaces button.urgent {
animation: blink-attention 2s infinite;
}
/* Module base styling */
#clock, #battery, #cpu, #memory, #disk, #temperature, #backlight,
#network, #pulseaudio, #wireplumber, #custom-media, #tray, #mode,
#idle_inhibitor, #scratchpad, #mpd {
padding: 0 10px;
color: @text-primary;
transition: color 2s ease-out, border-bottom 2s ease-out, background 2s ease-out;
}
/* Hover effects */
#clock:hover, #battery:hover, #cpu:hover, #memory:hover, #disk:hover,
#temperature:hover, #backlight:hover, #network:hover, #pulseaudio:hover,
#wireplumber:hover, #custom-media:hover, #mode:hover, #idle_inhibitor:hover,
#scratchpad:hover, #power-profiles-daemon:hover {
color: @accent-color;
background: rgba(0, 0, 0, 0.2);
transition: color 0.5s ease-out, border-bottom 0.5s ease-out, background 0.5s ease-out;
}
#mpd:hover {
color: @accent-color;
animation: hover 0.2s 1;
}
/* Battery states */
#battery.charging, #battery.plugged {
color: @success;
border-bottom: 3px solid @success;
}
#battery.warning:not(.charging) {
color: @warning;
border-bottom: 3px solid @warning;
}
#battery.critical:not(.charging) {
color: @danger;
border-bottom: 3px solid @danger;
}
/* Power profiles */
#power-profiles-daemon {
color: @text-primary;
font-size: 17px;
padding: 0 7px 0 12px;
}
/* Temperature warning */
#temperature.critical {
animation: blink-warning 2s infinite;
}
/* Tray notifications */
#tray > .needs-attention {
-gtk-icon-effect: highlight;
animation: blink-attention 2s infinite;
}
/* Animations */
@keyframes hover {
0% { color: @text-primary; }
100% { color: @accent-color; }
}
/* Layout utilities */
#window, #workspaces {
margin: 0 4px;
}
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
button {
box-shadow: inset 0 -3px transparent;
border: none;
border-radius: 0;
}
button:hover {
background: inherit;
box-shadow: inset 0 -3px @text-primary;
}
#mode {
box-shadow: inset 0 -3px @text-primary;
}
#idle_inhibitor.activated {
animation: blink-warning 2s infinite;
}