Skip to content

FAI-Solutions/move-window-between-desktops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows 10 and 11 let you switch between virtual desktops using Ctrl + Win + Arrow, but they don’t offer a built-in shortcut for moving the currently active window between desktops. This lightweight utility fills that gap by letting you send the active window to the next or previous virtual desktop with a single keyboard shortcut. It makes managing multiple workspaces far more efficient and dramatically improves your workflow.

Note: This repository is primarily hosted on Codeberg. Issues, pull requests, and contributions should be directed to the Codeberg repository.


Keyboard Shortcuts

Move Window Across Virtual Desktops

Because laptop keyboards include an Fn key between Ctrl and Win keys while desktop keyboards do not, alternative hotkeys were added to maintain consistent finger distance across devices.

Shortcut Action
Ctrl + Shift + Win + → Move window to next desktop (Windows style)
Ctrl + Shift + Win + ← Move window to previous desktop (Windows style)
Ctrl + Shift + Alt + → Move window to next desktop (alternative style)
Ctrl + Shift + Alt + ← Move window to previous desktop (alternative style)

Switch Virtual Desktops

Shortcut Action
Ctrl + Win + → Switch to next desktop (native Windows)
Ctrl + Win + ← Switch to previous desktop (native Windows)
Ctrl + Alt + → Switch to next desktop (alternative style)
Ctrl + Alt + ← Switch to previous desktop (alternative style)

Installation Options

Ⅰ) Setup-Installer (Recommended)

1. Download and install via Setup.exe

Download the move-window-between-desktops-setup.exe from the releases page, double-click the setup installer and follow the on-screen instructions.

  • Automatically configures Task Scheduler to launch the utility at every user login
  • Supports automatic updates via WinGet

2. Install via WinGet (CLI)

Run PowerShell and type the following commands:

winget install FAI-Solution.move-window-between-desktops

During installation, you’ll be prompted for elevated privileges. Accept to enable moving elevated apps (Task Manager). After installation, the folder opens—double-click move-window-between-desktops.exe to run. To upgrade, enter the following in PowerShell:

winget update FAI-Solution.move-window-between-desktops

Ⅱ) Portable EXE

Download move-window-between-desktops.exe and setup-autostart.exe (a helper utility that configures Task Scheduler) from the releases page:

  • No installation required
  • Run directly from any folder
  • Requires VirtualDesktopAccessor.dll in same folder — download the correct version from VirtualDesktopAccessor's release page for your Windows build (Settings → System → About → look for "OS build")

Ⅲ) AutoHotkey Scripts

1. Manual Install

  1. Download and install AutoHotkey v2 (if not already installed)
  2. Download (right-click → "Save link as") the following files: move-window-between-desktops.ahk , setup-autostart.ahk
  3. Find and download the matching VirtualDesktopAccessor.dll for your Windows build (Settings → System → About → check "OS build") from VirtualDesktopAccessor's release page
  4. Place all three files together, as shown below:
📁 MoveWindowBetweenDesktops/
├── move-window-between-desktops.ahk  (main script)
├── setup-autostart.ahk               (autostart configuration)
└── VirtualDesktopAccessor.dll        (Windows API bridge)
  1. Run setup-autostart.ahk as Administrator — this sets up autostart and launches the script
  2. (Optional) add a custom icon named app_icon.ico to the same folder — the script will automatically update the tray icon

2. Command line install via Scoop

Open PowerShell as Administrator (pwsh.exe), add the bucket, then install by running:

scoop bucket add fai-solutions https://codeberg.org/FAI-Solutions/scoop-bucket
scoop install move-window-between-desktops

Then double-click setup-autostart.ahk as Administrator to enable autostart and the main script.

Troubleshooting

Windows Defender SmartScreen Warning

If you see a SmartScreen warning (this is normal for new software):

  1. Click More info
  2. Click Run anyway

Windows Defender SmartScreen blocks the script

When you download .ahk files from the internet, Windows may flag them as untrusted. You might see a SmartScreen popup stating “Windows protected your PC”.

  1. Right-click each downloaded .ahk file → select Properties → at the bottom of the General tab, check the Unblock checkbox → click Apply
  2. Do this for both move-window-between-desktops.ahk and setup-autostart.ahk before running them

The application stops working after a major Windows update

  1. Check if the icon still appears in the system tray
  2. A Windows update may require a new DLL version — check releases for updates
  3. Open an issue with your Windows build number

Cannot move elevated windows (example: Task Manager)

Run the application as Administrator. The installer can configure this automatically via scheduled task.


Contact

License

MIT

Acknowledgements

  • AutoHotkey v2 — The scripting language that powers this utility. AutoHotkey is a free, open-source scripting language for Windows that allows users to easily create scripts for automating tasks and customizing hotkeys.

  • VirtualDesktopAccessor by Jari Pennanen — The DLL that provides access to Windows' virtual desktop API (MIT License).

  • Code Signing Policy — Code signed by SignPath.io, certificate by SignPath Foundation


Enjoy a feature Microsoft should have included long ago!