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 <noreply@anthropic.com>
This commit is contained in:
Enzo William
2026-03-26 09:05:56 -03:00
parent 4d1bb9efe4
commit 14c06312d5

View File

@@ -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,