diff --git a/modules/hm/default.nix b/modules/hm/default.nix index eda8b76..f312ba0 100644 --- a/modules/hm/default.nix +++ b/modules/hm/default.nix @@ -66,7 +66,7 @@ in # Keybindings configurations keybindings = { enable = true; # enable keybindings configurations - extraConfig = ""; # additional keybindings configuration + extraConfig = "./keybindings.conf"; # additional keybindings configuration overrideConfig = null; # complete keybindings configuration override (null or lib.types.lines) }; # Window rules configurations diff --git a/modules/hm/keybindings.conf b/modules/hm/keybindings.conf new file mode 100644 index 0000000..d4ec246 --- /dev/null +++ b/modules/hm/keybindings.conf @@ -0,0 +1,66 @@ +#*  Variables  +$mainMod = ALT_L + +# Window Management +$d=[$wm] +bindd = $mainMod, Q, $d close focused window, exec, $scrPath/dontkillsteam.sh +bindd = Alt, F4, $d close focused window, exec, $scrPath/dontkillsteam.sh +bindd = $mainMod, Delete, $d kill hyprland session, exec, hyde-shell logout +bindd = $mainMod, W, $d Toggle floating, togglefloating +bindd = $mainMod, G, $d toggle group, togglegroup +bindd = Shift, F11, $d toggle fullscreen, fullscreen +bindd = $mainMod, L, $d lock screen, exec, lockscreen.sh +bindd = $mainMod Shift, F, $d toggle pin on focused window, exec, $scrPath/windowpin.sh +bindd = Control Alt, Delete, $d logout menu, exec, $scrPath/logoutlaunch.sh + +# Group Navigation +$d=[$wm|Group Navigation] +bindd = $mainMod Shift, H, $d change active group backwards, changegroupactive, b +bindd = $mainMod Shift, L, $d change active group forwards, changegroupactive, f + +# Focus Navigation +$d=[$wm|Change focus] +bindd = $mainMod, Left, $d focus left, movefocus, l +bindd = $mainMod, Right, $d focus right, movefocus, r +bindd = $mainMod, Up, $d focus up, movefocus, u +bindd = $mainMod, Down, $d focus down, movefocus, d +bindd = ALT, Tab, $d Cycle focus, cyclenext + +# Resize +$d=[$wm|Resize Active Window] +bindde = $mainMod Shift, Right, $d resize window right, resizeactive, 30 0 +bindde = $mainMod Shift, Left, $d resize window left, resizeactive, -30 0 +bindde = $mainMod Shift, Up, $d resize window up, resizeactive, 0 -30 +bindde = $mainMod Shift, Down, $d resize window down, resizeactive, 0 30 + +# Move window across workspace — ⚠️ IntelliJ 충돌 회피 +$d=[$wm|Move active window across workspace] +$moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive +bindde = $mainMod Ctrl Shift, Left, Move active window left, exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l +bindde = $mainMod Ctrl Shift, Right, Move active window right, exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r +bindde = $mainMod Ctrl Shift, Up, Move active window up, exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u +bindde = $mainMod Ctrl Shift, Down, Move active window down, exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d + +# Workspace Navigation — ⚠️ IntelliJ Ctrl+Alt+←/→ 충돌 회피 +$d=[$ws|Navigation|Relative workspace] +bindd = $mainMod Shift, Right, $d change active workspace forwards, workspace, r+1 +bindd = $mainMod Shift, Left, $d change active workspace backwards, workspace, r-1 + +# Move window to relative workspace — ⚠️ 충돌 회피 +$d=[$ws] +bindd = $mainMod Ctrl Shift, Right, $d move window to next relative workspace, movetoworkspace, r+1 +bindd = $mainMod Ctrl Shift, Left, $d move window to previous relative workspace, movetoworkspace, r-1 + +# Utilities — ⚠️ IntelliJ 충돌 회피 +$d=[$ut] +binddl = $mainMod, K, $d toggle keyboard layout, exec, $scrPath/keyboardswitch.sh +bindd = $mainMod Shift, G, $d game mode, exec, $scrPath/gamemode.sh # 기존 Alt+Alt+G → Shift로 변경 +bindd = $mainMod Shift, G, $d open game launcher, exec, $scrPath/gamelauncher.sh # 동일 + +# Screen Capture — ⚠️ Ctrl+Alt+P 충돌 회피 +$d=[$ut|Screen Capture] +bindd = $mainMod Shift, P, $d color picker, exec, hyprpicker -an +bindd = $mainMod, P, $d snip screen, exec, $scrPath/screenshot.sh s +bindd = $mainMod Shift, M, $d freeze and snip screen, exec, $scrPath/screenshot.sh sf # Ctrl+P → Shift+M +binddl = $mainMod Ctrl, P, $d print monitor, exec, $scrPath/screenshot.sh m # Alt+Ctrl+P 대신 Alt+Ctrl+P는 피하고 Ctrl만 추가 (IntelliJ는 Ctrl+Alt+P만 사용) +binddl = , Print, $d print all monitors, exec, $scrPath/screenshot.sh p \ No newline at end of file