aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDon Williams <don.e.williams@gmail.com>2025-10-05 14:36:19 -0400
committerDon Williams <don.e.williams@gmail.com>2025-10-05 14:36:19 -0400
commit5c41160260900398b8f9440edf0c735946187e90 (patch)
tree25de05a1c376dd2294adb7bafa84797a833ef38f
parent0c5e7e9de06cc7e786974a3ee5b8e7bda517d219 (diff)
feat(hyprsunset): add Hyprsunset toggle script, SUPER+N keybind, and Waybar nightlight button across all layouts; include in status and vertical power groups
-rw-r--r--.gitignore3
-rw-r--r--config/hypr/UserConfigs/UserKeybinds.conf4
-rwxr-xr-xconfig/hypr/scripts/Hyprsunset.sh77
-rw-r--r--config/waybar/ModulesCustom11
-rw-r--r--config/waybar/ModulesGroups2
-rw-r--r--config/waybar/configs/[BOT & Left] SouthWest1
-rw-r--r--config/waybar/configs/[BOT & Right] SouthEast1
-rw-r--r--config/waybar/configs/[LEFT] WestWing1
-rw-r--r--config/waybar/configs/[LEFT] WestWing v21
-rw-r--r--config/waybar/configs/[RIGHT] EastWing1
-rw-r--r--config/waybar/configs/[RIGHT] EastWing v21
-rw-r--r--config/waybar/configs/[TOP & BOT] SummitSplit2
-rw-r--r--config/waybar/configs/[TOP & BOT] SummitSplit v23
-rw-r--r--config/waybar/configs/[TOP] 0-Ja-01
-rw-r--r--config/waybar/configs/[TOP] Arrow3
-rw-r--r--config/waybar/configs/[TOP] Camellia3
-rw-r--r--config/waybar/configs/[TOP] Chrysanthemum3
-rw-r--r--config/waybar/configs/[TOP] Everforest1
-rw-r--r--config/waybar/configs/[TOP] Gardenia3
-rw-r--r--config/waybar/configs/[TOP] Minimal - Long1
-rw-r--r--config/waybar/configs/[TOP] Minimal - Short1
-rw-r--r--config/waybar/configs/[TOP] Peony3
-rw-r--r--config/waybar/configs/[TOP] Sleek1
23 files changed, 122 insertions, 6 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..d20a9670
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+WARP.md
+.warp.md
+result
diff --git a/config/hypr/UserConfigs/UserKeybinds.conf b/config/hypr/UserConfigs/UserKeybinds.conf
index 2f0e808f..d8a1d52e 100644
--- a/config/hypr/UserConfigs/UserKeybinds.conf
+++ b/config/hypr/UserConfigs/UserKeybinds.conf
@@ -29,6 +29,7 @@ bind = $mainMod, H, exec, $scriptsDir/KeyHints.sh # help / cheat sheet
bind = $mainMod ALT, R, exec, $scriptsDir/Refresh.sh # Refresh waybar, swaync, rofi
bind = $mainMod ALT, E, exec, $scriptsDir/RofiEmoji.sh # emoji menu
bind = $mainMod, S, exec, $scriptsDir/RofiSearch.sh # Google search using rofi
+bind = $mainMod SHIFT, S, exec, rofi -show windows # list/switch apps using rofi
bind = $mainMod ALT, O, exec, $scriptsDir/ChangeBlur.sh # Toggle blur settings
bind = $mainMod SHIFT, G, exec, $scriptsDir/GameMode.sh # Toggle animations ON/OFF
bind = $mainMod ALT, L, exec, $scriptsDir/ChangeLayout.sh # Toggle Master or Dwindle Layout
@@ -55,6 +56,9 @@ bind = $mainMod CTRL ALT, B, exec, pkill -SIGUSR1 waybar # Toggle hide/show wayb
bind = $mainMod CTRL, B, exec, $scriptsDir/WaybarStyles.sh # Waybar Styles Menu
bind = $mainMod ALT, B, exec, $scriptsDir/WaybarLayout.sh # Waybar Layout Menu
+# Night light toggle (Hyprsunset)
+bind = $mainMod, N, exec, $scriptsDir/Hyprsunset.sh toggle
+
# FEATURES / EXTRAS (UserScripts)
bind = $mainMod SHIFT, M, exec, $UserScripts/RofiBeats.sh # online music using rofi
bind = $mainMod, W, exec, $UserScripts/WallpaperSelect.sh # Select wallpaper to apply
diff --git a/config/hypr/scripts/Hyprsunset.sh b/config/hypr/scripts/Hyprsunset.sh
new file mode 100755
index 00000000..68e5fab8
--- /dev/null
+++ b/config/hypr/scripts/Hyprsunset.sh
@@ -0,0 +1,77 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+# Hyprsunset toggle + Waybar status helper
+# Phase 1: manual toggle only (no scheduling)
+# Icons:
+# - Off: bright sun
+# - On: sunset icon if available, otherwise a blue sun
+#
+# Customize via env vars:
+# HYPERSUNSET_TEMP default 4500 (K)
+# HYPERSUNSET_ICON_MODE sunset|blue (default: sunset)
+
+STATE_FILE="$HOME/.cache/.hyprsunset_state"
+TARGET_TEMP="${HYPERSUNSET_TEMP:-4500}"
+ICON_MODE="${HYPERSUNSET_ICON_MODE:-sunset}"
+
+ensure_state() {
+ [[ -f "$STATE_FILE" ]] || echo "off" > "$STATE_FILE"
+}
+
+# Render icons using pango markup to allow colorization
+icon_off() {
+ # bright sun when not activated
+ printf "<span foreground='gold'></span>"
+}
+
+icon_on() {
+ case "$ICON_MODE" in
+ sunset)
+ printf "<span foreground='orange'></span>"
+ ;;
+ blue)
+ printf "<span foreground='deepskyblue'></span>"
+ ;;
+ *)
+ printf "<span foreground='orange'></span>"
+ ;;
+ esac
+}
+
+cmd_toggle() {
+ ensure_state
+ state="$(cat "$STATE_FILE" || echo off)"
+ if [[ "$state" == "on" ]]; then
+ if command -v hyprsunset >/dev/null 2>&1; then
+ hyprsunset -r || true
+ fi
+ echo off > "$STATE_FILE"
+ else
+ if command -v hyprsunset >/dev/null 2>&1; then
+ hyprsunset -t "$TARGET_TEMP" || true
+ fi
+ echo on > "$STATE_FILE"
+ fi
+}
+
+cmd_status() {
+ ensure_state
+ state="$(cat "$STATE_FILE" || echo off)"
+ if [[ "$state" == "on" ]]; then
+ txt="$(icon_on)"
+ cls="on"
+ tip="Night light on @ ${TARGET_TEMP}K"
+ else
+ txt="$(icon_off)"
+ cls="off"
+ tip="Night light off"
+ fi
+ printf '{"text":"%s","class":"%s","tooltip":"%s"}\n' "$txt" "$cls" "$tip"
+}
+
+case "${1:-}" in
+ toggle) cmd_toggle ;;
+ status) cmd_status ;;
+ *) echo "usage: $0 [toggle|status]" >&2; exit 2 ;;
+ esac
diff --git a/config/waybar/ModulesCustom b/config/waybar/ModulesCustom
index dddc5ccc..1f4afa20 100644
--- a/config/waybar/ModulesCustom
+++ b/config/waybar/ModulesCustom
@@ -104,6 +104,17 @@
"tooltip-format": "Left Click: Switch Dark-Light Themes\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Styles Menu",
},
+// Night light (Hyprsunset)
+"custom/nightlight": {
+ "return-type": "json",
+ "exec": "$HOME/.config/hypr/scripts/Hyprsunset.sh status",
+ "interval": 5,
+ "format": "{}",
+ "on-click": "$HOME/.config/hypr/scripts/Hyprsunset.sh toggle",
+ "tooltip": true,
+ "tooltip-format": "Night light toggle"
+},
+
"custom/lock": {
"format": "󰌾",
"on-click": "$HOME/.config/hypr/scripts/LockScreen.sh",
diff --git a/config/waybar/ModulesGroups b/config/waybar/ModulesGroups
index 30e47f16..8d4453a2 100644
--- a/config/waybar/ModulesGroups
+++ b/config/waybar/ModulesGroups
@@ -89,6 +89,7 @@
},
"modules": [
"custom/power",
+ "custom/nightlight",
"custom/lock",
"keyboard-state",
"custom/keyboard",
@@ -131,6 +132,7 @@
},
"modules": [
"custom/power",
+ "custom/nightlight",
"custom/lock",
"custom/logout",
"custom/reboot"
diff --git a/config/waybar/configs/[BOT & Left] SouthWest b/config/waybar/configs/[BOT & Left] SouthWest
index a039f040..594b46d3 100644
--- a/config/waybar/configs/[BOT & Left] SouthWest
+++ b/config/waybar/configs/[BOT & Left] SouthWest
@@ -46,6 +46,7 @@
"power-profiles-daemon",
"pulseaudio#microphone",
"keyboard-state",
+ "custom/nightlight",
"custom/power",
],
},
diff --git a/config/waybar/configs/[BOT & Right] SouthEast b/config/waybar/configs/[BOT & Right] SouthEast
index 9a58e952..03cdb06c 100644
--- a/config/waybar/configs/[BOT & Right] SouthEast
+++ b/config/waybar/configs/[BOT & Right] SouthEast
@@ -46,6 +46,7 @@
"power-profiles-daemon",
"pulseaudio#microphone",
"keyboard-state",
+ "custom/nightlight",
"custom/power",
],
},
diff --git a/config/waybar/configs/[LEFT] WestWing b/config/waybar/configs/[LEFT] WestWing
index e3f25d1a..28e5dbec 100644
--- a/config/waybar/configs/[LEFT] WestWing
+++ b/config/waybar/configs/[LEFT] WestWing
@@ -39,6 +39,7 @@
"backlight#vertical",
"pulseaudio#microphone_vertical",
"pulseaudio#vertical",
+ "custom/nightlight",
"custom/power_vertical",
"custom/menu",
],
diff --git a/config/waybar/configs/[LEFT] WestWing v2 b/config/waybar/configs/[LEFT] WestWing v2
index f1ed69c3..906f83d6 100644
--- a/config/waybar/configs/[LEFT] WestWing v2
+++ b/config/waybar/configs/[LEFT] WestWing v2
@@ -40,6 +40,7 @@
"backlight#vertical",
"pulseaudio/slider",
"pulseaudio#microphone_vertical",
+ "custom/nightlight",
"group/power#vert",
],
diff --git a/config/waybar/configs/[RIGHT] EastWing b/config/waybar/configs/[RIGHT] EastWing
index b64fe5f8..a5ce6756 100644
--- a/config/waybar/configs/[RIGHT] EastWing
+++ b/config/waybar/configs/[RIGHT] EastWing
@@ -39,6 +39,7 @@
"backlight#vertical",
"pulseaudio#microphone_vertical",
"pulseaudio#vertical",
+ "custom/nightlight",
"custom/power_vertical",
"custom/menu",
],
diff --git a/config/waybar/configs/[RIGHT] EastWing v2 b/config/waybar/configs/[RIGHT] EastWing v2
index f9991bd6..28dd1e43 100644
--- a/config/waybar/configs/[RIGHT] EastWing v2
+++ b/config/waybar/configs/[RIGHT] EastWing v2
@@ -40,6 +40,7 @@
"backlight#vertical",
"pulseaudio/slider",
"pulseaudio#microphone_vertical",
+ "custom/nightlight",
"group/power#vert",
],
diff --git a/config/waybar/configs/[TOP & BOT] SummitSplit b/config/waybar/configs/[TOP & BOT] SummitSplit
index 03c8e81b..516e9834 100644
--- a/config/waybar/configs/[TOP & BOT] SummitSplit
+++ b/config/waybar/configs/[TOP & BOT] SummitSplit
@@ -44,6 +44,7 @@
"network",
"custom/updater",
"custom/cycle_wall",
+ "custom/nightlight",
"custom/lock",
],
},
@@ -88,6 +89,7 @@
"pulseaudio",
//"wireplumber",
"pulseaudio#microphone",
+ "custom/nightlight",
"custom/power",
],
}],
diff --git a/config/waybar/configs/[TOP & BOT] SummitSplit v2 b/config/waybar/configs/[TOP & BOT] SummitSplit v2
index 1425f657..4d576aef 100644
--- a/config/waybar/configs/[TOP & BOT] SummitSplit v2
+++ b/config/waybar/configs/[TOP & BOT] SummitSplit v2
@@ -28,13 +28,14 @@
"network",
],
"modules-center": ["hyprland/window"],
- "modules-right": [
+"modules-right": [
"mpris",
"battery",
"backlight",
"pulseaudio",
"group/mobo_drawer",
"idle_inhibitor",
+ "custom/nightlight",
"group/power"
],
diff --git a/config/waybar/configs/[TOP] 0-Ja-0 b/config/waybar/configs/[TOP] 0-Ja-0
index c4cb0a65..6e7fc9aa 100644
--- a/config/waybar/configs/[TOP] 0-Ja-0
+++ b/config/waybar/configs/[TOP] 0-Ja-0
@@ -48,6 +48,7 @@
"custom/separator#dot-line",
"mpris",
"custom/separator#blank",
+ "custom/nightlight",
"group/status",
],
} \ No newline at end of file
diff --git a/config/waybar/configs/[TOP] Arrow b/config/waybar/configs/[TOP] Arrow
index 8001d8fb..7fc55f60 100644
--- a/config/waybar/configs/[TOP] Arrow
+++ b/config/waybar/configs/[TOP] Arrow
@@ -36,7 +36,8 @@
"battery",
"custom/arrow2",
"tray",
- "custom/arrow1",
+"custom/arrow1",
+ "custom/nightlight",
"clock#2"
],
}
diff --git a/config/waybar/configs/[TOP] Camellia b/config/waybar/configs/[TOP] Camellia
index c93e9079..efaf6e20 100644
--- a/config/waybar/configs/[TOP] Camellia
+++ b/config/waybar/configs/[TOP] Camellia
@@ -44,7 +44,8 @@
"power-profiles-daemon",
"battery",
"clock#3",
- "network"],
+ "network",
+ "custom/nightlight"],
// Additional modules //
"pulseaudio/slider": {
diff --git a/config/waybar/configs/[TOP] Chrysanthemum b/config/waybar/configs/[TOP] Chrysanthemum
index ebaa0ca4..d12f73e3 100644
--- a/config/waybar/configs/[TOP] Chrysanthemum
+++ b/config/waybar/configs/[TOP] Chrysanthemum
@@ -36,6 +36,7 @@
"modules-right": [
"pulseaudio#1",
"backlight#2",
- "battery"],
+ "battery",
+ "custom/nightlight"],
} \ No newline at end of file
diff --git a/config/waybar/configs/[TOP] Everforest b/config/waybar/configs/[TOP] Everforest
index a66763ed..7b007f78 100644
--- a/config/waybar/configs/[TOP] Everforest
+++ b/config/waybar/configs/[TOP] Everforest
@@ -45,6 +45,7 @@
"battery#forest",
"custom/separator#blank_2",
"group/audio",
+ "custom/nightlight",
],
// Additional / Edited Waybar Modules //
diff --git a/config/waybar/configs/[TOP] Gardenia b/config/waybar/configs/[TOP] Gardenia
index 77e86bae..073ff46e 100644
--- a/config/waybar/configs/[TOP] Gardenia
+++ b/config/waybar/configs/[TOP] Gardenia
@@ -37,7 +37,8 @@
"modules-right": [
"pulseaudio#1",
"backlight#2",
- "battery"
+ "battery",
+ "custom/nightlight"
],
} \ No newline at end of file
diff --git a/config/waybar/configs/[TOP] Minimal - Long b/config/waybar/configs/[TOP] Minimal - Long
index b57cf3a3..a5be4bd7 100644
--- a/config/waybar/configs/[TOP] Minimal - Long
+++ b/config/waybar/configs/[TOP] Minimal - Long
@@ -42,6 +42,7 @@
"custom/separator#blank_2",
"group/audio",
"custom/separator#blank_2",
+ "custom/nightlight",
"custom/power",
],
diff --git a/config/waybar/configs/[TOP] Minimal - Short b/config/waybar/configs/[TOP] Minimal - Short
index 57abd3d3..7b9a1929 100644
--- a/config/waybar/configs/[TOP] Minimal - Short
+++ b/config/waybar/configs/[TOP] Minimal - Short
@@ -34,5 +34,6 @@
"backlight",
"pulseaudio",
"battery",
+ "custom/nightlight",
"custom/power"],
}
diff --git a/config/waybar/configs/[TOP] Peony b/config/waybar/configs/[TOP] Peony
index 2fd1dfe3..a1ef02e8 100644
--- a/config/waybar/configs/[TOP] Peony
+++ b/config/waybar/configs/[TOP] Peony
@@ -44,6 +44,7 @@
"temperature",
"custom/separator#blank",
"group/mobo_drawer",
- "network"],
+ "network",
+ "custom/nightlight"],
} \ No newline at end of file
diff --git a/config/waybar/configs/[TOP] Sleek b/config/waybar/configs/[TOP] Sleek
index fe0f41ba..f591f472 100644
--- a/config/waybar/configs/[TOP] Sleek
+++ b/config/waybar/configs/[TOP] Sleek
@@ -39,6 +39,7 @@
"pulseaudio",
"custom/separator#blank",
"group/mobo_drawer",
+ "custom/nightlight",
"custom/power",
],
}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage