From c429f727cc02099fa57bd856e7b6e002f7febe81 Mon Sep 17 00:00:00 2001 From: Daniel Girtler Date: Mon, 2 Jun 2025 18:07:27 +1000 Subject: [PATCH 1/2] Fix restore edit content on help menu close --- archinstall/tui/curses_menu.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/archinstall/tui/curses_menu.py b/archinstall/tui/curses_menu.py index 57f896ec9a..103f3caa49 100644 --- a/archinstall/tui/curses_menu.py +++ b/archinstall/tui/curses_menu.py @@ -356,6 +356,11 @@ def update(self) -> None: self._main_win.refresh() + def textbox_value(self) -> str: + if not self._textbox: + return '' + return self._textbox.gather().strip() + def erase(self) -> None: if self._main_win: self._main_win.erase() @@ -496,6 +501,8 @@ def __init__( self._last_state: Result[str] | None = None self._help_active = False + + self._current_text = default_text or '' self._real_input = default_text or '' def _init_viewports(self) -> None: @@ -578,7 +585,7 @@ def _draw(self) -> None: if self._set_default_info and self._info_vp: self._info_vp.update([self._only_ascii_text], 0) - self._input_vp.edit(default_text=self._default_text) + self._input_vp.edit(default_text=self._current_text) @override def kickoff(self, win: curses.window) -> Result[str]: @@ -613,7 +620,7 @@ def _process_edit_key(self, key: int) -> int: if MenuKeys.ESC in key_handles: self._help_active = False self.clear_help_win() - return 7 + return 7 # ESC return 0 # remove standard keys from the list of key handles @@ -625,6 +632,8 @@ def _process_edit_key(self, key: int) -> int: match special_key: case MenuKeys.HELP: + assert self._input_vp + self._current_text = self._input_vp.textbox_value() self._clear_all() self._help_active = True self._show_help() From 59f61f43886576324e78a321d5c1b9ffb6d78533 Mon Sep 17 00:00:00 2001 From: Daniel Girtler Date: Mon, 2 Jun 2025 18:09:59 +1000 Subject: [PATCH 2/2] Update --- archinstall/tui/curses_menu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archinstall/tui/curses_menu.py b/archinstall/tui/curses_menu.py index 103f3caa49..704a936cb4 100644 --- a/archinstall/tui/curses_menu.py +++ b/archinstall/tui/curses_menu.py @@ -620,7 +620,7 @@ def _process_edit_key(self, key: int) -> int: if MenuKeys.ESC in key_handles: self._help_active = False self.clear_help_win() - return 7 # ESC + return 7 return 0 # remove standard keys from the list of key handles