Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Evilchuck666/WinJitsu/llms.txt

Use this file to discover all available pages before exploring further.

WinJitsu is designed to be driven by hotkeys. Because it runs as a background daemon, the winjitsu <ACTION> client command connects to a Unix socket at $XDG_RUNTIME_DIR/winjitsu/winjitsu.sock and returns nearly instantly — making it ideal for hotkey bindings without any perceptible lag. You bind each action once, start the daemon at login, and WinJitsu stays invisible until you need it.
Start the daemon at login before configuring hotkeys. Every winjitsu <ACTION> call silently fails if the daemon is not running. Add winjitsu --daemon to your session autostart so it is always ready when you press a key.

Action-to-Key Mapping Reference

The table below is a suggested starting layout. Use it as-is or adapt it to your preferences — any key combination your window manager accepts will work with any WinJitsu action.
ActionSuggested KeyDescription
NSuper + UpSnap to top half of the current monitor
SSuper + DownSnap to bottom half of the current monitor
ESuper + RightSnap to right half of the current monitor
WSuper + LeftSnap to left half of the current monitor
NESuper + Shift + UpSnap to top-right quarter
NWSuper + Shift + LeftSnap to top-left quarter
SESuper + Shift + RightSnap to bottom-right quarter
SWSuper + Shift + DownSnap to bottom-left quarter
CSuper + CCenter the window (preserves current size)
FSuper + FFullscreen (covers the entire monitor)
USuper + URestore window to its original position
TFSuper + TToggle fullscreen / restore home position
TDSuper + Shift + MMove window to the next monitor

Configuration by Window Manager

i3 and i3-gaps support bindsym and exec_always natively, making WinJitsu a natural fit. Add the following block to your ~/.config/i3/config (or ~/.i3/config).The exec_always --no-startup-id winjitsu --daemon line restarts the daemon every time i3 reloads its config, so it survives $mod+Shift+r without you having to think about it.
# ~/.config/i3/config

# ── WinJitsu daemon ──────────────────────────────────────────────────────────
exec_always --no-startup-id winjitsu --daemon

# ── Grid snapping ────────────────────────────────────────────────────────────
bindsym $mod+Up          exec winjitsu N
bindsym $mod+Down        exec winjitsu S
bindsym $mod+Right       exec winjitsu E
bindsym $mod+Left        exec winjitsu W

# ── Corner snapping ──────────────────────────────────────────────────────────
bindsym $mod+Shift+Up    exec winjitsu NE
bindsym $mod+Shift+Left  exec winjitsu NW
bindsym $mod+Shift+Down  exec winjitsu SW
bindsym $mod+Shift+Right exec winjitsu SE

# ── Center / Fullscreen / Restore ────────────────────────────────────────────
bindsym $mod+c           exec winjitsu C
bindsym $mod+f           exec winjitsu F
bindsym $mod+u           exec winjitsu U
bindsym $mod+t           exec winjitsu TF

# ── Multi-monitor ────────────────────────────────────────────────────────────
bindsym $mod+Shift+m     exec winjitsu TD
After editing, reload i3 with $mod+Shift+r. The daemon will restart automatically thanks to exec_always.

Debounce and Key Repeat

WinJitsu’s daemon applies a configurable debounce delay before executing any action. Rapid keypresses within delay_ms (default 250 ms) collapse into a single action — only the last command in the burst fires. This means holding a key down with key-repeat enabled will not cause the window to stutter through multiple intermediate positions; it will simply animate once to the final target when you release the key. You can tune the delay with --delay-ms or by editing delay_ms in the [daemon] section of ~/.config/winjitsu/config.ini.

Build docs developers (and LLMs) love