-
Orebuoys Desktop v0.1.0 Stable
released this
2026-10-18 07:10:11 +00:00 | 4 commits to main since this releaseOrebuoys Desktop v0.1.0
orebuoys-desktop v0.1.0
Highlights
The first release of the desktop tray client: one static Go binary that turns
global keyboard shortcuts into requests to an Orebuoys board. There is no
embedded browser, no Qt, no CGO and no local audio path — shortcuts queue
playback in the board's voice channel, where the audio already lives.- Global shortcuts through the XDG GlobalShortcuts portal
(org.freedesktop.portal.GlobalShortcuts), with a KGlobalAccel D-Bus
fallback for KDE sessions where the portal is absent. - Tray menu over StatusNotifierItem and
com.canonical.dbusmenu: status,
configure shortcuts, silence waiting plays, reload config, open the board and
quit. - Actions: play a clip, play a filter (query, tag or library), capture a
snapshot, silence your waiting plays, and repeat the last clip. - Existing board routes only: a personal token is sent as a bearer token,
with?guild=on guild-scoped requests. Nothing in this release needs a new
server endpoint. doctor,list clipsandlist tagsfor diagnosing the server, token,
portal, tray and bindings without a GUI, andconfigureto reopen the
portal's shortcut configuration UI.- Config guarded at 0600, unknown JSON fields refused, and the token, the
Authorizationheader and credentialed URLs never logged.
linux/amd64andlinux/arm64builds are produced from the same tag.What is exercised
The repository's unit tests cover config loading and validation, trigger
parsing and the KGlobalAccel key encoding, the exact HTTP method, path,
?guild=, bearer header and JSON body for every action, tag/library resolution,
the D-Bus signatures of the portal and KGlobalAccel structs, the tray menu
model, anddoctor's formatting and failure exits.The desktop integration is reasoned and unit-tested rather than live-tested on
every compositor: portal binding and its permission dialog, activation delivery
from the compositor, tray rendering and KGlobalAccel registration still need a
real Plasma Wayland session. The checklist is at the end of
docs/wayland-hotkeys.md.Known limitations
- Silence is not a stop button. It withdraws your own waiting plays; it
cannot cut off the clip the channel is already hearing. - Repeat is per-process. It remembers the last clip this daemon queued and
has nothing to repeat after a restart or a config reload. - One server per daemon. Two instances would collide on the control bus
name, the portal app id and the fixed shortcut ids. Changeguildand reload,
or restart, instead of running two copies. - No local preview or local audio. Playback happens on the board.
- A tray host restart requires restarting the daemon to re-register the
icon; registration is one-shot. - X11 is not live-tested. The portal backend may work there, otherwise the
KGlobalAccel fallback is the path.
Requirements
- KDE Plasma 6 on Wayland for the intended experience, with
xdg-desktop-portal,xdg-desktop-portal-kdeand a StatusNotifier host. - A board account whose roles include
playfor clips, filters, silence and
repeat, andrecordfor snapshots. A token is exactly its owner. - The installed desktop file: its basename is the application id the portal
associates with the process, so installing it is not optional.
Upgrading
This is the first tagged release, so there is no upgrade or migration path yet.
Install
The binaries are static Linux builds (
CGO_ENABLED=0); they need no Go
toolchain, C library, Qt or browser engine at runtime.tar -xzf orebuoys-desktop-linux-amd64.tar.gz # or -arm64 cd orebuoys-desktop-amd64 # or orebuoys-desktop-arm64 sudo install -Dm755 orebuoys-desktop /usr/local/bin/orebuoys-desktop sudo install -Dm644 io.github.psychofox.OrebuoysDesktop.desktop \ /usr/local/share/applications/io.github.psychofox.OrebuoysDesktop.desktop sudo install -Dm644 orebuoys-desktop.service \ /usr/local/lib/systemd/user/orebuoys-desktop.service orebuoys-desktop --versionCreate
~/.config/orebuoys-desktop/config.json(mode 0600) with the
board URL and token, then runorebuoys-desktop doctor. The README
covers the config, shortcuts and the systemd user unit.To verify the downloads, run this in the directory that holds
SHA256SUMSand the assets:sha256sum -c SHA256SUMSAssets
Each
.tar.gzcontains the binary,README.md,LICENSE, the desktop file and the systemd user unit.Asset Platform Size orebuoys-desktop-linux-amd64linux/amd64 8495266 bytes orebuoys-desktop-linux-amd64.tar.gzlinux/amd64 3507917 bytes orebuoys-desktop-linux-arm64linux/arm64 7930018 bytes orebuoys-desktop-linux-arm64.tar.gzlinux/arm64 3160891 bytes SHA256SUMSall 394 bytes Checksums
79e599b6dbeea5c421bcbb22ae76bfb35cd241cf631c4065ee03f09b7a25ce38 orebuoys-desktop-linux-amd64 8d5003d93e2cd833ec9b54d5a5c608e11c47b597b173292d062d608a60b145a6 orebuoys-desktop-linux-arm64 b38fc508acc8baf4f91ab98759cf031b075859b3b561968eb5596cbd2be137e2 orebuoys-desktop-linux-amd64.tar.gz 8c96bc61b1f6a2d5d7700c7b79f124296e43ce700e38cce0de2c436ea6f2003a orebuoys-desktop-linux-arm64.tar.gzDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Global shortcuts through the XDG GlobalShortcuts portal