Menu

#434 auth dialog: tell the human the keyboard works (Tab / arrows / Enter / Esc)

closed
nobody
2026-08-30
2026-08-20
Anonymous
No

Originally created by: fu351
Originally owned by: thesageak

_add_button_row (src/doberman/auth/gui_prompter.py:331-424) wires Tab and the arrow keys to move the highlight between Deny and Approve and Enter to invoke the highlighted button (target.bind("<Tab>", _move_highlight) at line 419), and Escape/closing the window denies. Nothing on screen says so; the buttons are custom canvas shapes, so there's no native focus ring to hint at it.

What to do

  1. Below the button row, draw one short muted line (_MUTED, _SUB_FONT or _DEADLINE_FONT): Tab / arrows switch - Enter confirms - Esc denies. Keep it ASCII; the auth prompt text has an ASCII-only guarantee with a test behind it, and a middle dot would trip it.
  2. Include its height in the canvas/panel height calculation so the window grows by one line instead of clipping.
  3. Test in tests/unit/test_gui_prompter.py with the faked canvas: after the dialog is populated, a text item containing Enter exists.

Cosmetic. The bindings themselves don't change, and the deny-first highlight stays.

Related

Tickets: #507
Tickets: #510

Discussion

  • Anonymous

    Anonymous - 2026-08-27

    Originally posted by: thesageak

    Hey! I'd like to work on this issue. Could you assign it to me?

     
  • Anonymous

    Anonymous - 2026-08-29
     
  • Anonymous

    Anonymous - 2026-08-29

    Originally posted by: fu351

    Yes go ahead @thesageak, assigned! Welcome to Doberman. One thing to watch: the auth prompt text has an ASCII-only guarantee with a test behind it, so keep the hint line to plain letters and hyphens, a middle dot will trip it. Ask here if anything's unclear, and feel free to join the Discord: https://discord.gg/Sfy5XGNqty

     
  • Anonymous

    Anonymous - 2026-08-30

    Ticket changed by: fu351

    • status: open --> closed
     

Log in to post a comment.