From f7d243b2b75f5c00a10a85e871be8b68147623a7 Mon Sep 17 00:00:00 2001 From: Kalle Carlbark Date: Mon, 16 Sep 2024 22:08:54 +0200 Subject: [PATCH] wip: fast --- build.zig | 6 +- build.zig.zon | 2 +- src/assets/apple-white.png | Bin 0 -> 10081 bytes src/assets/freebsd.png | Bin 0 -> 74112 bytes src/macos.zig | 121 +++++++++++++++++++++++++++++++++++++ src/main.zig | 114 +++++++++++++++++++++------------- src/sys.zig | 43 +++++++++---- 7 files changed, 231 insertions(+), 55 deletions(-) create mode 100644 src/assets/apple-white.png create mode 100644 src/assets/freebsd.png diff --git a/build.zig b/build.zig index f2d6c7d..8fdd311 100644 --- a/build.zig +++ b/build.zig @@ -36,6 +36,8 @@ pub fn build(b: *std.Build) void { .target = target, .optimize = optimize, }); + macos.linkFramework("IOKit"); + macos.linkFramework("CoreFoundation"); // This declares intent for the library to be installed into the standard // location when the user invokes the "install" step (the default step when @@ -49,8 +51,10 @@ pub fn build(b: *std.Build) void { .target = target, .optimize = optimize, }); - exe.addIncludePath(b.path("./include")); + exe.linkFramework("IOKIT"); + exe.linkFramework("CoreFoundation"); + exe.linkFramework("SystemConfiguration"); exe.root_module.addImport("vaxis", vaxis); exe.root_module.addImport("objc", objc); diff --git a/build.zig.zon b/build.zig.zon index 940dd0e..8ae9ece 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -25,7 +25,7 @@ .dependencies = .{ .vaxis = .{ .url = "https://github.com/rockorager/libvaxis/archive/refs/heads/main.tar.gz", - .hash = "12209fb0db1467d24882f4a0fca367d25d7ef7353882270ba3b76382c185332c52ae", + .hash = "12209e3e6a758023f77c35c88723209ca78f3e8f386cef27ea73ab5ea36d6f21e14f", }, .objc = .{ .url = "https://github.com/mitchellh/zig-objc/archive/refs/heads/main.tar.gz", diff --git a/src/assets/apple-white.png b/src/assets/apple-white.png new file mode 100644 index 0000000000000000000000000000000000000000..74595dbb941123974160d97f9fe12e0be873278b GIT binary patch literal 10081 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 HV1xO8Oy9z4 literal 0 HcmV?d00001 diff --git a/src/assets/freebsd.png b/src/assets/freebsd.png new file mode 100644 index 0000000000000000000000000000000000000000..b7583d596d5f001d6ff9f015e621826bafb341b8 GIT binary patch literal 74112 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%0AiWmnZVQ`Zj^LZz!Ptglz7Sv4>O#| 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 { + image = try vx.loadImage(allocator, tty.anyWriter(), .{ .mem = apple_logo }); + }, + .freebsd => { + image = try vx.loadImage(allocator, writer, .{ .mem = freebsd }); + }, + else => @compileError("unsupported os"), } - const koko = try vx.loadImage(allocator, writer, .{ .path = logo }); - - const dims = try koko.cellSize(win); + const dims = try image.cellSize(win); // const cursor_row = vx.state.cursor.row; const logo_win = win.child(.{ - .y_off = 0, + .y_off = 2, .x_off = 0, .width = .{ .limit = dims.cols + 1, @@ -79,15 +95,8 @@ pub fn main() !void { .height = .{ .limit = dims.rows + 1, }, - // .border = .{ - // .where = .right, - // .glyphs = .single_rounded, - // .style = .{ - // .fg = .{ .index = 15 }, - // }, - // }, }); - // const logo_text_win = win.child(.{ .y_off = dims.rows }); + var user_buf: [64]u8 = undefined; const user = try sys.get_user(&user_buf); var hostname_buf: [std.posix.HOST_NAME_MAX]u8 = undefined; @@ -96,7 +105,7 @@ pub fn main() !void { // const logo_win = win.child(.{ .y_off = 0, .x_off = 0 }); const border_locations = vaxis.Window.BorderOptions.Locations{ .top = true, - .bottom = true, + .bottom = false, }; const whoami_win = win.child(.{ @@ -106,7 +115,7 @@ pub fn main() !void { .y_off = 1, .x_off = dims.cols + 1, .width = .{ .limit = 40 }, - .height = .{ .limit = 10 }, + .height = .{ .limit = 16 }, .border = .{ .where = .{ .other = border_locations, @@ -118,32 +127,23 @@ pub fn main() !void { }, }); - // logo_win.clear(); - // info_win.clear(); - var result: vaxis.Window.PrintResult = .{ .col = 0, .row = 0, .overflow = false }; - // try tty.anyWriter().writeAll(vaxis.ctlseqs.kitty_graphics_query); - // var img1 = try vaxis.zigimg.Image.fromFilePath(allocator, "/Users/kc/Sync/Images/apple-white.png"); - // defer img1.deinit(); - // const koko = try vx.transmitImage(allocator, tty.anyWriter(), &img1, .png); - // win.hideCursor(); - // win.showCursor(10, 1); const whoami_info = [_]vaxis.Cell.Segment{ .{ .text = user, .style = .{ .fg = .{ - .index = 3, + .index = 7, }, } }, .{ .text = "@", .style = .{ .fg = .{ - .index = 7, + .index = 15, }, .bold = true, } }, .{ .text = hostname, .style = .{ .fg = .{ - .index = 5, + .index = 7, }, } }, }; @@ -157,7 +157,7 @@ pub fn main() !void { .bold = true, }, }, - .{ .text = os }, + os, .{ .text = " Kernel", .style = .{ @@ -188,6 +188,16 @@ pub fn main() !void { }, }, .{ .text = cpu }, + .{ + .text = " Memory", + .style = .{ + .fg = .{ + .index = 7, + }, + .bold = true, + }, + }, + .{ .text = memory }, .{ .text = " Shell", .style = .{ @@ -208,6 +218,23 @@ pub fn main() !void { }, }, .{ .text = current_terminal }, + .{ + .text = " Battery", + .style = .{ + .fg = .{ + .index = 7, + }, + .bold = true, + }, + }, + .{ + .text = battery, + // .style = .{ + // .fg = .{ + // .index = 2, + // }, + // }, + }, .{ .text = " ▂▂▂", .style = .{ @@ -329,20 +356,23 @@ pub fn main() !void { }, }, .{ - .text = " ▂▂▂", + .text = " ▂▂▂\n\n\n", .style = .{ .fg = .{ .index = 15, }, }, }, + .{ + .text = " ", + }, }; // const logo_text = [_]vaxis.Cell.Segment{ // .{ // .text = " hello", // }, // }; - try koko.draw(logo_win, .{}); + try image.draw(logo_win, .{}); // _ = try logo_text_win.print(&logo_text, .{}); // try root.kitty_image_inline_copy(allocator, tty.anyWriter(), "/Users/kc/Sync/Images/apple-dark.png"); @@ -353,7 +383,7 @@ pub fn main() !void { // try tty.anyWriter().print("\x1b[{d}A\x1b[9999999D", .{winsize.rows}); // try tty.anyWriter().writeAll("\x1b[1J"); - try vx.prettyPrint(writer); + // try logo_win.print(); // const dimensions = try koko.cellSize(win); // const image = try vx.transmitLocalImagePath(allocator, tty.anyWriter(), "/Users/kc/Sync/Images/apple-white.png", dimensions.rows, dimensions.cols, .file, .png); @@ -362,8 +392,9 @@ pub fn main() !void { // try image.draw(win, .{}); // try vx.render(tty.anyWriter()); - // win.clear(); + try vx.prettyPrint(tty.anyWriter()); try buf_writer.flush(); + // try vx.queryTerminalSend(tty.anyWriter()); // Clear from cursor to beginning of the screen @@ -381,7 +412,6 @@ pub fn main() !void { // // vaxis.Image.DrawOptions{ .clip_region = .{ .x = 0, .y = 0 } }, // }; - // win.hideCursor(); // const dims = try image[0].cellSize(win); // try vx.render(writer); diff --git a/src/sys.zig b/src/sys.zig index a712d9f..0cb48c3 100644 --- a/src/sys.zig +++ b/src/sys.zig @@ -1,4 +1,20 @@ const std = @import("std"); +const builtin = @import("builtin"); +const vaxis = @import("vaxis"); + +const macos = @import("macos.zig"); + +const OSVersion = struct { + name: []const u8, + major: []u64, + minor: []u64, + patch: []u64, +}; + +const Shell = struct { + name: []const u8, + version: []const u8, +}; pub fn get_shell(allocator: std.mem.Allocator) ![]const u8 { const shell_env = std.posix.getenv("SHELL") orelse "Unknown"; @@ -14,7 +30,7 @@ pub fn get_shell(allocator: std.mem.Allocator) ![]const u8 { } else if (std.mem.eql(u8, filename, "bash")) { const bash_version = try get_bash_version(allocator, &buf, shell_env); - return try std.fmt.allocPrint(allocator, ": {s}\n", .{bash_version}); + return try std.fmt.allocPrint(allocator, ": bash {s}\n", .{bash_version}); } else if (std.mem.eql(u8, filename, "bash")) { const version = try std.process.Child.run( .{ @@ -27,23 +43,28 @@ pub fn get_shell(allocator: std.mem.Allocator) ![]const u8 { return try std.fmt.allocPrint(allocator, ": {s}\n", .{version.stdout}); } - // const version = try std.process.Child.run(.{ - // .allocator = allocator, - // .argv = &.{ shell_env, &version_flag }, - // }); - // defer allocator.free(version.stdout); - // defer allocator.free(version.stderr); - - // if (std.mem.eql(u8, "zsh", shell)) { - // std.debug.print("shell: {s}\n", .{shell}); - // } return try std.fmt.allocPrint(allocator, ": {s}\n", .{shell_env}); } +pub fn get_os_version(allocator: std.mem.Allocator) !vaxis.Cell.Segment { + switch (builtin.os.tag) { + .macos => { + return .{ + .text = try macos.macos_version(allocator), + }; + }, + else => return .{ .text = "" }, + } +} + pub fn get_terminal(buf: []u8) ![]const u8 { const term_program = std.posix.getenv("TERM_PROGRAM") orelse "Unknown"; + if (std.mem.eql(u8, term_program, "ghostty")) { + return try std.fmt.bufPrint(buf, ": {s} 󰊠\n", .{term_program}); + } + return try std.fmt.bufPrint(buf, ": {s}\n", .{term_program}); }