New opt-in feature for x86_64 desktops: sway + wofi + foot + swaybg +
swaylock + swayidle + grim + slurp + waybar + wl-clipboard. mako on
arch, dunst on debian (mako isn't packaged for debian).
Files:
- .chezmoi.yaml.tmpl: added data.sway flag (true on miche/byte/kaiser,
false on Pis). Override per host with ~/.config/chezmoi/features/sway
or ~/.config/chezmoi/features/no-sway marker files.
- run_once_40-install-sway.sh.tmpl: installs packages if .sway=true,
exits 0 otherwise. Sets up the marker file.
- dot_config/{sway,foot,wofi,waybar,mako}/: existing configs from miche.
Per-host toggle workflow:
# On any box, enable sway:
touch ~/.config/chezmoi/features/sway
chezmoi apply
# On a sway-enabled box, disable it:
touch ~/.config/chezmoi/features/no-sway
rm ~/.config/chezmoi/features/sway
chezmoi apply
Currently sway packages are already installed on miche (existed before
this commit). Byte will get them via the new run_once_40 script.
Pis (rye, crouton) are unaffected — install script early-returns.
92 lines
2.2 KiB
CSS
92 lines
2.2 KiB
CSS
/* === waybar — gruvbox-material-dark-hard, polished === */
|
|
|
|
* {
|
|
font-family: "Maple Mono NF";
|
|
font-size: 14px;
|
|
min-height: 0;
|
|
padding: 0;
|
|
margin: 0;
|
|
border: none;
|
|
}
|
|
|
|
/* transparent bar so the desktop bleeds through at the edges */
|
|
window#waybar {
|
|
background-color: rgba(29, 32, 33, 0.92);
|
|
color: #ebdbb2;
|
|
border-bottom: 1px solid #3c3836;
|
|
}
|
|
|
|
window#waybar.hidden { opacity: 0.2; }
|
|
|
|
/* workspaces */
|
|
#workspaces button {
|
|
padding: 0 12px;
|
|
background: transparent;
|
|
color: #a89984;
|
|
box-shadow: inset 0 -2px transparent;
|
|
transition: all 200ms ease;
|
|
}
|
|
#workspaces button:hover {
|
|
background: #3c3836;
|
|
color: #ebdbb2;
|
|
}
|
|
#workspaces button.focused {
|
|
color: #fabd2f;
|
|
box-shadow: inset 0 -2px #fabd2f;
|
|
}
|
|
#workspaces button.urgent {
|
|
color: #fb4934;
|
|
animation: blink 1s linear infinite alternate;
|
|
}
|
|
|
|
#mode {
|
|
color: #fb4934;
|
|
background: #282828;
|
|
padding: 0 12px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
#clock {
|
|
color: #ebdbb2;
|
|
font-weight: bold;
|
|
padding: 0 16px;
|
|
border-left: 1px solid #3c3836;
|
|
border-right: 1px solid #3c3836;
|
|
}
|
|
#clock:hover { color: #fabd2f; }
|
|
|
|
/* right-side modules — shared layout, individual color */
|
|
#pulseaudio, #battery, #cpu, #memory, #network, #tray, #custom-caffeine {
|
|
padding: 0 12px;
|
|
border-left: 1px solid #3c3836;
|
|
transition: all 200ms ease;
|
|
}
|
|
#pulseaudio:hover, #battery:hover, #cpu:hover, #memory:hover, #network:hover, #tray:hover, #custom-caffeine:hover {
|
|
background: #3c3836;
|
|
}
|
|
|
|
#pulseaudio { color: #b8bb26; }
|
|
#pulseaudio.muted { color: #928374; }
|
|
#battery { color: #d79921; }
|
|
#battery.charging { color: #b8bb26; }
|
|
#battery.good { color: #b8bb26; }
|
|
#battery.warning { color: #fe8019; }
|
|
#battery.critical {
|
|
color: #fb4934;
|
|
animation: blink 1s linear infinite alternate;
|
|
}
|
|
#cpu { color: #83a598; }
|
|
#memory { color: #d3869b; }
|
|
#network { color: #fabd2f; }
|
|
#network.disconnected { color: #fb4934; }
|
|
#tray { padding: 0 10px; }
|
|
|
|
#custom-caffeine { color: #a89984; }
|
|
#custom-caffeine.active { color: #fabd2f; }
|
|
#custom-caffeine.active:hover { background: #3c3836; }
|
|
|
|
#sway-workspaces { margin: 0 4px; }
|
|
|
|
@keyframes blink {
|
|
to { opacity: 0.3; }
|
|
}
|