Fix: Ensure accurate typing state and simplify entry key check

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-03-04 17:13:25 -07:00
parent 3fc74d82ad
commit 339a58e1bf

12
tui.py
View File

@@ -520,8 +520,9 @@ class NametagScreen(Screen):
def handle_input(self, c):
button = self.get_button(c)
if self.nametag_member:
self.is_typing = True
if c == KEY_ESCAPE: self.nametag_member = ''
if c == KEY_ESCAPE:
self.nametag_member = ''
self.is_typing = False
elif c == KEY_ENTER:
if len(self.nametag_member) > 1:
self.stdscr.addstr(15, 4, 'Printing...')
@@ -531,8 +532,9 @@ class NametagScreen(Screen):
self.state.current_screen = 'home'
else: self.nametag_member = self.handle_text_input(c, self.nametag_member)
elif self.nametag_guest:
self.is_typing = True
if c == KEY_ESCAPE: self.nametag_guest = ''
if c == KEY_ESCAPE:
self.nametag_guest = ''
self.is_typing = False
elif c == KEY_ENTER:
if len(self.nametag_guest) > 1:
self.stdscr.addstr(15, 4, 'Printing...')
@@ -554,7 +556,7 @@ class NametagScreen(Screen):
def is_entry_key(self, c):
button = self.get_button(c)
return not (self.nametag_member or self.nametag_guest) and button in ['m', 'g']
return not self.is_typing and button in ['m', 'g']
class LabelScreen(Screen):
# This screen is complex, breaking it down into sub-states