config: add entry for scroll-to-bottom (#8412)
Related #8408 (EDIT @mitchellh: Removed "Fixes" to avoid closing)pull/8423/head
commit
6530107e3b
|
|
@ -272,6 +272,7 @@ const DerivedConfig = struct {
|
|||
title_report: bool,
|
||||
links: []Link,
|
||||
link_previews: configpkg.LinkPreviews,
|
||||
scroll_to_bottom: configpkg.Config.ScrollToBottom,
|
||||
|
||||
const Link = struct {
|
||||
regex: oni.Regex,
|
||||
|
|
@ -340,6 +341,7 @@ const DerivedConfig = struct {
|
|||
.title_report = config.@"title-report",
|
||||
.links = links,
|
||||
.link_previews = config.@"link-previews",
|
||||
.scroll_to_bottom = config.@"scroll-to-bottom",
|
||||
|
||||
// Assignments happen sequentially so we have to do this last
|
||||
// so that the memory is captured from allocs above.
|
||||
|
|
@ -2280,7 +2282,8 @@ pub fn keyCallback(
|
|||
try self.setSelection(null);
|
||||
}
|
||||
|
||||
try self.io.terminal.scrollViewport(.{ .bottom = {} });
|
||||
if (self.config.scroll_to_bottom.keystroke) try self.io.terminal.scrollViewport(.bottom);
|
||||
|
||||
try self.queueRender();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -767,6 +767,22 @@ palette: Palette = .{},
|
|||
/// the mouse is shown again when a new window, tab, or split is created.
|
||||
@"mouse-hide-while-typing": bool = false,
|
||||
|
||||
/// When to scroll the surface to the bottom. The format of this is a list of
|
||||
/// options to enable separated by commas. If you prefix an option with `no-`
|
||||
/// then it is disabled. If you omit an option, its default value is used.
|
||||
///
|
||||
/// Available options:
|
||||
///
|
||||
/// - `keystroke` If set, scroll the surface to the bottom when the user
|
||||
/// presses a key that results in data being sent to the PTY (basically
|
||||
/// anything but modifiers or keybinds that are processed by Ghostty).
|
||||
///
|
||||
/// - `output` If set, scroll the surface to the bottom if there is new data
|
||||
/// to display. (Currently unimplemented.)
|
||||
///
|
||||
/// The default is `keystroke, no-output`.
|
||||
@"scroll-to-bottom": ScrollToBottom = .default,
|
||||
|
||||
/// Determines whether running programs can detect the shift key pressed with a
|
||||
/// mouse click. Typically, the shift key is used to extend mouse selection.
|
||||
///
|
||||
|
|
@ -8031,6 +8047,14 @@ pub const WindowPadding = struct {
|
|||
}
|
||||
};
|
||||
|
||||
/// See scroll-to-bottom
|
||||
pub const ScrollToBottom = packed struct {
|
||||
keystroke: bool = true,
|
||||
output: bool = false,
|
||||
|
||||
pub const default: ScrollToBottom = .{};
|
||||
};
|
||||
|
||||
test "parse duration" {
|
||||
inline for (Duration.units) |unit| {
|
||||
var buf: [16]u8 = undefined;
|
||||
|
|
|
|||
Loading…
Reference in New Issue