From aea95b7724cd1b114b1055089535b5c59bbe9d4e Mon Sep 17 00:00:00 2001 From: Moritz <129004253+moritz-reinel@users.noreply.github.com> Date: Tue, 1 Oct 2024 20:32:30 +0200 Subject: [PATCH] Prevent output of brightness/sleep command showing on screen (fixing #695) (#699) * Prevent output of brightness cmds showing on screen (fixing #695) * Prevent output of sleep cmd showing on screen --- src/main.zig | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/main.zig b/src/main.zig index 00dde46..fa2d47a 100644 --- a/src/main.zig +++ b/src/main.zig @@ -580,14 +580,26 @@ pub fn main() !void { } else if (pressed_key == sleep_key) { if (config.sleep_cmd) |sleep_cmd| { var sleep = std.process.Child.init(&[_][]const u8{ "/bin/sh", "-c", sleep_cmd }, allocator); - _ = sleep.spawnAndWait() catch .{}; + sleep.stdout_behavior = .Ignore; + sleep.stderr_behavior = .Ignore; + + _ = sleep.spawnAndWait() catch {}; + } + } else if (pressed_key == brightness_down_key or pressed_key == brightness_up_key) { + const cmd = if (pressed_key == brightness_down_key) config.brightness_down_cmd else config.brightness_up_cmd; + + var brightness = std.process.Child.init(&[_][]const u8{ "/bin/sh", "-c", cmd }, allocator); + brightness.stdout_behavior = .Ignore; + brightness.stderr_behavior = .Ignore; + + handle_brightness_cmd: { + const process_result = brightness.spawnAndWait() catch { + break :handle_brightness_cmd; + }; + if (process_result.Exited != 0) { + try info_line.addMessage(lang.err_brightness_change, config.error_bg, config.error_fg); + } } - } else if (pressed_key == brightness_down_key) { - var brightness = std.process.Child.init(&[_][]const u8{ "/bin/sh", "-c", config.brightness_down_cmd }, allocator); - _ = brightness.spawnAndWait() catch .{}; - } else if (pressed_key == brightness_up_key) { - var brightness = std.process.Child.init(&[_][]const u8{ "/bin/sh", "-c", config.brightness_up_cmd }, allocator); - _ = brightness.spawnAndWait() catch .{}; } }, termbox.TB_KEY_CTRL_C => run = false,