FEAT: Adding balanced edge margin for the DM

This commit is contained in:
ebits 2025-10-22 22:05:48 +05:30
commit dd95d7c633
3 changed files with 24 additions and 20 deletions

View file

@ -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

View file

@ -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,

View file

@ -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;
}
}