Skip to content

Commit ddf7173

Browse files
authored
Change default key bindings to capture full screen contents (write_screen_file) (#5285)
The current default keybinding on `Ctrl-Shift-J`/`Cmd-Shift-J` utilize [`write_scrollback_file`](https://ghostty.org/docs/config/keybind/reference#write_scrollback_file) which only captures text that's scrolled off-screen. This can be confusing, as I would expect it to capture everything on and off-screen. Per the docs, [`write_screen_file`](https://ghostty.org/docs/config/keybind/reference#write_screen_file) is the "Same as `write_scrollback_file` but writes the full screen contents" which is perfect to solve this problem and aligns exactly with the expected behavior. This change addresses the friction that people have reported in the discussions below and specifically coming from the [search scrollback feature discussion](#189), where `Ctrl-Shift-J`/`Cmd-Shift-J` is one of the interim decent workarounds but then you also have to figure out the extra intricacy to use `write_screen_file` instead of `write_scrollback_file`. Previous discussions: - #3652 - #3496 - #4911 - #4390 - #2363 (comment) - #189 (comment) - #2040 ### Workaround Before this PR is merged, you can achieve the same result by updating your Ghostty config: `.config/ghostty` ```sh # So we have more scrollback history (the size of the scrollback buffer in bytes) scrollback-limit = 100000000 # The default keybindings use `write_scrollback_file` but that only includes what is # offscreen. `write_screen_file` includes what's on screen and offscreen. keybind = ctrl+shift+j=write_screen_file:paste keybind = ctrl+shift+alt+j=write_screen_file:open ```
2 parents 6265adf + a8d2185 commit ddf7173

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/config/Config.zig

+2-2
Original file line numberDiff line numberDiff line change
@@ -2370,13 +2370,13 @@ pub fn default(alloc_gpa: Allocator) Allocator.Error!Config {
23702370
try result.keybind.set.put(
23712371
alloc,
23722372
.{ .key = .{ .translated = .j }, .mods = inputpkg.ctrlOrSuper(.{ .shift = true }) },
2373-
.{ .write_scrollback_file = .paste },
2373+
.{ .write_screen_file = .paste },
23742374
);
23752375

23762376
try result.keybind.set.put(
23772377
alloc,
23782378
.{ .key = .{ .translated = .j }, .mods = inputpkg.ctrlOrSuper(.{ .shift = true, .alt = true }) },
2379-
.{ .write_scrollback_file = .open },
2379+
.{ .write_screen_file = .open },
23802380
);
23812381

23822382
// Expand Selection

0 commit comments

Comments
 (0)