Dbus interface for virtual displays
Feature summary
!1698 (merged) added the --virtual-display
command-line option to create displays that don't correspond to physical displays.
How would you like it to work
Three DBus methods should be added:
- CreateVirtualDisplay(resolution: str) -> int
- ResizeVirtualDisplay(id: int, resolution: str)
- DeleteVirtualDisplay(id: int)
I think these methods are reasonably self-explanatory.
Relevant links, screenshots, screencasts etc.
The motivation is alternative display technologies. The Immersed desktop displays computer desktops in a VR space using a headset such as the Oculus Quest and similar. On Windows and MacOS, it's possible to dynamically add desktops through the app, but this is currently not available on Linux because in most cases there is no API for doing so.
Presently, virtual desktops can be added with a mutter
restart
using the --virtual-display
command-line option. My guess is that
it would be reasonably straightforward to add a DBus front-end to this
feature so that displays can be added, removed and resized without
having to restart the mutter
process.