Skip to content

Versions and compatibility

scoot has one version for every binary, and every binary prints it with the protocol it speaks. When something disagrees after an upgrade, this page tells you which half to check.

Terminal window
scoot --version
scootbg --version
scootbar --version

Each prints one line and exits without starting anything:

scoot 0.2.1 (ipc protocol 11)
scootbg 0.2.1 (protocol 1)
scootbar 0.2.1

0.2.1 is the release, the same for all three: one tag, v0.2.1, releases every binary. (ipc protocol 11) is the control protocol scoot msg speaks, so a client can check compatibility before it uses newer requests. scootbg names its wallpaper protocol the same way. scootbar prints no protocol number: it speaks standard Wayland protocols to the compositor, and its own control protocol to scootbar msg (both halves come from one install).

A build that is not a release (from a git checkout or an Arch -git package) adds where it came from:

scoot 0.2.1+14.g615608c (ipc protocol 11)

That reads “14 commits past v0.2.1, at commit 615608c”. The protocol number decides compatibility, not the suffix. The maintainer reviews each version change in a release pull request: a breaking change bumps the minor while scoot is below 1.0, anything else the patch.

  • Everything from one release: the supported way. Install and upgrade every binary together, at one version.
  • Bar against compositor: any pair works as long as both speak the same Wayland protocols. The bar’s one compositor action (quit) is a single fixed request every IPC protocol so far understands.
  • Compositor against wallpaper daemon: the same protocol is required, and scoot checks it on every reload before sending the section. A version mismatch only warns: the section is still applied by the running build. A daemon too old to know the handshake is refused with the fix (scootbg kill, then reload).
  • Client against compositor: compare the (ipc protocol N) in scoot --version with the running session’s. A mismatch means the client’s verbs may not match the session’s grammar; upgrade the older half.

Symptom: the wallpaper did not change after upgrading one half.

Run scootbg --version beside scoot --version. If the protocols differ, the compositor’s log names the refusal; kill the old daemon (scootbg kill) and reload, which starts the new one.

Symptom: one binary prints a different version from the others.

Something was upgraded on its own. Upgrade the rest to the same release, then restart the session so every daemon runs the new build. Each release’s changelog section lists what moved, grouped by component, so an upgrade note names the binary it changes.