theme cycle trigger waybar theme

This commit is contained in:
samantha42
2026-04-19 09:12:58 +02:00
parent 22eb9ddc46
commit 69bbc15cb2
6 changed files with 202 additions and 158 deletions

View File

@@ -12,12 +12,14 @@ apply_day() {
for mon in "${MONITORS[@]}"; do
hyprctl hyprpaper wallpaper "$mon,$DAY_WALL" &>/dev/null
done
sh ~/.config/waybar/switch-theme.sh day
}
apply_night() {
for mon in "${MONITORS[@]}"; do
hyprctl hyprpaper wallpaper "$mon,$NIGHT_WALL" &>/dev/null
done
sh ~/.config/waybar/switch-theme.sh night
}
wait_for_hyprpaper() {

View File

@@ -1,158 +0,0 @@
/* ── Global ─────────────────────────────────────────── */
/*
Theme: Arch Bliss
Inspired by the rolling green hills and blue sky of the wallpaper.
Palette:
Sky deep: #2a6db5 (upper sky blue)
Sky mid: #5b9fd6 (horizon blue)
Sky light: #a8cef0 (pale sky)
Grass dark: #3a6b0e (shadow grass)
Grass mid: #5a9416 (mid grass)
Grass light: #7dbe1e (bright grass highlight)
Hill muted: #4a7a12 (rolling hills mid)
White: #f0f4f8 (Arch logo white)
Muted: #8bafc8 (distant hill / muted text)
Urgent: #c0392b (red for warnings)
*/
* {
font-family: "JetBrainsMono Nerd Font", "Noto Sans", monospace;
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: rgba(255, 255, 255, 0);
color: #f0f4f8;
border-radius: 10px;
}
/* ── Workspaces ─────────────────────────────────────── */
#workspaces {
background: rgba(0, 0, 0, 0.35);
border-radius: 8px;
padding: 2px 2px;
}
#workspaces button {
padding: 2px 8px;
color: #ffffff;
background: transparent;
border-radius: 6px;
font-size: 15px;
transition: all 0.2s ease;
}
#workspaces button:hover {
background: rgba(168, 206, 240, 0.18);
color: #f0f4f8;
}
#workspaces button.active {
background: rgba(90, 148, 22, 0.85);
color: #f0f4f8;
box-shadow: 0 0 6px rgba(125, 190, 30, 0.4);
}
#workspaces button.urgent {
color: #c0392b;
background: rgba(192, 57, 43, 0.18);
}
#workspaces button.empty {
color: #5b7a99;
}
/* ── Window title ───────────────────────────────────── */
#window {
background: rgba(0, 0, 0, 0.35);
color: #ffffff;
padding: 0 10px;
font-style: italic;
border-radius: 8px;
}
/* ── Clock ──────────────────────────────────────────── */
#clock {
color: #ffffff;
padding: 1px 14px;
font-weight: bold;
border-radius: 8px;
background: rgba(0, 0, 0, 0.35);
}
#custom-theme {
color: #ffffff;
padding: 1px 14px;
font-weight: bold;
border-radius: 8px;
background: rgba(0, 0, 0, 0.35);
}
#custom-theme.day {
color: #f9e2af;
}
#custom-theme.night {
color: #89b4fa;
}
#custom-theme.auto {
color: #a6e3a1;
}
/* ── Right modules shared style ─────────────────────── */
#cpu,
#memory,
#network,
#pulseaudio {
padding: 2px 10px;
border-radius: 8px;
background: rgba(0, 0, 0, 0.35);
color: #ffffff;
}
/* ── CPU ────────────────────────────────────────────── */
#cpu { color: #bfff5e; } /* bright grass green */
#cpu.warning { color: #ffe943; } /* warm amber */
#cpu.critical { color: #ff6250; } /* red */
/* ── Memory ─────────────────────────────────────────── */
#memory { color: #7dc2ff; } /* sky mid-blue */
/* ── Tray ───────────────────────────────────────────── */
#tray {
padding: 2px 8px;
border-radius: 8px;
background: rgba(0, 0, 0, 0.35);
color: #ffffff;
}
#tray > .passive { -gtk-icon-effect: dim; }
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: rgba(192, 57, 43, 0.2);
}
/* ── Custom 2D Workspaces ───────────────────────────── */
#custom-2d-workspaces {
font-size: 13px;
font-weight: bold;
padding: 0 12px;
border-radius: 6px;
transition: all 0.15s ease;
}
/* Base row — sky blue */
#custom-2d-workspaces.base {
color: #a8cef0;
background: transparent;
}
/* Sub-workspace — grass green tint */
#custom-2d-workspaces.sub {
color: #7dbe1e;
background: rgba(255, 255, 255, 0.5);
}

1
waybar/style.css Symbolic link
View File

@@ -0,0 +1 @@
/home/sam42/.config/waybar/themes/day.css

20
waybar/switch-theme.sh Executable file
View File

