Skip to content

Reload and restart

Terminal window
tablero reload # re-read the running bar's config and selected theme
tablero restart # replace the bar, or start it after a crash, in the background
tablero --help

Config 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.

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.

  • restart validates configuration before stopping the working instance.
  • It retains that instance’s absolute config path and executable unless --config overrides 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.

Use a separate instance name; debug builds are not automatically isolated:

Terminal window
# 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 dev
cargo run -p tablero -- restart --instance dev
# Change its retained config path:
cargo run -p tablero -- restart --instance dev --config ./another-dev.toml

Create 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.