output.mp4
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.
-
System-related dependencies
# for Debian-based distributions sudo apt install build-essential curl cmake git python3-pip libdbus-1-dev libglib2.0-dev
-
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
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.
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.
Application Target Plugin Visual Studio Code "code.desktop" vdm-vscode-plugin VLC "vlc.desktop" vdm-vlc-plugin Typora "io.typora.desktop" vdm-typora-plugin Okular "org.kde.okular.desktop" vdm-okular-plugin "Wallpaper, Network, Audio" gnome, kde, dde desktop-settings-plugin
The architecture of VDM is split into three parts: VDM Core
VDM Capability Library
, and VDM Plugin
.
The
VDM Capability Library
is developed to be invoked byVDM 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.
The
VDM Plugin
implementsSRC interface
and is invoked byVDM 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.
Virtual Domain Manager is licensed under GPLv3.