Skip to content

A tiling window manager for Windows

Notifications You must be signed in to change notification settings

Fuann-Kinoko/MiguruWM

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

「見苦窓経営」笑

Miguru is an automatically tiling window manager for Windows 10 à la Amethyst/xmonad.

Motivation

There already are a bunch of really nice tiling window managers for Windows – see Other tiling WMs for Windows – so far I did not settle with any, though. So I'll be rolling my own...

The goal is a basic but hopefully stable window manager that should behave somewhere close to Amethyst/xmonad.

Caveats

  • Uses native virtual desktops as workspaces, which can't be switched on per-monitor basis, integrate however with:

    • Task View and programs like VirtualSpace
    • Settings like VirtualDesktopAltTabFilter and VirtualDesktopTaskbarFilter in HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
  • No binary space partitioning, no moving in specific directions, just the basics of xmonad:

    • Divide screen into master and secondary pane
    • Cycle through windows forwards/backwards
    • Layouts: tall, wide, fullscreen (aka monocle) and floating (i.e. no tiling)
  • Tested on Win10 Build 19042-19045, Windows 11 is currently not supported

    • Particularly the GUIDs for the virtual desktop COM interfaces are missing/untested

Installation

Miguru is more of an AutoHotkey library (which lies in lib/* or is embedded in mwm.exe) and a default hotkey handler mwm.ahk.

Standalone version (embedded with Ahk2Exe)

  1. Download the artifact from the latest workflow-run
  2. Extract the zip and run mwm.exe

When updating, download the newest artifact and replace mwm.exe, but keep your mwm.ahk if you have modified it.

Cloning the repository

  1. Download and install AutoHotkey v2
  2. Clone this repository with git clone https://github.com/imawizard/MiguruWM.git
  3. Run autohotkey MiguruWM\mwm.ahk

Documentation

When modifying mwm.ahk to your liking, see the following docs:

The hotkeys I use can be found here.

For help on how to adjust the hotkeys, see the AutoHotkey documentation.

How to use

The default hotkeys in mwm.ahk are the same as in Getting started with xmonad, in short:

General

Hotkey Description
Alt-j Focus next window
Alt-k Focus previous window
Shift-Alt-c Kill window
Shift-Alt-Return Open a new Windows Terminal
Alt-p Open search (Win-s)
Alt-q Restart script
Shift-Alt-q Exit script

Tiling

Hotkey Description
Alt-m Focus master window
Alt-Return Swap window with master window
Shift-Alt-j Swap window with next
Shift-Alt-k Swap window with previous

Floating

Hotkey Description
Alt-Left click Float and move a window
Alt-Right click Float and resize a window
Alt-t Tile floating window

Workspaces

Hotkey Description
Alt-1~9 Switch to workspace 1~9
Shift-Alt-1~9 Move window to workspace 1~9

Monitors

Hotkey Description
Alt-w,e,r Focus monitor 1~3
Shift-Alt-w,e,r Move window to monitor 1~3

Layout

Hotkey Description
Alt-Space Next layout
Shift-Alt-Space Reset current workspace's layout
Alt-h Shrink master pane
Alt-l Expand master pane
Alt-, More master windows
Alt-. Fewer master windows

Screenshots

tall layout

tall

tall layout with 2 master windows

tall-2

wide layout

wide

wide layout with 4 master windows

wide-4

Bugs and Logging

If you encounter incorrect behaviour, you can try turning on logs to get further information on what's happening by running the script from PowerShell like so:

$env:AHK_LOG = "trace"
autohotkey MiguruWM\mwm.ahk

Other tiling WMs for Windows

Non-automatically tiling WMs and similiar tools for Windows

About

A tiling window manager for Windows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • AutoHotkey 99.2%
  • PowerShell 0.8%