From e533dad10fdcd92560c24d7ce854c1d20314631d Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Tue, 10 Oct 2023 22:08:36 +0800 Subject: [PATCH] loginctl: *-status: set minimum table column width if extra info will be printed Follow-up for bf366954fa09070f6c3e1e630f57d20463fc5739 Before this commit, we hardcode "prefix" to the widest field possible in the table. However, there's no guarantee that the field would actually be used/added, so it could potentially result in misalignment. Therefore, let's set the minimum width of the cell to the hardcoded width too. --- src/login/loginctl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/login/loginctl.c b/src/login/loginctl.c index 8704f44dfd..5248135d00 100644 --- a/src/login/loginctl.c +++ b/src/login/loginctl.c @@ -628,6 +628,7 @@ static int print_session_status_info(sd_bus *bus, const char *path) { if (i.scope) { r = table_add_many(table, TABLE_FIELD, "Unit", + TABLE_SET_MINIMUM_WIDTH, STRLEN("Display"), /* For alignment with show_unit_cgroup */ TABLE_STRING, i.scope); if (r < 0) return table_log_add_error(r); @@ -732,6 +733,7 @@ static int print_user_status_info(sd_bus *bus, const char *path) { if (i.slice) { r = table_add_many(table, TABLE_FIELD, "Unit", + TABLE_SET_MINIMUM_WIDTH, STRLEN("Sessions"), /* For alignment with show_unit_cgroup */ TABLE_STRING, i.slice); if (r < 0) return table_log_add_error(r); @@ -805,6 +807,7 @@ static int print_seat_status_info(sd_bus *bus, const char *path) { if (arg_transport == BUS_TRANSPORT_LOCAL) { r = table_add_many(table, TABLE_FIELD, "Devices", + TABLE_SET_MINIMUM_WIDTH, STRLEN("Sessions"), /* For alignment with show_sysfs */ TABLE_EMPTY); if (r < 0) return table_log_add_error(r);