small code improvements

pull/596/head
Kinzie 2 months ago
parent 42ac85694f
commit 13cf8e19e1

@ -227,7 +227,7 @@ fn setXdgEnv(allocator: Allocator, tty_str: [:0]u8, desktop_name: []const u8) !v
defer allocator.free(desktop_name_z);
const uid = interop.getuid();
var uid_buffer = std.mem.zeroes([10 + @sizeOf(u32) + 1]u8);
var uid_buffer: [10 + @sizeOf(u32) + 1]u8 = undefined;
const uid_str = try std.fmt.bufPrintZ(&uid_buffer, "/run/user/{d}", .{uid});
_ = interop.setenv("XDG_CURRENT_DESKTOP", desktop_name_z.ptr, 0);
@ -291,15 +291,14 @@ fn resetTerminal(allocator: Allocator, shell: [*:0]const u8, term_reset_cmd: []c
const term_reset_cmd_z = try allocator.dupeZ(u8, term_reset_cmd);
defer allocator.free(term_reset_cmd_z);
const pid = std.c.fork();
const pid = try std.os.fork();
if (pid == 0) {
_ = interop.execl(shell, shell, "-c", term_reset_cmd_z.ptr, @as([*c]const u8, 0));
std.os.exit(0);
}
var status: c_int = undefined;
_ = std.c.waitpid(pid, &status, 0);
_ = std.os.waitpid(pid, 0);
}
fn getFreeDisplay() !u8 {
@ -321,8 +320,8 @@ fn getXPid(display_num: u8) !i32 {
var file_buf: [20]u8 = undefined;
var fbs = std.io.fixedBufferStream(&file_buf);
_ = try file.reader().streamUntilDelimiter(fbs.writer(), '\n', null);
const line = std.mem.sliceTo(&file_buf, 170);
_ = try file.reader().streamUntilDelimiter(fbs.writer(), '\n', 20);
const line = fbs.getWritten();
return std.fmt.parseInt(i32, std.mem.trim(u8, line, " "), 10);
}
@ -335,7 +334,7 @@ fn createXauthFile(pwd: [:0]const u8) ![:0]const u8 {
if (xdg_rt_dir == null) {
const xdg_cfg_home = std.os.getenv("XDG_CONFIG_HOME");
var sb: std.c.Stat = std.mem.zeroes(std.c.Stat);
var sb: std.c.Stat = undefined;
if (xdg_cfg_home == null) {
xauth_dir = try std.fmt.bufPrintZ(&xauth_buf, "{s}/.config", .{pwd});
_ = std.c.stat(xauth_dir, &sb);
@ -384,7 +383,7 @@ fn xauth(display_name: [:0]u8, shell: [*:0]const u8, pw_dir: [*:0]const u8, xaut
_ = interop.setenv("XAUTHORITY", xauthority, 1);
_ = interop.setenv("DISPLAY", display_name, 1);
const pid = std.c.fork();
const pid = try std.os.fork();
if (pid == 0) {
var cmd_buffer: [1024]u8 = undefined;
@ -393,8 +392,7 @@ fn xauth(display_name: [:0]u8, shell: [*:0]const u8, pw_dir: [*:0]const u8, xaut
std.os.exit(0);
}
var status: c_int = 0;
_ = std.c.waitpid(pid, &status, 0);
_ = std.os.waitpid(pid, 0);
}
fn executeWaylandCmd(shell: [*:0]const u8, wayland_cmd: []const u8, desktop_cmd: []const u8) !void {
@ -410,7 +408,7 @@ fn executeX11Cmd(shell: [*:0]const u8, pw_dir: [*:0]const u8, config: Config, de
var display_name: [:0]u8 = try std.fmt.bufPrintZ(&buf, ":{d}", .{display_num});
try xauth(display_name, shell, pw_dir, config.xauth_cmd, config.mcookie_cmd);
const pid = std.c.fork();
const pid = try std.os.fork();
if (pid == 0) {
var cmd_buffer: [1024]u8 = undefined;
const cmd_str = std.fmt.bufPrintZ(&cmd_buffer, "{s} {s} {s}", .{ config.x_cmd, display_name, vt }) catch std.os.exit(1);
@ -418,8 +416,6 @@ fn executeX11Cmd(shell: [*:0]const u8, pw_dir: [*:0]const u8, config: Config, de
std.os.exit(0);
}
var status: c_int = 0;
var ok: c_int = undefined;
var xcb: ?*interop.xcb.xcb_connection_t = null;
while (ok != 0) {
@ -435,7 +431,7 @@ fn executeX11Cmd(shell: [*:0]const u8, pw_dir: [*:0]const u8, config: Config, de
// Pid can be fetched from /tmp/X{d}.lock
const x_pid = try getXPid(display_num);
const xorg_pid = std.c.fork();
const xorg_pid = try std.os.fork();
if (xorg_pid == 0) {
var cmd_buffer: [1024]u8 = undefined;
const cmd_str = std.fmt.bufPrintZ(&cmd_buffer, "{s} {s}", .{ config.x_cmd_setup, desktop_cmd }) catch std.os.exit(1);
@ -443,13 +439,13 @@ fn executeX11Cmd(shell: [*:0]const u8, pw_dir: [*:0]const u8, config: Config, de
std.os.exit(0);
}
_ = std.c.waitpid(xorg_pid, &status, 0);
_ = std.os.waitpid(xorg_pid, 0);
interop.xcb.xcb_disconnect(xcb);
_ = std.c.kill(x_pid, 0);
if (std.c._errno().* != interop.ESRCH) {
_ = std.c.kill(x_pid, interop.SIGTERM);
_ = std.c.waitpid(x_pid, &status, 0);
_ = std.os.waitpid(x_pid, 0);
}
}

@ -100,7 +100,7 @@ const E = [_]u32{
// zig fmt: on
pub fn clockCell(animate: bool, char: u8, fg: u8, bg: u8) [SIZE]termbox.tb_cell {
var cells = std.mem.zeroes([SIZE]termbox.tb_cell);
var cells: [SIZE]termbox.tb_cell = undefined;
var tv: std.c.timeval = undefined;
_ = std.c.gettimeofday(&tv, null);

@ -116,10 +116,7 @@ pub fn main() !void {
// Initialize termbox
_ = termbox.tb_init();
defer {
termbox.tb_clear();
termbox.tb_shutdown();
}
defer termbox.tb_shutdown();
_ = termbox.tb_select_output_mode(termbox.TB_OUTPUT_NORMAL);
termbox.tb_clear();
@ -216,7 +213,7 @@ pub fn main() !void {
const restart_key = try std.fmt.parseInt(u8, config.restart_key[1..], 10);
const sleep_key = try std.fmt.parseInt(u8, config.sleep_key[1..], 10);
var event = std.mem.zeroes(termbox.tb_event);
var event: termbox.tb_event = undefined;
var run = true;
var update = true;
var resolution_changed = false;

@ -3,10 +3,10 @@ const interop = @import("../interop.zig");
const termbox = interop.termbox;
pub fn initCell(ch: u32, fg: u32, bg: u32) termbox.tb_cell {
var cell = std.mem.zeroes(termbox.tb_cell);
cell.ch = ch;
cell.fg = fg;
cell.bg = bg;
return cell;
pub inline fn initCell(ch: u32, fg: u32, bg: u32) termbox.tb_cell {
return .{
.ch = ch,
.fg = fg,
.bg = bg,
};
}

Loading…
Cancel
Save