Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bdf4a3f7d7 | ||
|
|
68cc541575 | ||
|
|
e28a3b96e5 | ||
|
|
01ad39c0b5 | ||
|
|
a18fd7ade8 | ||
|
|
3e14691e14 |
@@ -18,7 +18,7 @@ Zigfetch is a minimal [neofetch](https://github.com/dylanaraps/neofetch)/[fastfe
|
|||||||
|
|
||||||
### Linux only
|
### Linux only
|
||||||
|
|
||||||
- [libpci](https://github.com/pciutils/pciutils) (linux only)
|
- [libpci](https://github.com/pciutils/pciutils)
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
// This is a [Semantic Version](https://semver.org/).
|
// This is a [Semantic Version](https://semver.org/).
|
||||||
// In a future version of Zig it will be used for package deduplication.
|
// In a future version of Zig it will be used for package deduplication.
|
||||||
.version = "0.6.0",
|
.version = "0.6.2",
|
||||||
|
|
||||||
// Together with name, this represents a globally unique package
|
// Together with name, this represents a globally unique package
|
||||||
// identifier. This field is generated by the Zig toolchain when the
|
// identifier. This field is generated by the Zig toolchain when the
|
||||||
|
|||||||
@@ -105,11 +105,13 @@ pub fn printAscii(allocator: std.mem.Allocator, sys_info_list: std.ArrayList([]u
|
|||||||
if (i < sys_info_len) {
|
if (i < sys_info_len) {
|
||||||
try stdout.print("{s}\n", .{sys_info_items[i]});
|
try stdout.print("{s}\n", .{sys_info_items[i]});
|
||||||
} else if (i == sys_info_len + 1) {
|
} else if (i == sys_info_len + 1) {
|
||||||
|
// Print the first row of colors
|
||||||
for (0..8) |j| {
|
for (0..8) |j| {
|
||||||
try stdout.print("\x1b[48;5;{d}m \x1b[0m", .{j});
|
try stdout.print("\x1b[48;5;{d}m \x1b[0m", .{j});
|
||||||
}
|
}
|
||||||
try stdout.print("\n", .{});
|
try stdout.print("\n", .{});
|
||||||
} else if (i == sys_info_len + 2) {
|
} else if (i == sys_info_len + 2) {
|
||||||
|
// Print the second row of colors
|
||||||
for (8..16) |j| {
|
for (8..16) |j| {
|
||||||
try stdout.print("\x1b[48;5;{d}m \x1b[0m", .{j});
|
try stdout.print("\x1b[48;5;{d}m \x1b[0m", .{j});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,9 +23,9 @@ pub const ModuleType = enum {
|
|||||||
ram,
|
ram,
|
||||||
swap,
|
swap,
|
||||||
disk,
|
disk,
|
||||||
|
net,
|
||||||
terminal,
|
terminal,
|
||||||
locale,
|
locale,
|
||||||
net, // It must always be the last element of this array
|
|
||||||
};
|
};
|
||||||
|
|
||||||
pub fn getModulesTypes(allocator: std.mem.Allocator, config: ?std.json.Parsed(Config)) !std.ArrayList(ModuleType) {
|
pub fn getModulesTypes(allocator: std.mem.Allocator, config: ?std.json.Parsed(Config)) !std.ArrayList(ModuleType) {
|
||||||
|
|||||||
@@ -124,21 +124,28 @@ pub fn getDefaultFormattedGpuInfo(allocator: std.mem.Allocator) !Result {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn getFormattedGpuInfo(allocator: std.mem.Allocator, key: []const u8, key_color: []const u8) !Result {
|
pub fn getFormattedGpuInfo(allocator: std.mem.Allocator, key: []const u8, key_color: []const u8) !Result {
|
||||||
var formatted_gpu_info = std.ArrayList([]u8).init(allocator);
|
|
||||||
|
|
||||||
if (builtin.os.tag == .macos) {
|
if (builtin.os.tag == .macos) {
|
||||||
const gpu_info = try detection.hardware.getGpuInfo(allocator);
|
const gpu_info = try detection.hardware.getGpuInfo(allocator);
|
||||||
defer allocator.free(gpu_info.gpu_name);
|
defer allocator.free(gpu_info.gpu_name);
|
||||||
return Result{ .string = try std.fmt.allocPrint(allocator, "{s}{s}:{s} {s} ({}) @ {d:.2} GHz", .{ key_color, key, ascii.Reset, gpu_info.gpu_name, gpu_info.gpu_cores, gpu_info.gpu_freq }) };
|
return Result{ .string = try std.fmt.allocPrint(allocator, "{s}{s}:{s} {s} ({}) @ {d:.2} GHz", .{ key_color, key, ascii.Reset, gpu_info.gpu_name, gpu_info.gpu_cores, gpu_info.gpu_freq }) };
|
||||||
} else if (builtin.os.tag == .linux) {
|
} else if (builtin.os.tag == .linux) {
|
||||||
|
var formatted_gpu_info_list = std.ArrayList([]u8).init(allocator);
|
||||||
|
|
||||||
const gpu_info_list = try detection.hardware.getGpuInfo(allocator);
|
const gpu_info_list = try detection.hardware.getGpuInfo(allocator);
|
||||||
|
|
||||||
for (gpu_info_list.items) |g| {
|
for (gpu_info_list.items) |g| {
|
||||||
try formatted_gpu_info.append(try std.fmt.allocPrint(allocator, "{s}{s}:{s} {s} ({}) @ {d:.2} GHz", .{ key_color, key, ascii.Reset, g.gpu_name, g.gpu_cores, g.gpu_freq }));
|
var formatted_gpu_info: []u8 = undefined;
|
||||||
|
if ((g.gpu_cores == 0) or (g.gpu_freq == 0.0)) {
|
||||||
|
formatted_gpu_info = try std.fmt.allocPrint(allocator, "{s}{s}:{s} {s}", .{ key_color, key, ascii.Reset, g.gpu_name });
|
||||||
|
} else {
|
||||||
|
formatted_gpu_info = try std.fmt.allocPrint(allocator, "{s}{s}:{s} {s} ({}) @ {d:.2} GHz", .{ key_color, key, ascii.Reset, g.gpu_name, g.gpu_cores, g.gpu_freq });
|
||||||
|
}
|
||||||
|
try formatted_gpu_info_list.append(formatted_gpu_info);
|
||||||
allocator.free(g.gpu_name);
|
allocator.free(g.gpu_name);
|
||||||
}
|
}
|
||||||
gpu_info_list.deinit();
|
gpu_info_list.deinit();
|
||||||
|
|
||||||
return Result{ .string_arraylist = formatted_gpu_info };
|
return Result{ .string_arraylist = formatted_gpu_info_list };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user