Vivaldi Workspace Desktop Mover
Finds all open Vivaldi browser windows and moves them to Windows Virtual Desktops based on their workspace.
Why Use This?
If you are using virtual desktops then it often makes sense to have vivaldi windows open in many of them at the same time.
However whenever vivaldi closes they often don't reopen in the correct desktops, all opening in the current desktop instead e.g. after a crash.
Instead of having to manually go through each window and figure out which desktop to move it to, you can use this tool and the built in workspace feature of vivaldi to automate the process!
It can also be used to create new desktops as you create new workspace windows.
Important Information
-
This tool only moves windows open on the current desktop - so be sure to run it where all your vivaldi windows are!
-
By defualt this tool will look for virtual desktops with the same name as the window's workspace, and will create new virtual desktops if it cant find a match - if you wish to change this see the command-line arguments section.
Installation and Usage
Executable
- Go to the latest release : https://github.com/DavidGBrett/vivaldi-workspace-desktop-mover/releases/latest
- Download the
.exefile, e.g.VivaldiWorkspaceDesktop-v1.0.0.exe - Go to the virtual desktop which has the unsorted vivaldi windows.
- Double click on the exe or launch it from the terminal.
Pip Install from PyPI
- Install using pip:
pip install vivaldi-workspace-desktop-mover
- Run as a module:
python -m vivaldi_workspace_desktop_mover
Python Wheel
- Go to the latest release : https://github.com/DavidGBrett/vivaldi-workspace-desktop-mover/releases/latest
- Download the
.whlfile e.g.vivaldi_workspace_desktop_mover-1.0.0-py3-none-any.whl - Install the wheel:
pip install C:\path\to\vivaldi_workspace_desktop_mover‑X.Y.Z‑py3-none-any.whl - Run as a module:
python -m vivaldi_workspace_desktop_mover
Command-line Arguments
This project exposes two CLI options:
-
--no-create
- Prevents creation of new virtual desktops. By default the tool will create missing desktops as needed; use this flag to disable that behavior.
-
--mapping-file
- Path to a JSON file that defines workspace -> desktop mappings.
- The file must contain a JSON object (dictionary). Example:
{ "Work": "Job", "Personal": "Other", "Research": "Other" }
Notes & troubleshooting
-
Windows Defender/SmartScreen blocks the .exe: Since this is an unsigned executable, Windows may prevent running it. Click "More info" and then "Run anyway".
-
If double‑clicking the exe appears to do nothing, run it from PowerShell or cmd to see error messages and other information.
-
The mapping file must be valid JSON and must be a top-level object; the tool will exit with an error if the file is missing or malformed.
License
MIT - See LICENSE file for details.
Metadata
Release files for vivaldi-workspace-desktop-mover 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vivaldi_workspace_desktop_mover-1.0.1.tar.gz | 8.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vivaldi_workspace_desktop_mover-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / vivaldi_workspace_desktop_mover-1.0.1.tar.gz
| Download URL | vivaldi_workspace_desktop_mover-1.0.1.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d44f3a722a2065baeb66796b6ad05678299f27f642cfae5ad004b1857f0f1c6
|
|
BLAKE2b-256 checksum How to use checksums |
cb8824b4ce2ae1cf62e143a568a091aa03aaa00c284bf3607102b36ba9e77bcd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 3, 2026.
Transparency logRelease files / vivaldi_workspace_desktop_mover-1.0.1-py3-none-any.whl
| Download URL | vivaldi_workspace_desktop_mover-1.0.1-py3-none-any.whl |
|---|---|
| Size | 9.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b5f00e232c938ab4acc01087f27fbe08844ff974b1e77913f1c268a3c5eda339
|
|
BLAKE2b-256 checksum How to use checksums |
787eeccf8e4b5f5558f8febf6ab53ac339d8d584f97d0496a310782cee17033c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 3, 2026.
Transparency log