- โจ Features
- ๐ธ Screenshots
- ๐ฆ Installation
- ๐ Quick Start
- ๐งฐ Detailed Features
- ๐ External Interfaces
- โ๏ธ Configuration
- ๐ ๏ธ Changelog
- ๐ฎ Roadmap
- โ Troubleshooting
- ๐ค Contributing
- ๐ License
| ๐ฅ๏ธ 9 Virtual Desktops | Switch, move, gather via hotkeys | ๐งฉ Smart Tiling |
| ๐ Status Bar | Gradient, rounded, multi-monitor | ๐จ 20+ Themes |
| ๐ฅง Pie Menu | Space + Right Mouse | โจ๏ธ WTM Mode |
| โ KDE-style Drag | Alt + drag anywhere to move/resize | ๐ค WinSelect |
| ๐ Clipboard History | Built-in logger & viewer | ๐ External API |
| โฑ๏ธ Work Timer | Configurable progress bar | ๐ Snapping |
Two years of daily-use refinement. Built because every other Windows WM was too heavy and made my machine unusable for anyone else.
- Install AutoHotkey v2 โ https://www.autohotkey.com/
- Download
wm.ahkfrom the latest release - Run as Administrator (required for elevated windows)
โ ๏ธ Pie menu customization and some advanced features require AHK v2. Running the.ahkscript is recommended.
| Action | Hotkey |
|---|---|
| ๐ Help page | Alt + / |
| ๐งฉ Tile current monitor | Alt + D |
| โ Move window (anywhere) | Alt + Left Mouse |
| ๐ Resize window (anywhere) | Alt + Right Mouse |
| ๐ Switch desktop 1~9 | Alt + 1 ~ 9 |
| ๐ฆ Move window to desktop | Alt + Shift + 1 ~ 9 |
| ๐ Move & follow to desktop | Ctrl + Alt + 1 ~ 9 |
| ๐ Toggle status bar | Ctrl + Alt + B |
| โจ๏ธ WTM keyboard tiling | Ctrl + Alt + T |
| ๐พ Save layout | Alt + Shift + S |
| ๐งฒ Gather all windows | Alt + Shift + G |
| ๐ Toggle always-on-top | Alt + T |
| ๐ Reload script | Alt + R |
| ๐ฅง Pie menu | Space + Right Mouse |
| โก Power menu | Alt + X |
| Feature | Description |
|---|---|
| ๐ฅ๏ธ Virtual Desktops | 9 independent desktops. Switch (Alt+N), move windows (Alt+Shift+N), or move-and-follow (Ctrl+Alt+N). Inactive-desktop windows can be minimized or hidden. |
| ๐งฉ Smart Tiling | One key tiles all windows on the current monitor. Custom layout rules per monitor with gap control. |
| โ KDE-style Drag | Move windows by holding Alt + dragging anywhere (not just the title bar). Resize with Alt + Right Mouse. |
| ๐ฅง Pie Menu | Hold Space, then right-click: a radial menu appears. Move the mouse in a direction to trigger that action. |
| ๐ Status Bar | Multi-monitor bar with gradient colors, rounded corners, and per-element alignment. Shows desktops, clock, date, progress, system stats, and custom widgets. |
| ๐ผ๏ธ Window Borders | Colored borders around active/inactive windows with live gradient support. Toggle with Ctrl+Alt+B. |
| โจ๏ธ WTM Mode | Full keyboard window management: HJKL to move focus and swap windows, Ctrl+HJKL to resize, Alt+HJKL to snap. |
| ๐ Window Snapping | Drag windows to screen edges or other windows to snap. Configurable snap/release distances. |
| ๐จ Themes | 20+ built-in themes (Nord, Dracula, Catppuccin, Gruvbox, Tokyo Night, Monokaiโฆ). Export any theme to custom in one click. |
| โฑ๏ธ Work Timer | Configurable work period with progress bar on the status bar. |
| ๐ Clipboard History | Logs all copied text to a file with timestamps. |
| โก Power Menu | Shutdown / Sleep / Reboot menu with gradient buttons. |
AHK_WM listens for WM_COPYDATA messages. External scripts can push text to the status bar or pop up center-screen notifications โ with full per-call visual customization.
; Basic โ uses config defaults
AHK_WM_OSD("Build passed!", 3000)
; With per-call overrides (all keys optional)
AHK_WM_OSD("Disk full!", 5000, "fs=36,bg=CC3333,tx=FFFFFF,op=95,pos=30")Available override keys (see docs/config-reference.md for full table):
| Key | Meaning | Default |
|---|---|---|
fs |
Font size | Config OSDFontSize (20) |
op |
Opacity % | Config OSDOpacity (78) |
pos |
Vertical position % | Config OSDPositionPct (80) |
x / y |
Pixel/percentage coordinates | (center / config) |
bg / tx |
Background / text color | Theme colors |
wr |
Max width (auto-wrap) | 85% monitor width |
rd / rr |
Rounded corners on/off + radius | Config values |
fn |
Font face | Config FontName |
tag |
Logical label (same-tag OSDs replace each other) | (none) |
External OSDs run in a separate instance pool โ they never interfere with
wm.ahk's own internal OSD popups.
Like OSD, the bar exposes an external interface โ push content from any script:
WMBarPush(1, "0.5/0.8", "Now Playing: Hey Jude โ The Beatles")
WMBarPush(2, "(200-550)/1920", "Take a sad song`nand make it better") ; `n = newline, renders as 2 linesReady-to-run examples are in docs/Examples/OSDExamples/ and docs/Examples/BarExamples/,
each with English (En/) and Chinese (Ch/) variants, heavily commented with full parameter docs.
{
"hooks": {
"Stop": [
{ "command": "C:\\Users\\Administrator\\Desktop\\AHK_WM\\docs\\Examples\\OSDExamples\\En\\osd-simple.ahk" }
]
}
}A simple config lets Claude Code pop an OSD on completion โ the same idea works for task schedulers, CI pipelines, Pomodoro timers, whatever.
๐ docs/Examples/OSDExamples/ and docs/Examples/BarExamples/ โ several ready-to-run demos to learn from.
All configuration lives in %USERPROFILE%\.config\AHK_WM\wm_config.ini. Edit it, then press Alt + R to reload โ no restart needed.
- WTM mode โ the current WTM has many rough edges
- Per-monitor desktops โ independent desktop switching per monitor
- Package managers โ Scoop, Chocolatey, winget distribution
- Window exclude rules โ current exclusion rules need improvement
- Bar auto-hide & reveal โ currently only full hide; add occlusion-based auto-hide or transparency mode
| Symptom | Fix |
|---|---|
| Hotkeys fail in admin windows | Run script as Administrator |
| Pie menu customization broken | Install AHK v2 (not just the .exe) |
| Borders look offset | Adjust Border thickness or radius |
- ๐ Bug reports โ Open an issue with repro steps and Windows version
- ๐ก Feature requests โ Open an issue with the
enhancementlabel - ๐ง Pull requests โ Welcome. For large changes, open an issue first.
- ๐จ Themes โ Submit with a screenshot.
MIT ยฉ 2024-2026 EngineeringMechanicsB








