diff --git a/src/hosts/tui/app.py b/src/hosts/tui/app.py index cd1a6f1..deb5b1b 100644 --- a/src/hosts/tui/app.py +++ b/src/hosts/tui/app.py @@ -53,7 +53,6 @@ class HostsManagerApp(App): def __init__(self): super().__init__() self.title = "/etc/hosts Manager" - self.sub_title = "" # Will be set by update_status # Initialize core components self.parser = HostsParser() @@ -143,14 +142,16 @@ class HostsManagerApp(App): footer = self.query_one("#custom-footer", CustomFooter) # Left section - common actions - footer.add_left_item("q: Quit") - footer.add_left_item("r: Reload") - footer.add_left_item("?: Help") + footer.add_right_item("^e: Edit Mode") + footer.add_right_item("c: Config") + footer.add_right_item("?: Help") + footer.add_right_item("q: Quit") # Right section - sort and edit actions - footer.add_right_item("i: Sort IP") - footer.add_right_item("n: Sort Host") - footer.add_right_item("Ctrl+E: Edit Mode") + footer.add_left_item("i: Sort IP") + footer.add_left_item("n: Sort Host") + footer.add_left_item("r: Reload") + # Status section will be updated by update_status self._update_footer_status() @@ -194,9 +195,7 @@ class HostsManagerApp(App): active_count = len(self.hosts_file.get_active_entries()) # Format: "29 entries (6 active) | Read-only mode" - self.sub_title = f"{entry_count} entries ({active_count} active) | {mode}" - - # Also update the footer status + # Update the footer status self._update_footer_status() def _clear_status_message(self) -> None: @@ -325,7 +324,6 @@ class HostsManagerApp(App): success, message = self.manager.exit_edit_mode() if success: self.edit_mode = False - self.sub_title = "Read-only mode" self.update_status(message) else: self.update_status(f"Error exiting edit mode: {message}") @@ -334,7 +332,6 @@ class HostsManagerApp(App): success, message = self.manager.enter_edit_mode() if success: self.edit_mode = True - self.sub_title = "Edit mode" self.update_status(message) elif "Password required" in message: # Show password modal @@ -355,7 +352,6 @@ class HostsManagerApp(App): success, message = self.manager.enter_edit_mode(password) if success: self.edit_mode = True - self.sub_title = "Edit mode" self.update_status(message) elif "Incorrect password" in message: # Show error and try again diff --git a/src/hosts/tui/keybindings.py b/src/hosts/tui/keybindings.py index a616e00..0741978 100644 --- a/src/hosts/tui/keybindings.py +++ b/src/hosts/tui/keybindings.py @@ -9,13 +9,13 @@ from textual.binding import Binding # Key bindings for the hosts manager application HOSTS_MANAGER_BINDINGS = [ - Binding("q", "quit", "Quit"), - Binding("r", "reload", "Reload hosts file"), - Binding("question_mark", "help", "Show help", True, key_display="?"), - Binding("i", "sort_by_ip", "Sort by IP address"), - Binding("n", "sort_by_hostname", "Sort by hostname"), - Binding("c", "config", "Configuration"), - Binding("ctrl+e", "toggle_edit_mode", "Toggle edit mode"), + Binding("q", "quit", "Quit", show=False), + Binding("r", "reload", "Reload hosts file", show=False), + Binding("question_mark", "help", "Show help", True, key_display="?", show=False), + Binding("i", "sort_by_ip", "Sort by IP address", show=False), + Binding("n", "sort_by_hostname", "Sort by hostname", show=False), + Binding("c", "config", "Configuration", show=False), + Binding("ctrl+e", "toggle_edit_mode", "Toggle edit mode", show=False), Binding("a", "add_entry", "Add new entry", show=False), Binding("d", "delete_entry", "Delete entry", show=False), Binding("e", "edit_entry", "Edit entry", show=False),