aboutsummaryrefslogtreecommitdiff
path: root/.local
diff options
context:
space:
mode:
authorkrolxon <krolyxon@tutanota.com>2026-01-11 19:18:06 +0530
committerkrolxon <krolyxon@tutanota.com>2026-01-11 19:18:06 +0530
commitea8f17368def0b581efcc332d057c0a034d4da9b (patch)
tree5fd0bfd6627d34b93090d79628bdd87793e9f715 /.local
parent4c31a041975718cc2fb933012a303cf457475ce7 (diff)
add shader script and keybinds
Diffstat (limited to '.local')
-rwxr-xr-x.local/bin/hypr/hypr_shader_menu.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/.local/bin/hypr/hypr_shader_menu.sh b/.local/bin/hypr/hypr_shader_menu.sh
new file mode 100755
index 0000000..bfeb46a
--- /dev/null
+++ b/.local/bin/hypr/hypr_shader_menu.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+# Check deps
+command -v fuzzel >/dev/null || { echo "fuzzel not found"; exit 1; }
+command -v hyprshade >/dev/null || { echo "hyprshade not found"; exit 1; }
+
+# Get shader list
+mapfile -t SHADERS < <(hyprshade ls)
+
+# Add "off" at top
+SHADERS=("off" "${SHADERS[@]}")
+
+# Show in fuzzel
+CHOICE=$(printf "%s\n" "${SHADERS[@]}" \
+ | fuzzel --dmenu --prompt "Hyprshade > " \
+ | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
+
+# User cancelled
+[[ -z "$CHOICE" ]] && exit 0
+
+# Apply
+if [[ "$CHOICE" == "off" ]]; then
+ hyprshade off
+else
+ hyprshade on "$CHOICE"
+fi
+
+# Optional notification
+command -v notify-send >/dev/null && notify-send "Hyprshade" "Applied: $CHOICE"
+