From 14c06312d541c7f655cfa134062422bd8dc3551e Mon Sep 17 00:00:00 2001 From: Enzo William Date: Thu, 26 Mar 2026 09:05:56 -0300 Subject: [PATCH] feat: add default GTK keybinds for move_tab Reassign jump_to_prompt from Ctrl+Shift+PageUp/PageDown to Ctrl+Shift+Arrow Up/Down on GTK, freeing the idiomatic Linux keybinds (Ctrl+Shift+PageUp/PageDown) for move_tab. This matches the tab-moving keybinds used by Firefox, GNOME Terminal, and VSCode. The new jump_to_prompt binding mirrors the macOS pattern (Cmd+Shift+Arrow Up/Down). Closes #4998 Co-Authored-By: Claude Opus 4.6 --- src/config/Config.zig | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index e4107d033..f9a7c95c4 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -6766,15 +6766,29 @@ pub const Keybinds = struct { // Semantic prompts try self.set.put( alloc, - .{ .key = .{ .physical = .page_up }, .mods = .{ .shift = true, .ctrl = true } }, + .{ .key = .{ .physical = .arrow_up }, .mods = .{ .shift = true, .ctrl = true } }, .{ .jump_to_prompt = -1 }, ); try self.set.put( alloc, - .{ .key = .{ .physical = .page_down }, .mods = .{ .shift = true, .ctrl = true } }, + .{ .key = .{ .physical = .arrow_down }, .mods = .{ .shift = true, .ctrl = true } }, .{ .jump_to_prompt = 1 }, ); + // Move tab + try self.set.putFlags( + alloc, + .{ .key = .{ .physical = .page_up }, .mods = .{ .shift = true, .ctrl = true } }, + .{ .move_tab = -1 }, + .{ .performable = true }, + ); + try self.set.putFlags( + alloc, + .{ .key = .{ .physical = .page_down }, .mods = .{ .shift = true, .ctrl = true } }, + .{ .move_tab = 1 }, + .{ .performable = true }, + ); + // Search try self.set.putFlags( alloc,