aboutsummaryrefslogtreecommitdiffstats
path: root/config/hypr/scripts
diff options
context:
space:
mode:
authorDonald Williams <129223418+dwilliam62@users.noreply.github.com>2025-11-05 03:07:48 -0500
committerGitHub <noreply@github.com>2025-11-05 03:07:48 -0500
commit83c8c37abeacb32ce609c2d37c8656c1274ac6e0 (patch)
treed0e07343825aa39f4b43bc987bfa50012b3f4c9b /config/hypr/scripts
parent073fc0fb287777e39e6b9089a5db7a7cf010f24f (diff)
parent8361dcc058fb41225630934d37bae65dd9b76e43 (diff)
Merge pull request #861 from JaKooLit/ddubs-layout
feat(hypr): layout-aware J/K binds + startup sourcing fixes (v2.3.18)
Diffstat (limited to 'config/hypr/scripts')
-rwxr-xr-xconfig/hypr/scripts/ComposeHyprConfigs.sh4
-rwxr-xr-xconfig/hypr/scripts/KeybindsLayoutInit.sh30
-rwxr-xr-xconfig/hypr/scripts/Kool_Quick_Settings.sh2
3 files changed, 35 insertions, 1 deletions
diff --git a/config/hypr/scripts/ComposeHyprConfigs.sh b/config/hypr/scripts/ComposeHyprConfigs.sh
index 55bc3c5c..f0928a24 100755
--- a/config/hypr/scripts/ComposeHyprConfigs.sh
+++ b/config/hypr/scripts/ComposeHyprConfigs.sh
@@ -58,6 +58,10 @@ compose_startup_apps() {
while IFS= read -r d; do
d="$(echo "$d" | trim)"
[[ -z "$d" || "$d" =~ ^# ]] && continue
+ # Never disable our layout-aware keybind init unless user re-enables via explicit edit here
+ if [[ "$d" == "\$scriptsDir/KeybindsLayoutInit.sh" ]]; then
+ continue
+ fi
unset 'cmds[$d]'
done <"$disable_file"
fi
diff --git a/config/hypr/scripts/KeybindsLayoutInit.sh b/config/hypr/scripts/KeybindsLayoutInit.sh
new file mode 100755
index 00000000..7e328cde
--- /dev/null
+++ b/config/hypr/scripts/KeybindsLayoutInit.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
+# Initialize J/K keybinds to match the current default layout at startup
+
+# Query current layout (master|dwindle)
+LAYOUT=$(hyprctl -j getoption general:layout | jq -r '.str')
+
+case "$LAYOUT" in
+ master)
+ # Ensure master layout-style binds
+ hyprctl keyword unbind SUPER,J
+ hyprctl keyword unbind SUPER,K
+ hyprctl keyword unbind SUPER,O
+ hyprctl keyword bind SUPER,J,layoutmsg,cyclenext
+ hyprctl keyword bind SUPER,K,layoutmsg,cycleprev
+ ;;
+ dwindle)
+ # Ensure dwindle layout-style binds
+ hyprctl keyword unbind SUPER,J
+ hyprctl keyword unbind SUPER,K
+ hyprctl keyword unbind SUPER,O
+ hyprctl keyword bind SUPER,J,cyclenext
+ hyprctl keyword bind SUPER,K,cyclenext,prev
+ hyprctl keyword bind SUPER,O,togglesplit
+ ;;
+ *)
+ # Do nothing for unexpected values
+ :
+ ;;
+ esac
diff --git a/config/hypr/scripts/Kool_Quick_Settings.sh b/config/hypr/scripts/Kool_Quick_Settings.sh
index 79ddc163..d6e1b089 100755
--- a/config/hypr/scripts/Kool_Quick_Settings.sh
+++ b/config/hypr/scripts/Kool_Quick_Settings.sh
@@ -58,7 +58,7 @@ main() {
"view/edit Window Rules") file="$UserConfigs/WindowRules.conf" ;;
"view/edit User Keybinds") file="$UserConfigs/UserKeybinds.conf" ;;
"view/edit User Settings") file="$UserConfigs/UserSettings.conf" ;;
- "view/edit Startup Apps") file="$UserConfigs/Startup_Apps.conf" ;;
+ "view/edit Startup Apps") file="$configs/Startup_Apps.conf" ;;
"view/edit Decorations") file="$UserConfigs/UserDecorations.conf" ;;
"view/edit Animations") file="$UserConfigs/UserAnimations.conf" ;;
"view/edit Laptop Keybinds") file="$UserConfigs/Laptops.conf" ;;
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage