Reload and restart
tablero reload # re-read the running bar's config and selected themetablero restart # replace the bar, or start it after a crash, in the backgroundtablero --helpConfig and selected theme files already reload automatically on save. reload forces an immediate validated read, keeps live widget readings, and reports invalid changes without replacing the working bar. If no instance is running, it reports an error and suggests restart.
Instances
Section titled “Instances”Commands target only the current Wayland session (XDG_RUNTIME_DIR and WAYLAND_DISPLAY) and the selected instance name, which defaults to default. One bar process is allowed per name per session; a second normal launch reports an error instead of opening duplicate bars. Other sessions are unaffected.
How restart works
Section titled “How restart works”restartvalidates configuration before stopping the working instance.- It retains that instance’s absolute config path and executable unless
--configoverrides the path. - When the instance is already stopped, it uses the invoking binary and the usual config path (or
--config). - It waits for startup readiness before reporting success, then detaches the new bar from the terminal. Startup failures are reported to the caller; background stdout/stderr are discarded.
This is manual recovery, not automatic crash supervision.
Development bar alongside your normal bar
Section titled “Development bar alongside your normal bar”Use a separate instance name; debug builds are not automatically isolated:
# Normal installed bar (usually started by the compositor).tablero
# In another terminal, from the tablero repository:cargo run -p tablero -- --instance dev --config ./dev.toml
# Control only the development bar:cargo run -p tablero -- reload --instance devcargo run -p tablero -- restart --instance dev
# Change its retained config path:cargo run -p tablero -- restart --instance dev --config ./another-dev.tomlCreate a valid dev.toml first, for example by copying crates/tablero/config.example.toml. Relative config paths resolve against the launch directory and are retained as absolute paths. Omit --config to share the usual configuration with your normal bar.
Named instances keep normal layer-shell placement and reserved space, so running both may place two bars on each output. A restart does not rebuild the binary: build the development executable first when testing code changes.
These commands require both the controlling and running binaries to include lifecycle support. After updating an older installation, stop its old process and launch the updated binary once.