srctree

Gregory Mullen parent ccc02bf2 e7508d6d
fix the pango print for battery to be less shit

src/battery.zig added: 19, removed: 15, total 4
@@ -73,16 +73,16 @@ test gfx {
}
 
pub fn format(self: Battery, comptime fmt: []const u8, _: std.fmt.FormatOptions, out: anytype) !void {
if (std.mem.eql(u8, fmt, "text")) {
try out.print("Battery ", .{});
if (self.capacity == 69) return out.print("NICE!", .{});
const time: []u8 = try self.ttl();
var buffer: [30]u8 = [_]u8{' '} ** 30;
_ = self.gfx(&buffer);
return out.print("{}% [{s}] {s}", .{ self.capacity, buffer, time });
} else {
if (std.mem.eql(u8, fmt, "pango")) {
const color: ?Pango.Color = if (self.capacity < 20) Pango.Color.Red else null;
const p = Pango.Pango(Battery).init(self, color);
return out.print("{}", .{p});
}
 
try out.print("Battery ", .{});
if (self.capacity == 69) return out.print("NICE!", .{});
const time: []u8 = try self.ttl();
var buffer: [30]u8 = [_]u8{' '} ** 30;
_ = self.gfx(&buffer);
return out.print("{}% [{s}] {s}", .{ self.capacity, buffer, time });
}
 
src/main.zig added: 19, removed: 15, total 4
@@ -63,12 +63,16 @@ fn localOffset() DateTime {
var date_buffer: [1024]u8 = undefined;
fn date(_: ?Click) anyerror!Body {
return Body{
.full_text = try std.fmt.bufPrint(&date_buffer, "{}", .{localOffset()}),
.full_text = try printFull(&date_buffer, localOffset()),
.name = "datetime",
.instance = "datetime_0",
};
}
 
fn printFull(buf: []u8, handle: anytype) ![]const u8 {
return try std.fmt.bufPrint(buf, "{pango}", .{handle});
}
 
var bl_handle: ?Video.Backlight = null;
var bl_buffer: [1024]u8 = undefined;
fn bl(click: ?Click) !Body {
@@ -79,7 +83,7 @@ fn bl(click: ?Click) !Body {
if (clk.button == 4 or clk.button == 5) {
dir = if (clk.button == 4) .up else .down;
return Body{
.full_text = try std.fmt.bufPrint(&bl_buffer, "{}", .{handle}),
.full_text = try printFull(&bl_buffer, handle),
.name = "backlight",
.instance = "backlight_0",
};
@@ -98,7 +102,7 @@ fn battery(_: ?Click) !Body {
const bat = try Battery.init();
//try bat.update(std.time.timestamp());
return Body{
.full_text = try std.fmt.bufPrint(&bat_buffer, "{}", .{bat}),
.full_text = try printFull(&bat_buffer, bat),
.markup = "pango",
.name = "battery",
.instance = "battery_0",
 
src/pango.zig added: 19, removed: 15, total 4
@@ -52,7 +52,7 @@ pub fn Pango(comptime other: type) type {
}
 
pub fn format(self: Self, comptime _: []const u8, _: std.fmt.FormatOptions, out: anytype) !void {
if (self.color == null) return try out.print("{text}", .{self.other});
if (self.color == null) return try out.print("{}", .{self.other});
return try out.print("<span color=\"{}\">{text}</span>", .{ self.color.?, self.other });
}
};