Unknown state [2025-08-04]
This commit is contained in:
41
statusline/main.zig
Normal file
41
statusline/main.zig
Normal file
@@ -0,0 +1,41 @@
|
||||
const std = @import("std");
|
||||
|
||||
const Frequency = 500;
|
||||
const Mods = .{
|
||||
@import("Mem.zig"),
|
||||
@import("Cpu.zig"),
|
||||
@import("Time.zig"),
|
||||
};
|
||||
|
||||
pub fn main() !void {
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer _ = gpa.deinit();
|
||||
const alloc = gpa.allocator();
|
||||
|
||||
var mods: std.meta.Tuple(&Mods) = undefined;
|
||||
inline for (&mods) |*mod| {
|
||||
try mod.init(alloc);
|
||||
}
|
||||
defer {
|
||||
inline for (&mods) |*mod| {
|
||||
mod.deinit(alloc);
|
||||
}
|
||||
}
|
||||
|
||||
const stdout = std.io.getStdOut();
|
||||
const buffer = try alloc.alloc(u8, 512);
|
||||
defer alloc.free(buffer);
|
||||
|
||||
var outputs: [Mods.len][]const u8 = undefined;
|
||||
|
||||
while (true) {
|
||||
std.time.sleep(Frequency * std.time.ns_per_ms);
|
||||
|
||||
inline for (&mods, &outputs) |*mod, *out| {
|
||||
out.* = try mod.update();
|
||||
}
|
||||
|
||||
const output = try std.fmt.bufPrint(buffer, "{s}\n", .{outputs});
|
||||
try stdout.writeAll(output);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user