diff --git a/hypr/theme-cycle.sh b/hypr/theme-cycle.sh index bd413f7..32a5d75 100755 --- a/hypr/theme-cycle.sh +++ b/hypr/theme-cycle.sh @@ -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() { diff --git a/waybar/style.css b/waybar/style.css deleted file mode 100644 index 7909aaf..0000000 --- a/waybar/style.css +++ /dev/null @@ -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); -} \ No newline at end of file diff --git a/waybar/style.css b/waybar/style.css new file mode 120000 index 0000000..e24d672 --- /dev/null +++ b/waybar/style.css @@ -0,0 +1 @@ +/home/sam42/.config/waybar/themes/day.css \ No newline at end of file diff --git a/waybar/switch-theme.sh b/waybar/switch-theme.sh new file mode 100755 index 0000000..d20c2cd --- /dev/null +++ b/waybar/switch-theme.sh @@ -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 " + 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" \ No newline at end of file diff --git a/waybar/themes/day.css b/waybar/themes/day.css new file mode 100644 index 0000000..69fbf9b --- /dev/null +++ b/waybar/themes/day.css @@ -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; +} \ No newline at end of file diff --git a/waybar/night.css b/waybar/themes/night.css similarity index 92% rename from waybar/night.css rename to waybar/themes/night.css index 14e0a5c..c98d963 100644 --- a/waybar/night.css +++ b/waybar/themes/night.css @@ -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; } \ No newline at end of file diff --git a/waybar/style.css.old b/waybar/themes/style.css.old similarity index 100% rename from waybar/style.css.old rename to waybar/themes/style.css.old