Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Use Xpra in desktop mode with Openbox
Compared to using the Xpra HTML5 client in window mode, the desktop mode features much better window management thanks to the battle-proven Openbox WM. The two most noticable improvements are: 1. The Capella main window automatically is fullscreened, removing the unneeded window decorations and making it always follow the browser window size, just like for Xrdp based sessions. 2. Modal dialogs (like the "New Project" or "Properties" dialogs) now properly stay on top of the Capella main window. Previously, they could disappear behind the main window. This avoids the awkward situations where a hidden modal dialog prevents interaction with the main window, making it appear completely frozen. The Xvfb instance spawned by Xpra is configured to use 96 DPI. This avoid issues with Openbox seeing a way too high resolution during early startup, before the client has connected, and assuming a HighDPI display. Scaling is actually done client-side by the browser (by reporting a downscaled resolution to Xpra), and Openbox applying its own scaling settings would result in irritating issues like oversized mouse cursors. Setting the DPI happens in a small wrapper script, which is called by Xpra instead of the actual `openbox-session` executable. This allows the setting to be applied early enough to also affect Openbox itself, instead of only the Capella instance started by its autostart script.
- Loading branch information