JigsawWM is a dynamic window manager for Windows10/11 just like the suckless dwm for the X.
2023-01-01_18-56-36.mp4
Tested on Windows 11 Build 22000 and Python 3.11.1. Should work on Windows 10 and Python 3.8
Install from pypi
pip install jigsawwm
Install from github repo
pip install git+https://github.com/klesh/JigsawWM.git
JigsawWm follows the suckless philosophy and works just like dwm - dynamic window manager | suckless.org software that sucks less. All windows are treated as a Ordered List
, they will be moved into places based on their Order
and specified Layout
automatically to improve your productivity.
- Download the example.pyw to your local hard drive
- Edit the code as you see fit
- Double-click the file and it should launch with a tray icon, or you may have to create a file association to the
Python
program - Create a shortcut in your
Startup
folder if you like it
Win + j
: activate next window and move cursor to its centerWin + k
: activate previous window and move cursor to its centerWin + Shift + j
: move active window down in the list / swap with the next oneWin + Shift + k
: move active window up in the list / swap with the previous oneWin + n
: minimized active windowWin + m
: maximize/unmaximized active windowWin + /
: swap active window with first window in the list or second window if it is the first window alreadyWin + q
: kill active windowWin + Space
: next theme,Theme
consists ofLayout
,Background
,gap
, etc. to determine how windows should be placedWin + i
: activate first window of the next monitor if any or move cursor onlyWin + u
: activate first window of the previous monitor if any or move cursor onlyWin + Shift + i
: move active window to next monitorWin + Shift + u
: move active window to previous monitorWin + Control + i
: inspect active window
- Open your Startup folder by pressing
Win + r
to activate the Run dialog and type inshell:startup
, a FileExplorer should pop up. - Create a shortcut to your
.pyw
file. Done!
- support portrait mode monitor (rotate layout by 90 degree)
- update readme