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.
Accuracy pass: preview_data registry, clock->rwb rename, missing sections
Architecture.md / Writing-a-Module.md:
- Document the new preview_data + PREVIEW_RENDERERS registry mechanism
(replaces the old single-consumer preview_tables field) - the actual
reason this wiki run happened. New subsection in Architecture.md,
new "Richer content in the preview panel" section in
Writing-a-Module.md with a worked example.
- Fixed every reference to a standalone clock.py module - it was
renamed to rwb.py once weather.py gave it a second thing to show,
months ago, but the wiki never caught up. Kept the teaching example
in Writing-a-Module.md (still pedagogically useful as a minimal
module) but corrected its false claims about a real shipped file.
- Module lists updated to include rwb/bars/sysmon, which existed
nowhere in Architecture.md or Writing-a-Module.md at all despite
being real, shipped, default-preset modules.
Config-Reference.md:
- Added scan/wifi_forget/wifi_connect_hidden/wifi_power_toggle to
[navigation.keys] - the entire WiFi/Bluetooth browsing key set was
completely undocumented.
- Replaced the stale [clock] section with [rwb] (correct section name)
plus a new [weather] section - weather config (lat/lon/geoclue/
ip_approx/name/code) didn't exist in the wiki at all despite being a
real, substantial opt-in feature.
- Fixed two false "not shown in the default layout preset" claims for
control and sysmon - both are actually placed in the default preset
today, contradicting what the page said.
Home.md: Status blurb updated to mention what's actually landed since
the last pass (sysmon, bars, the connectivity D-Bus agent overhaul),
not just control toggles + media.
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).
Architecture: document StatusWorker/Domain pattern, add control/media to module list + diagram
Architecture: point dismiss-lifecycle WM setup reference to Summoning Tuicc
Architecture: document focus_self()'s fullscreen parameter
Writing a WM Provider: rewrite for close_window, dismiss_self, focus_self
- Provider contract: close_window is now abstract/required; add
dismiss_self/focus_self as optional; fix mark_self's app_id
signature; "five required, three optional (of five total)" instead
of the old four-required-one-optional count
- Refresh sway.py/i3.py listings: close_window, mark_self's
app_id-criteria branch + fallback, dismiss_self, focus_self
- Rewrite "Filtering tuicc's own window" into a combined section
covering mark_self/dismiss_self/focus_self as one shared-mark
mechanism; reframe the old "known, deliberately-unfixed limitation"
— self_app_id now eliminates the race, the focus-timing assumption
only applies to the no-self_app_id fallback path
- Fix Architecture.md's inbound link to this page's renamed heading/anchor
Architecture: update for R1 lifecycle, resize-mode session, nav removal
- mark_self()/dismiss_self()/focus_self() as the three related optional
Provider methods for managing tuicc's own window, plus self_app_id.
- Resize mode's two-level browsing/editing session and renamed
functions (enter_box_editing/commit_box_editing/escape_box_editing).
- F3 now overwrites the active preset in place instead of always
minting a new number.
- Replace "Spatial vs. linear navigation" with "Why spatial navigation
was removed" — the whole spatial arrow-key system is gone, not just
reworked, so the section needed reframing past-tense rather than
editing in place.
- New "Process lifecycle: dismiss vs. quit" section for the R1
persistent-process model.
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.
Updated Architecture (markdown)
Updated Architecture (markdown)
Updated Architecture (markdown)
Created Architecture (markdown)