One MQTT broker. Every desktop in the house.

The Casabeza desktop client is designed to run on the machine where inventory work happens. The remote (cbz-remote) is designed for every other machine — a lightweight Rust application that connects to the same MQTT broker and lets you see and control any running desktop instance on the network.

What the remote does

The remote shows you what's open on any connected desktop and lets you drive it from wherever you are. From the remote interface you can:

  • Open and close item windows — left-click to open an item on the remote desktop, right-click to close it
  • Switch item tabs — navigate between an item's detail, locations, logs, documents, tasks, and counts views
  • Control document windows — open and close PDFs, step through pages with next/previous navigation
  • Expand and collapse image galleries — thumbnails show a green indicator when expanded on the remote
  • Move and resize windows — shift windows up, down, left, right, snap to screen halves and corners, or adjust their size
  • Bulk operations — open or close all items in a project at once

Every action publishes a small JSON command to the MQTT broker. The desktop receives it and responds immediately.

Multi-instance awareness

When multiple desktop instances are connected to the same broker, the remote lists all of them with their names and last-seen timestamps. Switching between instances changes which desktop you're driving. Each instance maintains its own open-item state, which the remote reflects accurately.

This is useful in any household with more than one workstation — you can coordinate what's displayed on a shared screen from a personal machine, or help someone navigate a desktop without being physically present at it.

Real-time state sync

The remote doesn't poll. Desktop instances broadcast their open-item list over MQTT; the remote subscribes and updates its display immediately when anything changes. If someone opens an item directly on the desktop, the remote reflects it. If the remote opens an item, the desktop responds.

Inventory browsing and filtering

The remote includes a full inventory browser. Search by item name, filter by project (colour swatches identify projects at a glance), and see at a glance which items are currently open on the selected remote desktop — indicated by a green dot.

Document details and image thumbnails display within the remote's item view, loaded from the local disk cache shared with the desktop client. Page navigation and expand/collapse controls operate on the remote desktop in real time.

Configuration

The remote stores broker address, credentials, and house selection in ~/.config/cbz/house_config.toml. Broker settings are editable from within the application without restarting. Auto-reconnect with retry handles the typical home network reality of intermittent connections.

The use case

The remote is useful whenever you want to interact with an inventory session on a different machine without switching seats. Working at a second desk while an inventory audit is running on your main workstation. Coordinating what's displayed on a shared screen in a workshop. Navigating documentation on a mounted display without reaching for the keyboard.

It is deliberately narrow in scope — it controls the desktop, it doesn't replace it. For full inventory management, the desktop client is the right tool. For remote observation and control of an existing session, the remote is built exactly for that.

← Back to all features