@@ -0,0 +1,20 @@
#!/bin/bash
# ~/.config/waybar/switch-theme.sh
THEME_DIR="$HOME/.config/waybar/themes"
STYLE="$HOME/.config/waybar/style.css"
THEME="$1" # e.g. dark, light, catppuccin
if [ -z "$THEME" ]; then
echo "Usage: switch-theme.sh <theme-name>"
exit 1
fi
if [ ! -f "$THEME_DIR/$THEME.css" ]; then
echo "Theme '$THEME' not found in $THEME_DIR"
exit 1
fi
ln -sf "$THEME_DIR/$THEME.css" "$STYLE"
pkill -SIGUSR2 waybar
echo "Switched to $THEME"

159
waybar/themes/day.css Normal file
View File

@@ -0,0 +1,159 @@
/* ── Global ─────────────────────────────────────────── */
/*
Theme: Arch Bliss
Inspired by the rolling green hills and blue sky of the wallpaper.
Palette:
Sky deep: #2a6db5 (upper sky blue)
Sky mid: #5b9fd6 (horizon blue)
Sky light: #a8cef0 (pale sky)
Grass dark: #3a6b0e (shadow grass)
Grass mid: #5a9416 (mid grass)
Grass light: #7dbe1e (bright grass highlight)
Hill muted: #4a7a12 (rolling hills mid)
White: #f0f4f8 (Arch logo white)
Muted: #8bafc8 (distant hill / muted text)
Urgent: #c0392b (red for warnings)
*/
* {
font-family: "JetBrainsMono Nerd Font", "Noto Sans", monospace;
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: rgba(255, 255, 255, 0);
color: #f0f4f8;
border-radius: 10px;
}
/* ── Workspaces ─────────────────────────────────────── */
#workspaces {
background: rgba(0, 0, 0, 0.35);
border-radius: 8px;
padding: 2px 2px;
}
#workspaces button {
padding: 2px 8px;
color: #ffffff;
background: transparent;
border-radius: 6px;
font-size: 15px;
transition: all 0.2s ease;
}
#workspaces button:hover {
background: rgba(168, 206, 240, 0.18);
color: #f0f4f8;
}
#workspaces button.active {
background: rgba(90, 148, 22, 0.85);
color: #f0f4f8;
box-shadow: 0 0 6px rgba(125, 190, 30, 0.4);
}
#workspaces button.urgent {
color: #c0392b;
background: rgba(192, 57, 43, 0.18);
}
#workspaces button.empty {
color: #5b7a99;
}
/* ── Window title ───────────────────────────────────── */
#window {
background: rgba(0, 0, 0, 0.35);
color: #ffffff;
padding: 0 10px;
font-style: italic;
border-radius: 8px;
}
/* ── Clock ──────────────────────────────────────────── */
#clock {
color: #ffffff;
padding: 1px 14px;
font-weight: bold;
border-radius: 8px;
background: rgba(0, 0, 0, 0.35);
}
/* ── Right modules shared style ─────────────────────── */
#cpu,
#memory,
#network,
#pulseaudio {
padding: 2px 10px;
border-radius: 8px;
background: rgba(0, 0, 0, 0.35);
color: #ffffff;
}
/* ── CPU ────────────────────────────────────────────── */
#cpu { color: #bfff5e; } /* bright grass green */
#cpu.warning { color: #ffe943; } /* warm amber */
#cpu.critical { color: #ff6250; } /* red */
/* ── Memory ─────────────────────────────────────────── */
#memory { color: #7dc2ff; } /* sky mid-blue */
/* ── Tray ───────────────────────────────────────────── */
#tray {
padding: 2px 8px;
border-radius: 8px;
background: rgba(0, 0, 0, 0.35);
color: #ffffff;
}
#tray > .passive { -gtk-icon-effect: dim; }
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: rgba(192, 57, 43, 0.2);
}
/* ── Custom 2D Workspaces ───────────────────────────── */
#custom-2d-workspaces {
font-size: 13px;
font-weight: bold;
padding: 0 12px;
border-radius: 6px;
transition: all 0.15s ease;
}
/* Base row — sky blue */
#custom-2d-workspaces.base {
color: #a8cef0;
background: transparent;
}
/* Sub-workspace — grass green tint */
#custom-2d-workspaces.sub {
color: #7dbe1e;
background: rgba(255, 255, 255, 0.5);
}
#custom-theme {
color: #ffffff;
padding: 1px 14px;
font-weight: bold;
border-radius: 8px;
background: rgba(0, 0, 0, 0.35);
}
#custom-theme.day {
color: #f9e2af;
}
#custom-theme.night {
color: #89b4fa;
}
#custom-theme.auto {
color: #a6e3a1;
}

View File

@@ -127,4 +127,24 @@ window#waybar {
#custom-2d-workspaces.sub {
color: #7dbe1e;
background: rgba(255, 255, 255, 0.5);
}
#custom-theme {
color: #ffffff;
padding: 1px 14px;
font-weight: bold;
border-radius: 8px;
background: rgba(0, 0, 0, 0.35);
}
#custom-theme.day {
color: #f9e2af;
}
#custom-theme.night {
color: #89b4fa;
}
#custom-theme.auto {
color: #a6e3a1;
}