- config_top.jsonc: - Group modules into traygroup, pomodorogroup, bench, general - Add weather, language, CPU, memory, temperature modules with icons and states - Add pomodoro preset buttons (10m,20m,30m,1h,1h30m) - Split battery into #watt (power draw) and #charge (charge level) - Add invisible separators for spacing - config_bottom.jsonc: - Remove unused modules from left/right, add margin-top - style_top.css: - Style new groups and modules, define state-based colors for CPU/memory/temperature - Add hover effects and critical animation for paused pomodoro - style_bottom.css: - Style minimized taskbar buttons - Fix side panel group selector (use #group)
387 lines
9.0 KiB
CSS
387 lines
9.0 KiB
CSS
/* --------------------------------------------------------------------------
|
|
IMPORTS & GLOBAL STYLES
|
|
-------------------------------------------------------------------------- */
|
|
@import "colors.css";
|
|
|
|
/* --------------------------------------------------------------------------
|
|
BASE CONTAINER
|
|
-------------------------------------------------------------------------- */
|
|
window#waybar {
|
|
/* Layout & Box Model */
|
|
/* border: 1px solid @border-color; */
|
|
/* border-bottom: none; */
|
|
/* border-radius: 10px 10px 0 0; */
|
|
|
|
/* Typography */
|
|
font-family: "Iosevka Nerd Font Propo";
|
|
font-size: 15px;
|
|
|
|
/* Colors */
|
|
background-color: transparent;
|
|
/* color: @text-primary; */
|
|
|
|
/* Effects & Transitions */
|
|
/* transition-property: background-color; */
|
|
/* transition-duration: 0.5s; */
|
|
}
|
|
|
|
/* Window States */
|
|
window#waybar.hidden {
|
|
opacity: 0.2;
|
|
}
|
|
|
|
window#waybar.termite {
|
|
background-color: #3F3F3F;
|
|
}
|
|
|
|
window#waybar.chromium {
|
|
background-color: #000000;
|
|
border: none;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
MODULE COMMON STYLES
|
|
-------------------------------------------------------------------------- */
|
|
/* Common styling applied to all modules */
|
|
#mpd,
|
|
#mpris,
|
|
#custom-pomodoro,
|
|
#custom-weather,
|
|
#clock,
|
|
#battery,
|
|
#network,
|
|
#pulseaudio,
|
|
#pulseaudio-slider,
|
|
#scratchpad,
|
|
#language,
|
|
#cpu,
|
|
#memory,
|
|
#temperature,
|
|
#tray {
|
|
padding: 0 10px;
|
|
color: @text-primary;
|
|
transition: color 0.3s ease, text-shadow 0.3s ease, background 0.3s ease;
|
|
}
|
|
|
|
#custom-separator-invisible {
|
|
padding: 0 30px;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
WORKSPACES
|
|
-------------------------------------------------------------------------- */
|
|
#workspaces {
|
|
font-size: 18px;
|
|
background-color: transparent;
|
|
}
|
|
|
|
#workspaces button {
|
|
padding: 0 6px;
|
|
min-width: 20px;
|
|
background-color: transparent;
|
|
color: alpha(@accent, 0.5);
|
|
border: none;
|
|
border-radius: 0;
|
|
}
|
|
|
|
/* Workspace States */
|
|
#workspaces button.empty:not(.special) {
|
|
color: @text-secondary;
|
|
}
|
|
|
|
#workspaces button.active:not(.hosting-monitor) {
|
|
text-shadow: 0px 0px 8px @accent;
|
|
}
|
|
|
|
#workspaces button.special.active {
|
|
text-shadow: 0px 0px 8px @primary;
|
|
}
|
|
|
|
#workspaces button.active.hosting-monitor {
|
|
color: @accent;
|
|
text-shadow: 0px 0px 8px @accent;
|
|
animation: hover 0.8s 1;
|
|
}
|
|
|
|
#workspaces button.empty:not(.hosting-monitor):not(.special) {
|
|
color: alpha(@text-secondary, 0.45);
|
|
}
|
|
|
|
#workspaces button.urgent {
|
|
color: @attention;
|
|
font-weight: 700;
|
|
text-shadow: 0px 0px 8px @attention;
|
|
transition: color 0.5s, box-shadow 0.5s, background 0.5s;
|
|
}
|
|
|
|
#workspaces button:hover {
|
|
color: @text-primary;
|
|
background: none;
|
|
box-shadow: none;
|
|
text-shadow: 0px -2px 3px @text-primary;
|
|
}
|
|
|
|
#workspaces button:not(.hosting-monitor):not(.empty):not(.special) {
|
|
color: alpha(@accent, 0.2);
|
|
}
|
|
|
|
#workspaces button.active.hosting-monitor:hover {
|
|
color: @text-primary;
|
|
background: none;
|
|
box-shadow: none;
|
|
text-shadow: 0px 0px 8px @text-primary;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
BATTERY
|
|
-------------------------------------------------------------------------- */
|
|
#language {
|
|
padding-right: 0;
|
|
padding-left: 12px;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
BATTERY
|
|
-------------------------------------------------------------------------- */
|
|
#battery.watt {
|
|
padding-right: 0;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
CPU
|
|
-------------------------------------------------------------------------- */
|
|
#cpu {
|
|
font-size: 20px;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
MEMORY
|
|
-------------------------------------------------------------------------- */
|
|
#memory {
|
|
font-size: 20px;
|
|
padding: 0;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
TEMPERATURE
|
|
-------------------------------------------------------------------------- */
|
|
#temperature {
|
|
font-size: 20px;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
SIDE PANEL GROUPS
|
|
-------------------------------------------------------------------------- */
|
|
#general, #bench, #workspaces, #mpd, #traygroup, #custom-weather, #pomodorogroup {
|
|
/* Layout & Box Model */
|
|
border: 1px solid @border-color;
|
|
border-radius: 15px;
|
|
margin: 2.5px;
|
|
|
|
/* Colors */
|
|
background-color: @bg-panel;
|
|
}
|
|
|
|
.modules-left {
|
|
}
|
|
|
|
.modules-right {
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
AUDIO CONTROL MODULES
|
|
-------------------------------------------------------------------------- */
|
|
#pulseaudio {
|
|
padding-right: 0;
|
|
border-right: none;
|
|
}
|
|
|
|
#pulseaudio-slider slider {
|
|
min-height: 0px;
|
|
min-width: 0px;
|
|
opacity: 0;
|
|
background-image: none;
|
|
border: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
#pulseaudio-slider trough {
|
|
min-height: 10px;
|
|
min-width: 25px;
|
|
border-radius: 5px;
|
|
background: alpha(@text-primary, 0.2);
|
|
}
|
|
|
|
#pulseaudio-slider highlight {
|
|
min-width: 10px;
|
|
border-radius: 5px;
|
|
background: @text-primary;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
CUSTOM MODULES
|
|
-------------------------------------------------------------------------- */
|
|
#custom-pomodoro {
|
|
color: @text-primary;
|
|
border-radius: 0 0 10px 10px;
|
|
}
|
|
|
|
#pomodorogroup .drawer-child * {
|
|
color: @text-primary;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
STATE-BASED STYLES
|
|
-------------------------------------------------------------------------- */
|
|
|
|
/* POMODORO STATES */
|
|
#custom-pomodoro.work {
|
|
color: @attention;
|
|
}
|
|
|
|
#custom-pomodoro.break {
|
|
color: @success;
|
|
text-shadow: 0px 0px 4px rgba(0, 255, 0, 1);
|
|
}
|
|
|
|
#custom-pomodoro.pause {
|
|
animation: critical 0.5s 50;
|
|
}
|
|
|
|
/* MPD STATES */
|
|
#mpd, #mpris {
|
|
transition: color 2s, background 2s;
|
|
}
|
|
|
|
#mpd.playing, #mpris.playing {
|
|
color: @accent;
|
|
font-weight: 700;
|
|
/* color: @text-primary; */
|
|
}
|
|
|
|
#mpd.stopped, #mrpis.stopped {
|
|
color: transparent;
|
|
background: transparent;
|
|
border-color: transparent;
|
|
transition: color 2s, background 2s;
|
|
}
|
|
|
|
#mpd.paused, #mpris.paused {
|
|
font-weight: normal;
|
|
color: @text-primary;
|
|
}
|
|
|
|
/* BATTERY STATES */
|
|
#battery.charge.charging,
|
|
#battery.charge.plugged {
|
|
color: @success;
|
|
text-shadow: 0px 0px 8px @success;
|
|
transition: color 0.3s, box-shadow 0.3s, background 0.3s;
|
|
}
|
|
|
|
#battery.charge.warning:not(.charging) {
|
|
color: @warning;
|
|
text-shadow: 0px 0px 8px @warning;
|
|
transition: color 0.3s, box-shadow 0.3s, background 0.3s;
|
|
}
|
|
|
|
#battery.charge.critical:not(.charging) {
|
|
color: @danger;
|
|
text-shadow: 0px 0px 8px @danger;
|
|
transition: color 0.3s, box-shadow 0.3s, background 0.3s;
|
|
}
|
|
|
|
/* CPU && MEMORY STATES */
|
|
#cpu.s1, #memory.s1, #temperature.s1 {
|
|
color: @text-primary;
|
|
transition: color 0.3s, text-shadow 0.3s, background 0.3s;
|
|
}
|
|
|
|
#cpu.s2, #memory.s2 {
|
|
color: @text-primary;
|
|
text-shadow: 0px 0px 2px @text-primary;
|
|
transition: color 0.3s, text-shadow 0.3s, background 0.3s;
|
|
}
|
|
|
|
#cpu.s3, #memory.s3 {
|
|
color: @attention;
|
|
text-shadow: 0px 0px 2px @attention;
|
|
transition: color 0.3s, text-shadow 0.3s, background 0.3s;
|
|
}
|
|
|
|
#cpu.s4, #memory.s4, #temperature.warning {
|
|
color: @warning;
|
|
text-shadow: 0px 0px 2px @warning;
|
|
transition: color 0.3s, text-shadow 0.3s, background 0.3s;
|
|
}
|
|
|
|
#cpu.s5, #memory.s5, #temperature.critical {
|
|
color: @danger;
|
|
text-shadow: 0px 0px 2px @danger;
|
|
transition: color 0.3s, text-shadow 0.3s, background 0.3s;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
HOVER EFFECTS
|
|
-------------------------------------------------------------------------- */
|
|
#mpd.playing:hover,
|
|
#mpd.paused:hover,
|
|
#mpris.playing:hover,
|
|
#mpris.paused:hover,
|
|
#clock:hover,
|
|
#battery:hover,
|
|
#network:hover,
|
|
#pulseaudio:hover,
|
|
#custom-pomodoro:hover,
|
|
#custom-weather:hover,
|
|
#scratchpad:hover,
|
|
#language:hover,
|
|
#pomodorogroup .drawer-child *:hover,
|
|
#tray:hover {
|
|
color: @accent;
|
|
text-shadow: 0px 0px 8px @accent;
|
|
transition: color 0.3s, box-shadow 0.3s, background 0.3s;
|
|
}
|
|
|
|
#pulseaudio-slider:hover highlight {
|
|
background: @accent;
|
|
box-shadow: 0px 0px 8px @accent;
|
|
transition: color 0.3s, box-shadow 0.3s, background 0.3s;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
LAYOUT UTILITIES
|
|
-------------------------------------------------------------------------- */
|
|
|
|
.modules-left > widget:first-child > #workspaces {
|
|
margin-left: 0;
|
|
}
|
|
|
|
.modules-right > widget:last-child > #workspaces {
|
|
margin-right: 0;
|
|
}
|
|
|
|
/* --------------------------------------------------------------------------
|
|
ANIMATIONS
|
|
-------------------------------------------------------------------------- */
|
|
@keyframes hover {
|
|
0% { color: @text-primary; }
|
|
100% { color: @accent; }
|
|
}
|
|
|
|
@keyframes critical {
|
|
0% {
|
|
color: @attention;
|
|
text-shadow: 0px 0px 8px @attention;
|
|
}
|
|
50% {
|
|
color: @accent;
|
|
text-shadow: 0px 0px 8px @accent;
|
|
}
|
|
100% {
|
|
color: @attention;
|
|
text-shadow: 0px 0px 8px @attention;
|
|
}
|
|
}
|