atlus/backend/routers
roberts a73b515258 Add native GUI app support via per-window frame streaming
Each configured GUI app (e.g. Nextcloud) gets its own dock icon and
opens as a regular Atlus tab. Under the hood: Xvfb virtual display,
ImageMagick captures individual window pixmaps as JPEG, streams over
WebSocket to a canvas element, with xdotool forwarding mouse/keyboard
input back to the X11 window. Apps persist in background when tab is
closed, and streaming pauses when no viewers are attached.

New files: backend/display.py (DisplayManager + ManagedGuiApp),
backend/routers/display.py (WebSocket + REST), frontend display.js/css.
Config: gui_apps array in settings for registered applications.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 23:09:15 -05:00
..
plugins Fix robustness issues across backend and frontend 2026-03-14 17:41:43 -05:00
__init__.py Initial commit — Atlus web desktop environment for SBCs 2026-03-14 16:53:46 -05:00
display.py Add native GUI app support via per-window frame streaming 2026-03-14 23:09:15 -05:00
files.py Fix robustness issues across backend and frontend 2026-03-14 17:41:43 -05:00
network.py Fixed polling agent and status bars. 2026-03-14 22:41:00 -05:00
packages.py Fix package manager: better error handling, debug endpoint, robust PATH 2026-03-14 19:33:04 -05:00
processes.py Initial commit — Atlus web desktop environment for SBCs 2026-03-14 16:53:46 -05:00
services.py Fix robustness issues across backend and frontend 2026-03-14 17:41:43 -05:00
session.py Fix terminal session: better error handling, reliable state save 2026-03-14 21:46:08 -05:00
settings.py Add native GUI app support via per-window frame streaming 2026-03-14 23:09:15 -05:00
stats.py Initial commit — Atlus web desktop environment for SBCs 2026-03-14 16:53:46 -05:00
terminal.py Add persistent/roaming desktop sessions 2026-03-14 21:41:28 -05:00
updates.py Fixed polling agent and status bars. 2026-03-14 22:41:00 -05:00