Document theme presets (F4/F5/F7) and the fixed background role
Keybindings.md: Colors page's F4/F5 double-duty (cycle/save theme
presets) and the standalone cycle_theme_preset (F7) key, reachable
from anywhere.
Config-Reference.md: [theme]'s background role description updated —
it genuinely paints the whole screen now, not "almost always inherit"
— plus the preset-cycling mention and a fully refreshed
[navigation.keys] table (cycle_theme_preset, bt_power_toggle,
bt_pairable_toggle were all missing; wifi_forget/wifi_connect_hidden/
wifi_power_toggle's example values were stale from before their own
rename).
Architecture.md: how theme_presets.py/main.py's do_cycle_theme_preset/
do_save_theme_preset/theme_setup.apply_background fit together.
Getting-Started.md: a beginner-friendly pointer to F4's ready-made
schemes, right where the tutorial already walks through hand-picking
one color at a time.
Fix resize-mode docs stale after today's LoopState/handle_editing_key work
Two passages described main.py as deciding "which key means what, in
what order" for resize's editing level — no longer true: that dispatch
moved into resize_mode.handle_editing_key() during today's main.py
refactor (EditKeyResult/_handoff, a returned-signal handoff to main.py's
own do_*() functions instead of a direct call). Browsing-level dispatch
is unchanged, still directly in main.py, deliberately. Fixed in
Architecture.md's "Editing the layout from inside tuicc" section and
Keybindings.md's "Resize mode" internals paragraph.
Architecture.md also gained a short paragraph noting app_setup.py/
build_app() (one-time construction) and loop_state.py/LoopState (the
explicit object that replaced every closure/nonlocal main()'s loop used
to rely on) — previously unmentioned anywhere in the wiki.
Separately: new_preset (F5), added the day before this session's own
work, was never documented anywhere in the wiki. Added across
Keybindings.md (the configurable-keys list, the F-key behavior
paragraph, the live REPL cfg.keybinds example — regenerated from a real
load_config() call rather than guessed) and Config-Reference.md (the
Level-2 bullet list, a new dedicated paragraph mirroring save_layout/
cycle_preset's own, the example config.toml snippet, the keybind
reference table). Architecture.md's own save_layout/save_new_preset
paragraph updated to say new_preset is now wired to F5, not "still
exists separately... for anywhere that actually wants one" (true when
written, before F5 existed).
Keybindings: control and media never dismiss either
Keybindings: rewrite for Tab/Shift+Tab-driven nav, dismiss vs. quit, resize sessions
- switch_module renamed to previous throughout; document vim_left/
vim_right/vim_up/vim_down and that they're gated on vim_mode.
- Rewrite "How a keypress becomes an action": no more spatial-search
arrow-key logic (sibling_in_same_group/nearest_in_direction/leftmost-
window fallback), replaced with the real current model — Tab/
previous roll across module boundaries, arrows/vim-keys are pure
duplicates.
- Rewrite the whole Resize mode section for the persistent two-level
browsing/editing session and renamed resize_mode.py functions.
- Reframe Ctrl+C as the only real quit (deliberate, not a gap) now
that confirm/Escape dismiss instead of exiting.
- Refresh the example cfg.keybinds output in the testing section.
Update for F1 help menu, F6 spawn_box, ResizeState/HelpState, sidebar_compact/sessions modules
Update for resize mode and the plain x/y/w/h layout model
Layout preset boxes are now independent x/y/w/h ratios, not a
right_of/below/above/bottom/cols/rows/fill_to dependency system -
removed in favor of tuicc's own interactive resize mode (F1-F4,
move_toggle, delete_box), documented here for the first time.
Sync docs with shell_true and configurable confirm_yes/confirm_no
Config-Reference: quick_actions.action/power_menu.action now document
shell_true (default false, opt-in shell=True) instead of the old
always-shell=True description; navigation.keys now lists
confirm_yes/confirm_no instead of calling them hardcoded.
Keybindings: same confirm_yes/confirm_no update, plus the REPL
cfg.keybinds example output.
Getting-Started: removed a duplicated, stale copy of the whole page
that had been left in place instead of replaced by an earlier edit —
the stale half still claimed a "q" quit key that was never real.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Updated Keybindings (markdown)
Updated Keybindings (markdown)
Created Keybindings (markdown)