Move Vivaldi browser windows to Windows virtual desktops based on workspace name
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vivaldi_workspace_desktop_mover-1.0.1.tar.gz.
File metadata
- Download URL: vivaldi_workspace_desktop_mover-1.0.1.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d44f3a722a2065baeb66796b6ad05678299f27f642cfae5ad004b1857f0f1c6
|
|
| MD5 |
315db51cfebd99be5f604dadb407b0a2
|
|
| BLAKE2b-256 |
cb8824b4ce2ae1cf62e143a568a091aa03aaa00c284bf3607102b36ba9e77bcd
|
Provenance
The following attestation bundles were made for vivaldi_workspace_desktop_mover-1.0.1.tar.gz:
Publisher:
release.yml on DavidGBrett/vivaldi-workspace-desktop-mover
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vivaldi_workspace_desktop_mover-1.0.1.tar.gz -
Subject digest:
5d44f3a722a2065baeb66796b6ad05678299f27f642cfae5ad004b1857f0f1c6 - Sigstore transparency entry: 908480296
- Sigstore integration time:
-
Permalink:
DavidGBrett/vivaldi-workspace-desktop-mover@fbc3e0e788cc298bace4690e143f0718102d0c7d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/DavidGBrett
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fbc3e0e788cc298bace4690e143f0718102d0c7d -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file vivaldi_workspace_desktop_mover-1.0.1-py3-none-any.whl.
File metadata
- Download URL: vivaldi_workspace_desktop_mover-1.0.1-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5f00e232c938ab4acc01087f27fbe08844ff974b1e77913f1c268a3c5eda339
|
|
| MD5 |
1b18a06c1ccb50e32352b2ff73b4e686
|
|
| BLAKE2b-256 |
787eeccf8e4b5f5558f8febf6ab53ac339d8d584f97d0496a310782cee17033c
|
Provenance
The following attestation bundles were made for vivaldi_workspace_desktop_mover-1.0.1-py3-none-any.whl:
Publisher:
release.yml on DavidGBrett/vivaldi-workspace-desktop-mover
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vivaldi_workspace_desktop_mover-1.0.1-py3-none-any.whl -
Subject digest:
b5f00e232c938ab4acc01087f27fbe08844ff974b1e77913f1c268a3c5eda339 - Sigstore transparency entry: 908480298
- Sigstore integration time:
-
Permalink:
DavidGBrett/vivaldi-workspace-desktop-mover@fbc3e0e788cc298bace4690e143f0718102d0c7d -
Branch / Tag:
refs/heads/main - Owner: https://github.com/DavidGBrett
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@fbc3e0e788cc298bace4690e143f0718102d0c7d -
Trigger Event:
workflow_dispatch
-
Statement type: