WinJitsu uses a two-layer configuration system. The config file provides persistent defaults that are loaded on every invocation. CLI flags act as one-shot overrides that apply only for the current process — when you start the daemon withDocumentation 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 --daemon --steps 10, that steps value is baked into the daemon’s runtime but your config file is left untouched. CLI flags always win when both are present.
Config file location
The config file lives at~/.config/winjitsu/config.ini. WinJitsu respects the $XDG_CONFIG_HOME environment variable: if it is set, the file is looked for at $XDG_CONFIG_HOME/winjitsu/config.ini instead.
If the file does not exist, WinJitsu silently falls back to built-in defaults. The file is not created automatically — use --write-config to generate it.
The full default file content, as written by --write-config, looks like this:
Config management commands
- --write-config
- --see-config
- --read-config PATH
Writes the current effective settings (defaults merged with any CLI flags you pass at the same time) to the config file path.
All configuration options
| CLI flag | Config key | Default | Description |
|---|---|---|---|
--steps N | [animation] steps | 25 | Number of animation frames per window movement. Higher values are smoother but take longer to complete. |
--padding PX | [display] padding | 0 | Gap in pixels on each side of the window when using F (fullscreen). A value of 8 leaves an 8 px gap on all four sides. |
--delay-ms MS | [daemon] delay_ms | 250 | Debounce window in milliseconds. Actions arriving faster than this interval are collapsed — only the last one in each burst executes. |
Animation easing
WinJitsu’smove_window function uses smoothstep easing for every animated transition:
steps extends the duration of each animation without changing the easing curve itself.
Window clamping
Before the animation runs,move_window clamps the computed target geometry to the physical display bounds:
- Size:
target_widthandtarget_heightare each capped at the display’s pixel dimensions, so a window can never be sized larger than the screen. - Position:
target_xis clamped to[0, display_width − target_width]andtarget_yto[0, display_height − target_height], ensuring the window always remains fully on-screen regardless of the action that triggered the move.