mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-16 16:56:09 +03:00
KIND OF handle mode 3 (132 col mode)
This gets vttest looking slightly better on test 1, page 4. It still isn't correct but we're looking better.
This commit is contained in:
@ -773,6 +773,23 @@ pub fn setMode(self: *Window, mode: terminal.Mode, enabled: bool) !void {
|
|||||||
|
|
||||||
.bracketed_paste => self.bracketed_paste = true,
|
.bracketed_paste => self.bracketed_paste = true,
|
||||||
|
|
||||||
|
.enable_mode_3 => self.terminal.modes.enable_mode_3 = @boolToInt(enabled),
|
||||||
|
.@"132_column" => mode3: {
|
||||||
|
// TODO: test this
|
||||||
|
|
||||||
|
// Do nothing if "enable mode 3" is not set.
|
||||||
|
if (self.terminal.modes.enable_mode_3 == 0) break :mode3;
|
||||||
|
|
||||||
|
// Set it
|
||||||
|
self.terminal.modes.@"132_column" = @boolToInt(enabled);
|
||||||
|
|
||||||
|
// TODO: do not clear screen flag mode
|
||||||
|
self.terminal.eraseDisplay(.complete);
|
||||||
|
self.terminal.setCursorPos(1, 1);
|
||||||
|
|
||||||
|
// TODO: left/right margins
|
||||||
|
},
|
||||||
|
|
||||||
else => if (enabled) log.warn("unimplemented mode: {}", .{mode}),
|
else => if (enabled) log.warn("unimplemented mode: {}", .{mode}),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,9 @@ modes: packed struct {
|
|||||||
reverse_colors: u1 = 0, // 5,
|
reverse_colors: u1 = 0, // 5,
|
||||||
origin: u1 = 0, // 6
|
origin: u1 = 0, // 6
|
||||||
autowrap: u1 = 1, // 7
|
autowrap: u1 = 1, // 7
|
||||||
|
|
||||||
|
@"132_column": u1 = 0, // 3,
|
||||||
|
enable_mode_3: u1 = 0, // 40
|
||||||
} = .{},
|
} = .{},
|
||||||
|
|
||||||
/// Scrolling region is the area of the screen designated where scrolling
|
/// Scrolling region is the area of the screen designated where scrolling
|
||||||
|
Reference in New Issue
Block a user