The architecture of VDM is split into three parts: VDM CoreVDM Capability Library, and VDM Plugin.
Capability Development
The VDM Capability Library is developed to be invoked by VDM Plugin for alleviation of complicated development.
The library should provide a entry with functions exported with specific type of signature.
The VDM Plugin implements SRC interface and is invoked by VDM Core.
The plugin is developed to support GUI application compatibility, or define the actions to be taken when switch the domain.
Virtual Domain Manager
https://user-images.githubusercontent.com/9068301/203792081-b69e406d-8283-4e0f-bc97-fa009d8b2674.mp4
Project Progress
Introduction
VDM is a workspace manager for GUI applications.
When workspace is closing, VDM will save the status of all compatible applications and restore them when re-open.
Dependencies
System-related dependencies
Rust toolchain
Installation
clone this repository
build with cmake (>=3.10)
build and install pyvdm
build and install capability library
run pyvdm
Compatibility
Currently, VDM detects the compatibility of applications in the following two ways:
Native Compatibility: The compatibility is claimed over D-Bus.
Firefox ESR (via browser-bridge)
Google Chrome (via browser-bridge)
Microsoft Edge (via browser-bridge)
Deepin Browser (via browser-bridge)
Plugin-based Compatibility: The compatibility is claimed by installed plugins.
Development
The architecture of VDM is split into three parts:
VDM Core
VDM Capability Library
, andVDM Plugin
.Capability Development
Please refer to the contribution guidance here.
Plugin Development
Please refer to the contribution guidance here.
License
Virtual Domain Manager is licensed under GPLv3.