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
# for Debian-based distributions
sudo apt install build-essential curl cmake git python3-pip libdbus-1-dev libglib2.0-dev
Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Installation
clone this repository
git clone https://github.com/VDM-Maintainer-Group/virtual-domain-manager.git --depth=1
git submodule update --init
build with cmake (>=3.10)
mkdir build; cd build; cmake ..; make
build and install pyvdm
cd build; make build-pyvdm
cd dist; pip3 install *.whl
build and install capability library
cd capability; sbs build; sbs install
run pyvdm
pyvdm-tray
or pyvdm
for command-line interface.
Compatibility
Currently, VDM detects the compatibility of applications in the following two ways:
Development
The architecture of VDM is split into three parts: VDM Core
VDM 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.
Please refer to the contribution guidance here.
Plugin Development
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.
Please refer to the contribution guidance here.
License
Virtual Domain Manager is licensed under GPLv3.
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.