Skip to content

Align menuconfig key bindings and popup rendering#45

Merged
jserv merged 1 commit intomainfrom
fix-menuconfig
Feb 20, 2026
Merged

Align menuconfig key bindings and popup rendering#45
jserv merged 1 commit intomainfrom
fix-menuconfig

Conversation

@jserv
Copy link
Contributor

@jserv jserv commented Feb 20, 2026

Key binding changes to match lxdialog/menubox.c:

  • S sets YES (was save shortcut, no C equivalent)
  • H/? shows help (was vi-style leave-menu)
  • Remove vi navigation keys j/k/l/g/G (free for hotkey search)
  • Remove Python-only shortcuts o (load) and d (save-minimal)
  • Merge e/x/ESC/Backspace into single leave-menu handler
  • Quit dialog uses 2 buttons (Yes/No) matching C dialog_yesno

Popup border visibility fix:

  • Use body_style for all popup box edges (the C bold-white-on-white convention relies on ncurses ACS rendering that raw terminal output cannot replicate, making left/top borders invisible)
  • Extract _draw_title, _draw_separator helpers to eliminate duplication
  • Clamp text/button positions to protect border characters

Summary by cubic

Aligns menuconfig key bindings with lxdialog and fixes popup rendering so borders are always visible. Removes vi-only keys, unifies exit behavior, and makes dialogs match the C UI.

  • New Features

    • Match lxdialog keys: S sets YES; H/? opens help.
    • Remove vi navigation and Python-only save/load keys; unify ESC/Backspace/E/X behavior; quit dialog now uses Yes/No.
  • Bug Fixes

    • Make popup borders visible by using body_style on all edges; add shared title and separator rendering.
    • Clamp text and button positions to avoid overwriting border characters.

Written for commit f1c3485. Summary will update on new commits.

Key binding changes to match lxdialog/menubox.c:
- S sets YES (was save shortcut, no C equivalent)
- H/? shows help (was vi-style leave-menu)
- Remove vi navigation keys j/k/l/g/G (free for hotkey search)
- Remove Python-only shortcuts o (load) and d (save-minimal)
- Merge e/x/ESC/Backspace into single leave-menu handler
- Quit dialog uses 2 buttons (Yes/No) matching C dialog_yesno

Popup border visibility fix:
- Use body_style for all popup box edges (the C bold-white-on-white
  convention relies on ncurses ACS rendering that raw terminal output
  cannot replicate, making left/top borders invisible)
- Extract _draw_title, _draw_separator helpers to eliminate duplication
- Clamp text/button positions to protect border characters
cubic-dev-ai[bot]

This comment was marked as resolved.

@jserv jserv merged commit c876159 into main Feb 20, 2026
10 checks passed
@jserv jserv deleted the fix-menuconfig branch February 20, 2026 20:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant