diff --git a/res/config.ini b/res/config.ini index e67c609..0ffe776 100644 --- a/res/config.ini +++ b/res/config.ini @@ -46,6 +46,9 @@ auth_fails = 10 # If set to null, battery status won't be shown battery_id = null +# Set margin to the edges of the DM (useful for curved monitors) +edge_margin = 0 + # Background color id bg = 0x00000000 diff --git a/src/config/Config.zig b/src/config/Config.zig index 53cc3c8..39550d5 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -10,8 +10,9 @@ allow_empty_password: bool = true, animation: Animation = .none, animation_timeout_sec: u12 = 0, asterisk: ?u32 = '*', -auth_fails: u64 = 10, +auth_fails: u64 = 2, battery_id: ?[]const u8 = null, +edge_margin: u8 = 0, bg: u32 = 0x00000000, bigclock: Bigclock = .none, bigclock_12hr: bool = false, diff --git a/src/main.zig b/src/main.zig index afe51f2..e40e09a 100644 --- a/src/main.zig +++ b/src/main.zig @@ -577,12 +577,12 @@ pub fn main() !void { _ = termbox.tb_clear(); - var length: usize = 0; + var length: usize = config.edge_margin; if (!animation_timed_out) animation.draw(); if (!config.hide_version_string) { - buffer.drawLabel(ly_version_str, 0, buffer.height - 1); + buffer.drawLabel(ly_version_str, config.edge_margin, buffer.height - 1 - config.edge_margin); } if (config.battery_id) |id| draw_battery: { @@ -598,8 +598,8 @@ pub fn main() !void { var battery_buf: [16:0]u8 = undefined; const battery_str = std.fmt.bufPrintZ(&battery_buf, "BAT: {d}%", .{battery_percentage}) catch break :draw_battery; - const battery_y: usize = if (config.hide_key_hints) 0 else 1; - buffer.drawLabel(battery_str, 0, battery_y); + const battery_y: usize = if (config.hide_key_hints) config.edge_margin else config.edge_margin + 1; + buffer.drawLabel(battery_str, config.edge_margin, battery_y); can_draw_battery = true; } @@ -672,44 +672,44 @@ pub fn main() !void { info_line.label.draw(); if (!config.hide_key_hints) { - buffer.drawLabel(config.shutdown_key, length, 0); + buffer.drawLabel(config.shutdown_key, length, config.edge_margin); length += config.shutdown_key.len + 1; - buffer.drawLabel(" ", length - 1, 0); + buffer.drawLabel(" ", length - 1, config.edge_margin); - buffer.drawLabel(lang.shutdown, length, 0); + buffer.drawLabel(lang.shutdown, length, config.edge_margin); length += shutdown_len + 1; - buffer.drawLabel(config.restart_key, length, 0); + buffer.drawLabel(config.restart_key, length, config.edge_margin); length += config.restart_key.len + 1; - buffer.drawLabel(" ", length - 1, 0); + buffer.drawLabel(" ", length - 1, config.edge_margin); - buffer.drawLabel(lang.restart, length, 0); + buffer.drawLabel(lang.restart, length, config.edge_margin); length += restart_len + 1; if (config.sleep_cmd != null) { - buffer.drawLabel(config.sleep_key, length, 0); + buffer.drawLabel(config.sleep_key, length, config.edge_margin); length += config.sleep_key.len + 1; - buffer.drawLabel(" ", length - 1, 0); + buffer.drawLabel(" ", length - 1, config.edge_margin); - buffer.drawLabel(lang.sleep, length, 0); + buffer.drawLabel(lang.sleep, length, config.edge_margin); length += sleep_len + 1; } if (config.brightness_down_key) |key| { - buffer.drawLabel(key, length, 0); + buffer.drawLabel(key, length, config.edge_margin); length += key.len + 1; - buffer.drawLabel(" ", length - 1, 0); + buffer.drawLabel(" ", length - 1, config.edge_margin); - buffer.drawLabel(lang.brightness_down, length, 0); + buffer.drawLabel(lang.brightness_down, length, config.edge_margin); length += brightness_down_len + 1; } if (config.brightness_up_key) |key| { - buffer.drawLabel(key, length, 0); + buffer.drawLabel(key, length, config.edge_margin); length += key.len + 1; - buffer.drawLabel(" ", length - 1, 0); + buffer.drawLabel(" ", length - 1, config.edge_margin); - buffer.drawLabel(lang.brightness_up, length, 0); + buffer.drawLabel(lang.brightness_up, length, config.edge_margin); length += brightness_up_len + 1; } }