Skip to content

Commit 985775b

Browse files
authored
Fix misaligned table headers (#3120)
1 parent 64f08cc commit 985775b

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

archinstall/tui/curses_menu.py

+14-6
Original file line numberDiff line numberDiff line change
@@ -849,7 +849,7 @@ def __init__(
849849
self._interrupt_warning = reset_warning_msg
850850
self._header = header
851851

852-
header_offset = self._get_header_offset()
852+
header_offset = self._get_header_offset(header)
853853
self._headers = self.get_header_entries(header, offset=header_offset)
854854

855855
if self._interrupt_warning is None:
@@ -875,11 +875,19 @@ def __init__(
875875

876876
self._init_viewports(preview_size)
877877

878-
def _get_header_offset(self) -> int:
879-
# any changes here will impact the list manager table view
880-
offset = len(self._cursor_char) + 1
881-
if self._multi:
882-
offset += 3
878+
def _get_header_offset(self, header: str | None) -> int:
879+
# WARNING: any changes here will impact the list manager table view
880+
if self._orientation == Orientation.HORIZONTAL:
881+
return 0
882+
883+
lines = header.split('\n') if header else []
884+
table_header = [line for line in lines if '|' in line]
885+
longest_header = len(table_header[0]) if table_header else 0
886+
longest_entry = self._item_group.max_width
887+
888+
delta = abs(longest_header - longest_entry)
889+
offset = delta + 3 # 3 because it seems to align it...
890+
883891
return offset
884892

885893
def run(self) -> Result:

0 commit comments

Comments
 (0)