mirror of https://github.com/fairyglade/ly.git
clear terminal on SIGTERM
This commit is contained in:
parent
f9a0f10777
commit
6dcea64840
|
@ -363,7 +363,7 @@ fn createXauthFile(pwd: [:0]const u8) ![:0]const u8 {
|
|||
|
||||
// Trim trailing slashes
|
||||
var i = xauth_dir.len - 1;
|
||||
while (xauth_dir[i] == '/') : (i -= 1) {}
|
||||
while (xauth_dir[i] == '/') i -= 1;
|
||||
const trimmed_xauth_dir = xauth_dir[0 .. i + 1];
|
||||
|
||||
var buf: [256]u8 = undefined;
|
||||
|
|
12
src/main.zig
12
src/main.zig
|
@ -23,6 +23,11 @@ const termbox = interop.termbox;
|
|||
|
||||
const LY_VERSION = "1.0.0";
|
||||
|
||||
pub fn signalHandler(i: c_int) callconv(.C) void {
|
||||
termbox.tb_shutdown();
|
||||
std.c.exit(i);
|
||||
}
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
|
@ -118,6 +123,13 @@ pub fn main() !void {
|
|||
_ = termbox.tb_init();
|
||||
defer termbox.tb_shutdown();
|
||||
|
||||
const act = std.os.Sigaction{
|
||||
.handler = .{ .handler = &signalHandler },
|
||||
.mask = std.os.empty_sigset,
|
||||
.flags = 0,
|
||||
};
|
||||
try std.os.sigaction(std.os.SIG.TERM, &act, null);
|
||||
|
||||
_ = termbox.tb_select_output_mode(termbox.TB_OUTPUT_NORMAL);
|
||||
termbox.tb_clear();
|
||||
|
||||
|
|
Loading…
Reference in New Issue