Skip to main content

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

  1. Go to the latest release : https://github.com/DavidGBrett/vivaldi-workspace-desktop-mover/releases/latest
  2. Download the .exe file, e.g. VivaldiWorkspaceDesktop-v1.0.0.exe
  3. Go to the virtual desktop which has the unsorted vivaldi windows.
  4. Double click on the exe or launch it from the terminal.

Pip Install from PyPI

  1. Install using pip:
    pip install vivaldi-workspace-desktop-mover
    
  2. Run as a module:
    python -m vivaldi_workspace_desktop_mover
    

Python Wheel

  1. Go to the latest release : https://github.com/DavidGBrett/vivaldi-workspace-desktop-mover/releases/latest
  2. Download the .whl file e.g. vivaldi_workspace_desktop_mover-1.0.0-py3-none-any.whl
  3. Install the wheel:
    pip install C:\path\to\vivaldi_workspace_desktop_mover‑X.Y.Z‑py3-none-any.whl
    
  4. 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)

Source distribution for vivaldi-workspace-desktop-mover 1.0.1
File Size Uploaded
vivaldi_workspace_desktop_mover-1.0.1.tar.gz 8.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vivaldi-workspace-desktop-mover 1.0.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page