git.lucas.co / cce-window-manager
window management library
git clone https://git.lucas.co/cce-window-manager.git

commita55a5b02151f52e84d92a75994e00aa3c8f0a61f
parenta3e2b0aa08
authorLucas Galante <lsgalante12@gmail.com>
date2026-10-06 21:08
bindings: super+arrows focus like super+hjkl

Super+Left/Right moved the overlay; they now focus left/right, and
Super+Up/Down (unbound) focus up/down, so the arrow keys mirror hjkl
the way super+ctrl+arrows already pan. overlay_left/right stay
reachable over IPC and bindable in input.kdl.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

 src/bindings.rs | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/bindings.rs b/src/bindings.rs
index d96a7e3..995e3f5 100644
--- a/src/bindings.rs
+++ b/src/bindings.rs
@@ -214,8 +214,13 @@ pub const DEFAULT_BINDINGS: &[DefaultBinding] = &[
     DefaultBinding { mods: mods::SUPER, key: "j", action: Action::FocusDown },
     DefaultBinding { mods: mods::SUPER, key: "h", action: Action::FocusLeft },
     DefaultBinding { mods: mods::SUPER, key: "l", action: Action::FocusRight },
-    DefaultBinding { mods: mods::SUPER, key: "Left", action: Action::OverlayLeft },
-    DefaultBinding { mods: mods::SUPER, key: "Right", action: Action::OverlayRight },
+    // The arrow keys focus exactly as hjkl do. Super+Left/Right used to
+    // move the overlay (overlay_left/right, still reachable over IPC as
+    // `ccectl overlay-left|right` or bindable in input.kdl).
+    DefaultBinding { mods: mods::SUPER, key: "Up", action: Action::FocusUp },
+    DefaultBinding { mods: mods::SUPER, key: "Down", action: Action::FocusDown },
+    DefaultBinding { mods: mods::SUPER, key: "Left", action: Action::FocusLeft },
+    DefaultBinding { mods: mods::SUPER, key: "Right", action: Action::FocusRight },
     DefaultBinding { mods: 0, key: "Print", action: Action::Screenshot },
     DefaultBinding { mods: mods::SUPER | mods::CTRL, key: "Up", action: Action::PanUp },
     DefaultBinding { mods: mods::SUPER | mods::CTRL, key: "Down", action: Action::PanDown },