Desktop Shell
Full-screen top bar and bottom dock for RobOS on a GNOME/X11 session, replacing the GNOME panel while it runs.
Desktop Shell is the taskbar layer of the RobOS appliance desktop. It opens a full-screen window behind your other windows with a thin menu bar on top and a dock along the bottom. It targets the Ubuntu and GNOME session that the RobOS VM image provides.
What is on screen
- Menu bar (top). The RobOS logo button opens a menu with Back to GNOME. On the right: the Ephemeral Agents chip, a notifications button, the date and time, and a thin strip that toggles Show Desktop (minimize all, restore).
- Dock (bottom). The launcher button opens the App Launcher. Next to it are pinned apps and the windows that are currently open. Right-click a dock icon for pin, unpin and window actions. Drag the handle in the dock to resize it.
- Ephemeral Agents chip. It lists profiles from
~/.config/robos/profiled/profiles.json(the file written by Agent Profile Daemon). Clean All marks every profile in that file as terminated.
The notifications button launches the notifications app. The dock has no tray icons.
How it works
- On start it runs
sudo /usr/local/bin/robos-desktop-panel hide. That script (inpackages/robos-desktop/scripts) disables the dash-to-panel GNOME extension and applies a theme that hides the top bar. Back to GNOME runs the matchingshowcommand and quits. The panel commands are skipped whenROBOS_SCENARIO,ROBOS_TEST_MODEorROBOS_HEADLESSis set. - Window lists and window actions (focus, minimize, maximize, close) go through the X11 tools
wmctrlandxdotool, so it needs an X11 session with those installed. - Apps start as Electron processes from
/usr/local/share/robos/<app>(or from the sibling folder in a checkout). Running apps are found by scanning/procfor that path. - On Back to GNOME it also asks the desktop manager, over
/run/user/<uid>/robos-dm.sock, to pause its watchdog forrobos-desktopso the shell is not restarted. If the socket is not there, the request fails and a warning is logged. - Pinned apps are remembered by the shell window in its local storage (
robos-pinned-apps).
Keyboard shortcuts
The shell registers global shortcuts that mirror the GNOME ones.
| Keys | Action |
|---|---|
Super+D | Show desktop / restore |
Super+Up, Super+Down | Maximize / unmaximize the active window |
Alt+F10 | Toggle maximize |
Super+H, Alt+F9 | Minimize the active window |
Alt+F4 | Close the active window |
Run it
Launch RobOS Desktop from the app launcher, or run npm start in packages/robos-desktop. Only one instance runs at a time.
More in Desktop & Command Center
App Launcher A searchable grid of the desktop applications installed on the machine, including the RobOS apps. Desktop Customizer A slash-command console that changes GNOME settings (clock, taskbar, theme, shortcuts, startup apps) and keeps git-backed snapshots to roll back. Desktop Dashboard A full-screen window that sits at desktop level and shows a grid of widgets; today it contains one clock and date widget. Desktop Manager The background process that launches RobOS apps, restarts the ones marked keep-alive, owns the tray icon and listens on a Unix socket. Desktop Widgets A transparent panel on the right edge of the desktop with five status widgets: active task, system stats, AI agent, work journal and security. Dev Central Your daily task list: issues from your task servers as an epic tree, with buttons to start design or implementation agents and to open the related PR. Dev Discussions A chat-style view of discussion threads attached to tasks and pull requests, stored in a local cache with optional posting to GitHub. Icon Manager Shows the icon of every installed RobOS app, lets you replace one, and rewrites the apps' installed icon.svg and .desktop Icon= lines. Manager Dashboard Team metrics for one GitHub repository: open issues, merged PRs, PR cycle time, deploy frequency, approval rate, tasks by stage and PRs per developer. Notifications Center Shows the notification history stored in ~/.config/robos/notifications.json, with filters by category, tier and date, and edits the notification preferences. Package Manager Prototype screen for listing apps and daemons with start, stop and health-probe buttons. It shows built-in sample data. RobOS Audio Player Open-source audio player, custom playlist engine, procedural focus soundscapes, and zero-cloud Google Cast smart speaker streaming. RobOS Dashboards Create KGraph graphical dashboards from card layouts where each widget is any RobOS component, embeddable via and castable to Smart TVs RobOS GNOME Desktop App Installer Install, manage, and repair GNOME Desktop shortcuts, App Grid launchers, multi-scale icons, and Dock favorites for all RobOS apps. RobOS Home Speaker Smart speaker intercom, walkie-talkie voice notes, neural TTS broadcast, custom audio streaming, and soundboard. RobOS Preferences Settings window for RobOS apps: optional AI API mode, agent tiers, prompt security, GitHub accounts, IDE, notifications, journal and theme. RobOS Smart TV Studio Pair Smart TVs, build & sideload Developer Mode TV apps (LG webOS, Samsung Tizen, Google TV/ADB, Roku), serve the 10-foot D-Pad TV Portal (:19210), and stream 4K games. Search Indexer Builds plain-text lists of file paths under folders you choose, which RobOS text areas search for @-mentions. Software Center Install and manage coding-agent CLIs, IDEs, browsers, game tools and utilities on Windows or Linux. System Logs Viewer Viewer for the structured logs that RobOS apps write to ~/.config/robos/logs, with search and level filters. Toast Daemon Shows overlay toast windows for new entries in ~/.config/robos/notifications.json, with tiers, categories, do-not-disturb and anti-spam limits. Workspace Manager Window showing a sample multi-repo task workspace with sync, teardown and open-in-IDE buttons that return canned results. Discovery helpers exist in the code but are not wired to the window.