fix: resize handling corrections
This commit is contained in:
parent
01b78c88bd
commit
ee6582b469
3 changed files with 15 additions and 16 deletions
|
@ -125,6 +125,7 @@ fn init(a: Allocator) !*Self {
|
|||
if (builtin.os.tag != .windows)
|
||||
try self.listen_sigwinch();
|
||||
self.mainview = try mainview.create(a, n);
|
||||
self.resize();
|
||||
try self.rdr.render();
|
||||
try self.save_config();
|
||||
if (tp.env.get().is("restore-session")) {
|
||||
|
@ -218,14 +219,11 @@ fn receive_safe(self: *Self, from: tp.pid_ref, m: tp.message) tp.result {
|
|||
if (try m.match(.{"sigwinch"})) {
|
||||
try self.listen_sigwinch();
|
||||
self.rdr.query_resize() catch |e| return self.logger.err("query_resize", e);
|
||||
self.mainview.resize(Widget.Box.from(self.rdr.stdplane()));
|
||||
need_render();
|
||||
return;
|
||||
};
|
||||
|
||||
if (try m.match(.{"resize"})) {
|
||||
self.mainview.resize(Widget.Box.from(self.rdr.stdplane()));
|
||||
need_render();
|
||||
self.resize();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -682,6 +680,11 @@ pub fn need_render() void {
|
|||
tp.self_pid().send(.{"render"}) catch {};
|
||||
}
|
||||
|
||||
pub fn resize(self: *Self) void {
|
||||
self.mainview.resize(Widget.Box.from(self.rdr.stdplane()));
|
||||
need_render();
|
||||
}
|
||||
|
||||
pub fn get_theme_by_name(name: []const u8) ?Widget.Theme {
|
||||
for (Widget.themes) |theme| {
|
||||
if (std.mem.eql(u8, theme.name, name))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue