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).
Config Reference: [media]/[sysmon] visible_slots, restructure sysmon section
- New [media] section (replaces the old "no config section" framing) —
visible_slots, the fixed-slot-plus-scroll row count for Now Playing/
Output, independently configurable from [sysmon]'s own copy.
- [sysmon] promoted to its own top-level header (was folded into
[[sysmon.block]]'s own heading) — now covers visible_slots for the
window list, with [[sysmon.block]] as a subsection for the stats
grid's per-metric config, matching how the module actually has two
independently-configurable pieces now, not just one.
- Fixed "No per-window config" claim — visible_slots DOES configure
part of the window list now, only per-row content/sort is still
fixed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Config Reference: add [[sysmon.block]] — the System module's own config
Full field reference for the system monitor's stats grid: metric
(cpu/ram/disk/load/cputemp/hot/swap, validated at load time),
enabled, column/row (row is an order within its column, not a shared
index — columns don't need equal block counts), warning/urgent
(per-block, different units per metric, RAM/DISK colored by real
usage percent even though the displayed text is used/available),
label. Covers the collision check (two enabled blocks can't share a
position), the packaged-layout fallback when [sysmon] has no [[block]]
entries, why load/swap have no thresholds by default (documented in
VISION.md's own R6 section), and HOT's own THROTTLED-flag placement
tradeoff. Also documents the per-window list above the grid (no config
section of its own — always every window, sorted by resource drain,
NICE positive-only 0-19).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Config Reference: add [audio], [[control.toggle]] (full contract), and a media-module no-config note
Config Reference: point self_app_id/fullscreen_only setup steps to Summoning Tuicc
Config Reference: document fullscreen_only, install.sh, i3 power-menu swap
Config Reference: update for R1 lifecycle, resize sessions, nav renames
- [wm]: add self_app_id/return_to_origin rows, point setup-step block
at README's Summoning tuicc instead of duplicating four WM snippets
- Resize mode section: F3 overwrite-in-place fix, two-level
browsing/editing session (renamed functions)
- [navigation.keys]: switch_module -> previous, add vim_* keys, split
the key-description table to match tab/previous/left-right/up-down
- Quit-key paragraph reframed as dismiss vs. quit, not a gap
- [[quick_actions.action]]: document the exit_after field
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 Config Reference (markdown)
Updated Config Reference (markdown)
Updated Config Reference (markdown)
Updated Config Reference (markdown)
Updated Config Reference (markdown)
Created Config Reference (markdown)