Install
Download astur-windows-x64.exe
from GitHub Releases. No installer required. No admin rights required for normal windows.
Place it anywhere you like - your desktop, C:\tools\, wherever.
Astur is a Windows application. It manages Win32 windows and targets Windows 10/11 x64. macOS, Linux, Android, and iOS cannot run the release exe.
Run as administrator only when you need Astur to manage elevated windows such as Task Manager or admin terminals.
To run on login, create a shortcut in your Startup folder:
press Win+R, type shell:startup, and paste a shortcut to the exe there.
Running
Double-click the exe or run it from a terminal. A console window appears confirming Astur is active:
Astur running. LEFT ALT + left-drag = move window LEFT ALT + right-drag = resize nearest corner (red bracket) LEFT ALT is reserved for Astur (apps don't see it); Alt+Tab still works. Use RIGHT ALT for normal Alt behavior.
Keep this console window open while you use Astur. Closing it stops Astur.
Quitting
Press Ctrl+C in the console window, or close it. Astur cleanly unhooks from the system before exiting.
Moving windows
Hold Left Alt and left-click-drag anywhere on a window to move it. You do not need to click the title bar - click the window body, a text field, anywhere.
If the window is maximised, dragging it automatically restores it to a floating size (half the monitor work area) centred under your cursor first.
Resizing windows
Hold Left Alt and right-click-drag anywhere on a window to resize it. Astur finds the corner of the window closest to your cursor and anchors that corner to your drag. The opposite corner stays fixed.
A small red L-bracket appears at the active corner so you always know which corner is being dragged. The bracket disappears when you release the button.
Tiling mode
Astur starts tiled by default. Press Alt+T to toggle tiling mode.
When tiling is enabled, current windows are enumerated and arranged. New windows are added automatically, and minimised windows are excluded from the tile grid.
Press Alt+T again to disable tiling. Workspaces remain tracked, but windows stop snapping to layout positions until tiling is enabled again.
Layout
Astur supports two layout modes:
- dwindle - default. Each new tiled window splits the remaining space, spiralling toward a corner.
- master - one master column on the left, with remaining windows stacked vertically on the right.
In master mode, Alt+H shrinks and Alt+L grows the master column. In dwindle mode, those keys adjust the focused window split instead.
Promote the focused window to master position with Alt+M.
Configuration
On first run, Astur writes config files to %USERPROFILE%\.astur\:
astur.conf- workspaces, layout, gaps, focus behavior, animations, launchers, window rules, and hotkeys.navbar.conf- status bar size, position, fonts, colours, and widgets.
Both files hot-reload on save. You can also override paths with
ASTUR_CONFIG and ASTUR_NAVBAR.
Status bar
Astur can draw a per-monitor bar with workspace pills, the focused window title, layout state, clock, date, CPU, memory, and battery widgets.
The bar reserves screen space before tiling so windows do not sit underneath it.
Set enabled = false in navbar.conf to disable it.
Focus and swap
Alt+J / Alt+K cycle focus forward/backward through the tiled windows on the active workspace. Focus wraps around.
Alt+Shift+J / Alt+Shift+K swap the focused window with its neighbour in the tile order, then retile.
Floating windows
Press Alt+F to toggle the focused window between tiled and floating. Floating windows are excluded from the tile grid but remain visible on the workspace. You can still Alt-drag them freely.
Switching workspaces
Astur supports up to 10 workspace keys by default. Press Alt+1 through Alt+9, or Alt+0, to switch. Windows on inactive workspaces are hidden; windows on the newly active workspace are shown and the layout is applied.
In shared mode, workspaces are distributed across monitors from the primary monitor outward. In per-monitor mode, each monitor has its own independent workspace set.
Moving windows to a workspace
Press Alt+Shift+1 through Alt+Shift+9, or Alt+Shift+0, to move the focused window to that workspace. Astur follows the window to its destination.
All hotkeys
| Shortcut | Action |
|---|---|
| Alt + left-drag | Move window |
| Alt + right-drag | Resize from nearest corner |
| Alt + T | Toggle tiling mode on/off |
| Alt + J | Focus next window |
| Alt + K | Focus previous window |
| Alt + Shift+J | Swap with next window |
| Alt + Shift+K | Swap with previous window |
| Alt + arrows | Focus window by direction (cursor follows) |
| Alt + Shift + arrows | Move window by direction (across monitors) |
| Alt + H | Shrink master column |
| Alt + L | Grow master column |
| Alt + M | Promote focused window to master |
| Alt + F | Toggle float for focused window |
| Alt + W | Close focused window |
| Alt + Enter | Launch terminal |
| Alt + Shift+Enter | Launch browser |
| Alt + 1-9, 0 | Switch to workspace |
| Alt + Shift+1-9, 0 | Move focused window to workspace |
| Alt + Tab | App switcher (pass-through preserved) |
| Right Alt | Normal Alt - Astur does not touch it |
The letter binds (J K H L M T F W) are rebindable in
%USERPROFILE%\.astur\astur.conf via the
key_focus_next, key_close_window, etc. keys.
Workspace keys, gaps, layout, borders, focus behavior, animations, launchers, and window rules
are configured there too. Arrows and Enter are fixed.
Build from source
Requires Rust stable (rustup).
git clone https://github.com/Page011/Astur cd Astur cargo build --release # binary: target\release\astur.exe
The only dependency is the windows crate (MIT/Apache-2.0) from Microsoft - no third-party runtime, no C++ redistributable.
How it works
Astur installs two Windows low-level hooks at startup:
- WH_MOUSE_LL - intercepts every mouse event system-wide before it reaches any application.
- WH_KEYBOARD_LL - intercepts every keyboard event. Left Alt is swallowed so applications never see it and it cannot trigger menus or system shortcuts.
Alt+Tab is preserved by synthesising injected key events: when the physical Alt+Tab is swallowed, Astur injects a synthetic Alt down + Tab down/up so the system task switcher still operates normally.
Window moves and resizes are dispatched to a dedicated worker thread. This means the input
hook returns instantly and the cursor never stutters, even if the target application is slow
to respond to SetWindowPos. Intermediate positions are coalesced - only the
most recent target is applied.
The tiling manager runs on its own thread too, receiving lightweight commands from the hooks
via a queue. Retiling uses SetWindowPos calls and optional positional tweening.
Workspace slide transitions use a frozen monitor bitmap plus DWM thumbnails of incoming windows.