git.lucas.co / cce-files
file manager
git clone https://git.lucas.co/cce-files.git

commit8cbf4f067f87b67c80b5d42adb3c4b095e39db7d
parent3b9f3eadde
authorLucas Galante <lsgalante12@gmail.com>
date2026-09-25 23:13
Bind u/i to parent/enter directory

Replaces the h/l defaults with u (up) and i (in), matching the window
manager's super+u / super+i overview convention. Both stay overridable
via the cce-files domain in input.kdl.

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

 src/main.rs | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index 0443736..1d572d8 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -371,8 +371,9 @@ impl SplitPane {
 
 
 /// Browse-page shortcuts, resolved once at startup from input.kdl
-/// (`cce-files` domain → `cce-ui` domain), defaulting to the historical
-/// vim-ish keys. Arrow keys, Enter-in-save-mode, and Escape stay fixed.
+/// (`cce-files` domain → `cce-ui` domain), defaulting to vim-ish j/k for
+/// selection and u/i (up/in) for directories. Arrow keys,
+/// Enter-in-save-mode, and Escape stay fixed.
 struct BrowseKeys {
     open_file: String,
     enter_dir: String,
@@ -388,8 +389,8 @@ impl BrowseKeys {
         let get = cce_ui::input::app_chord;
         Self {
             open_file: get("open_file", "enter"),
-            enter_dir: get("enter_dir", "l"),
-            parent_dir: get("parent_dir", "h"),
+            enter_dir: get("enter_dir", "i"),
+            parent_dir: get("parent_dir", "u"),
             select_next: get("select_next", "j"),
             select_prev: get("select_prev", "k"),
             delete_entry: get("delete_entry", "delete"),