WinJitsu 0.4.2__tar.gz → 0.5.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. {winjitsu-0.4.2/src/WinJitsu.egg-info → winjitsu-0.5.0}/PKG-INFO +53 -119
  2. {winjitsu-0.4.2 → winjitsu-0.5.0}/README.md +52 -118
  3. {winjitsu-0.4.2 → winjitsu-0.5.0}/pyproject.toml +1 -1
  4. {winjitsu-0.4.2 → winjitsu-0.5.0/src/WinJitsu.egg-info}/PKG-INFO +53 -119
  5. {winjitsu-0.4.2 → winjitsu-0.5.0}/src/WinJitsu.egg-info/SOURCES.txt +9 -1
  6. winjitsu-0.5.0/src/winjitsu/__init__.py +20 -0
  7. winjitsu-0.5.0/src/winjitsu/actions.py +180 -0
  8. winjitsu-0.5.0/src/winjitsu/cache.py +166 -0
  9. {winjitsu-0.4.2 → winjitsu-0.5.0}/src/winjitsu/cli.py +43 -24
  10. winjitsu-0.5.0/src/winjitsu/client.py +125 -0
  11. winjitsu-0.5.0/src/winjitsu/config.py +108 -0
  12. winjitsu-0.5.0/src/winjitsu/daemon.py +292 -0
  13. winjitsu-0.5.0/src/winjitsu/screen.py +201 -0
  14. winjitsu-0.5.0/src/winjitsu/window.py +240 -0
  15. winjitsu-0.5.0/tests/test_actions.py +224 -0
  16. winjitsu-0.5.0/tests/test_cache.py +98 -0
  17. winjitsu-0.5.0/tests/test_client.py +121 -0
  18. winjitsu-0.5.0/tests/test_config.py +74 -0
  19. winjitsu-0.5.0/tests/test_daemon.py +137 -0
  20. winjitsu-0.5.0/tests/test_screen.py +75 -0
  21. winjitsu-0.5.0/tests/test_window.py +139 -0
  22. winjitsu-0.4.2/src/winjitsu/__init__.py +0 -10
  23. winjitsu-0.4.2/src/winjitsu/actions.py +0 -170
  24. winjitsu-0.4.2/src/winjitsu/cache.py +0 -147
  25. winjitsu-0.4.2/src/winjitsu/config.py +0 -77
  26. winjitsu-0.4.2/src/winjitsu/daemon.py +0 -187
  27. winjitsu-0.4.2/src/winjitsu/screen.py +0 -93
  28. winjitsu-0.4.2/src/winjitsu/window.py +0 -65
  29. {winjitsu-0.4.2 → winjitsu-0.5.0}/LICENSE +0 -0
  30. {winjitsu-0.4.2 → winjitsu-0.5.0}/setup.cfg +0 -0
  31. {winjitsu-0.4.2 → winjitsu-0.5.0}/src/WinJitsu.egg-info/dependency_links.txt +0 -0
  32. {winjitsu-0.4.2 → winjitsu-0.5.0}/src/WinJitsu.egg-info/entry_points.txt +0 -0
  33. {winjitsu-0.4.2 → winjitsu-0.5.0}/src/WinJitsu.egg-info/requires.txt +0 -0
  34. {winjitsu-0.4.2 → winjitsu-0.5.0}/src/WinJitsu.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: WinJitsu
3
- Version: 0.4.2
3
+ Version: 0.5.0
4
4
  Summary: Animated window snapping for Linux X11: halves, quarters, center, fullscreen and multi-monitor moves from hotkeys, via a small background daemon
5
5
  License-Expression: GPL-3.0-only
6
6
  Project-URL: Homepage, https://github.com/Evilchuck666/WinJitsu
@@ -25,16 +25,27 @@ Dynamic: license-file
25
25
  ![Requires](https://img.shields.io/badge/requires-xdotool%2C%20python--xlib-blue)
26
26
  [![License](https://img.shields.io/badge/license-GPLv3-green)](LICENSE)
27
27
  [![Latest release](https://img.shields.io/github/v/release/Evilchuck666/WinJitsu?label=download&sort=semver)](https://github.com/Evilchuck666/WinJitsu/releases/latest)
28
- [![Build and tests](https://github.com/Evilchuck666/WinJitsu/actions/workflows/release.yml/badge.svg?branch=main)](https://github.com/Evilchuck666/WinJitsu/actions/workflows/release.yml)
28
+ [![Build and tests](https://github.com/Evilchuck666/WinJitsu/actions/workflows/release.yaml/badge.svg?branch=main)](https://github.com/Evilchuck666/WinJitsu/actions/workflows/release.yaml)
29
29
 
30
- **WinJitsu** is a slick, animated window management tool for Linux (X11).
30
+ **Snap your windows into place, with smooth animations.**
31
+
32
+ WinJitsu is a slick, animated window management tool for Linux (X11).
31
33
  It allows you to effortlessly snap your active windows to various positions
32
34
  on your screen with smooth animations, making your workflow feel more organic and responsive. ✨
33
35
 
36
+ 🌐 **Website:** https://evilchuck666.github.io/WinJitsu/
37
+
38
+ <!-- SCREENSHOTS:START -->
39
+ ## 🎬 Demo
40
+
41
+ [![WinJitsu demo: a terminal snaps to halves, quarters, the center, fullscreen and the next monitor, with each action subtitled](site/assets/screenshots/winjitsu-demo-preview.webp)](https://evilchuck666.github.io/WinJitsu/assets/screenshots/winjitsu-demo.mp4)
34
42
 
35
- ---
43
+ Recorded on a two-monitor X11 desktop, with each action subtitled as it runs.
44
+ Click the preview to watch the full-resolution video ([MP4](site/assets/screenshots/winjitsu-demo.mp4), 48 s).
36
45
 
37
- ## 🚀 Features
46
+ <!-- SCREENSHOTS:END -->
47
+
48
+ ## ✨ Features
38
49
 
39
50
  - **Smooth Animations**: Windows glide to their new positions instead of just jumping there. 🌬️
40
51
  - **Grid Snapping**: Position windows easily to the North, South, East, West, corners, or center. 🧭
@@ -44,97 +55,69 @@ on your screen with smooth animations, making your workflow feel more organic an
44
55
  - **Config File**: Persist your preferences in `~/.config/winjitsu/config.ini`. ⚙️
45
56
  - **CLI Overrides**: Override config values when starting the daemon — no file editing needed. 🎛️
46
57
 
58
+ ## 📥 Download
47
59
 
48
- ---
49
-
50
- ## 🛠️ Requirements
60
+ | Channel | Package |
61
+ | --- | --- |
62
+ | Arch Linux (AUR) | [winjitsu](https://aur.archlinux.org/packages/winjitsu) |
63
+ | PyPI | [WinJitsu](https://pypi.org/project/WinJitsu/) |
64
+ | GitHub release | [Wheel and source archive](https://github.com/Evilchuck666/WinJitsu/releases/latest) |
51
65
 
52
- Make sure you have the following installed on your system:
66
+ [Release notes](https://github.com/Evilchuck666/WinJitsu/releases/latest) · [SHA256SUMS.txt](https://github.com/Evilchuck666/WinJitsu/releases/latest/download/SHA256SUMS.txt)
53
67
 
54
- - Python 3.10+ 🐍
55
- - `xdotool` (for window manipulation)
56
- - `python-xlib` / `python3-xlib` (for screen detection via RandR)
68
+ ## 🚀 Getting started
57
69
 
58
- ### Installing Dependencies
70
+ ### 🏹 On Arch‑based systems
59
71
 
60
- ### 🐧 Arch‑based distributions (Arch Linux, EndeavourOS, Manjaro, etc.)
72
+ WinJitsu is available in the AUR. You can install it using your favorite AUR helper (e.g., `yay`):
61
73
 
62
74
  ```bash
63
- sudo pacman -S python xdotool python-xlib
75
+ yay -S winjitsu
64
76
  ```
65
77
 
66
- ### 🐧 Debian‑based distributions (Debian, Ubuntu, Linux Mint, etc.)
78
+ ### 🐍 From PyPI
67
79
 
68
80
  ```bash
69
- sudo apt install python3 xdotool python3-xlib
81
+ pip install WinJitsu
70
82
  ```
71
83
 
72
- ### 🐧 Fedora‑based distributions (Fedora, CentOS, etc.)
84
+ `xdotool` still has to come from your distribution (see Requirements below).
85
+
86
+ ### ▶️ First run
73
87
 
74
88
  ```bash
75
- sudo dnf install python3 xdotool python3-xlib
89
+ winjitsu --daemon # start the daemon once per session
90
+ winjitsu E # snap the active window to the right half
76
91
  ```
77
92
 
93
+ ## 📋 Requirements
78
94
 
79
- ---
95
+ Make sure you have the following installed on your system:
80
96
 
81
- ## 📦 Installation
97
+ - Python 3.10+ 🐍
98
+ - `xdotool` (for window manipulation)
99
+ - `python-xlib` / `python3-xlib` (for screen detection via RandR)
82
100
 
83
- ### 🏹 On Arch‑based systems
101
+ ### Installing Dependencies
84
102
 
85
- WinJitsu is available in the AUR. You can install it using your favorite AUR helper (e.g., `yay`):
103
+ ### 🐧 Arch‑based distributions (Arch Linux, EndeavourOS, Manjaro, etc.)
86
104
 
87
105
  ```bash
88
- yay -S winjitsu
106
+ sudo pacman -S python xdotool python-xlib
89
107
  ```
90
108
 
91
- ### 🐍 From PyPI
109
+ ### 🐧 Debian‑based distributions (Debian, Ubuntu, Linux Mint, etc.)
92
110
 
93
111
  ```bash
94
- pip install WinJitsu
112
+ sudo apt install python3 xdotool python3-xlib
95
113
  ```
96
114
 
97
- `xdotool` still has to come from your distribution (see Requirements above).
98
-
99
- ### Building and Installing Wheel
100
-
101
- To install WinJitsu as a package, you can build a wheel and install it.
102
- This uses the standard `pyproject.toml` configuration to build the package.
103
- This allows you to run `winjitsu` from anywhere.
104
-
105
- 1. **Install build tools**:
106
- ```bash
107
- pip install build
108
- ```
109
-
110
- 2. **Build the package**:
111
- ```bash
112
- python3 -m build
113
- ```
114
-
115
- 3. **Install the wheel**:
116
- ```bash
117
- pip install dist/winjitsu-*-py3-none-any.whl --force-reinstall
118
- ```
119
-
120
- 4. **Run WinJitsu**:
121
- ```bash
122
- winjitsu --help
123
- ```
124
-
125
- ### Manual Installation (From Source)
126
-
127
- Clone the repository and install using `pip`:
115
+ ### 🐧 Fedora‑based distributions (Fedora, CentOS, etc.)
128
116
 
129
117
  ```bash
130
- git clone https://github.com/Evilchuck666/WinJitsu.git
131
- cd WinJitsu
132
- pip install .
118
+ sudo dnf install python3 xdotool python3-xlib
133
119
  ```
134
120
 
135
-
136
- ---
137
-
138
121
  ## 🎮 Usage
139
122
 
140
123
  Run the command with an action argument to control the active window:
@@ -165,61 +148,9 @@ winjitsu [ACTION] [OPTIONS]
165
148
  | `TD` | Move to the next monitor | 📺 |
166
149
  | `CC` | Clear the window state cache | 🧹 |
167
150
 
168
- The **home position** is where a window was before WinJitsu first moved it. It is kept per window in `~/.cache/winjitsu/state.db` and reset whenever the daemon starts or you move the window yourself.
169
-
170
-
171
- ---
172
-
173
- ## ⚙️ Configuration
174
-
175
- WinJitsu can be configured via a file or directly from the command line. CLI flags always take priority over the config file. 🏆
176
-
177
- ### Config File
178
-
179
- The config file lives at `~/.config/winjitsu/config.ini` (respects `$XDG_CONFIG_HOME`).
180
-
181
- ```bash
182
- winjitsu --write-config # 📝 Save current settings to the config file
183
- winjitsu --see-config # 👀 Show the active config file path and values
184
- winjitsu --read-config PATH # 📂 Use a different config file for this run
185
- ```
151
+ The **home position** is where a window was before WinJitsu first moved it. It is kept per window in `~/.cache/winjitsu/state.db` (respects `$XDG_CACHE_HOME`) and reset whenever the daemon starts or you move the window yourself.
186
152
 
187
- ### Available Options
188
-
189
- | Flag | Config key | Default | Description |
190
- |:----------------|:--------------------|:--------|:------------------------------------------------------|
191
- | `--steps N` | `[animation] steps` | `25` | Animation steps — higher is smoother but slower 🎞️ |
192
- | `--padding PX` | `[display] padding` | `0` | Gap in pixels around the window when fullscreening 📐 |
193
- | `--delay-ms MS` | `[daemon] delay_ms` | `250` | Delay in ms before an action fires in daemon mode ⏱️ |
194
-
195
- ### Examples
196
-
197
- ```bash
198
- winjitsu --daemon --steps 10 # Start daemon with snappy animation 💨
199
- winjitsu --daemon --padding 8 # Start daemon with a cozy fullscreen gap 🖼️
200
- winjitsu --write-config --steps 15 --padding 4 # Save these as your defaults 💾
201
- ```
202
-
203
-
204
- ---
205
-
206
- ## ⚡ Daemon Mode
207
-
208
- Running WinJitsu as a background daemon makes hotkey responses feel instant and prevents duplicate actions from key repeat. 🚀
209
-
210
- ```bash
211
- winjitsu --daemon # Start the daemon in the background
212
- winjitsu --reload-daemon # Restart the daemon 🔄
213
- ```
214
-
215
- When the daemon is running, any `winjitsu [ACTION]` command is sent to it over a Unix socket. The daemon waits a short delay (configurable with `--delay-ms`) and only runs the last action of a rapid burst, so key repeat collapses into a single, clean move. ✨
216
-
217
- > 💡 **Tip:** Start the daemon on login and bind your hotkeys to `winjitsu [ACTION]` — you'll barely notice the tool is even there.
218
-
219
-
220
- ---
221
-
222
- ## 🎹 Binding Keys
153
+ ### Binding keys
223
154
 
224
155
  For the best experience, bind these commands to keyboard shortcuts in your window manager configuration
225
156
  (e.g., i3, creating custom shortcuts in GNOME/KDE).
@@ -230,8 +161,11 @@ Example:
230
161
 
231
162
  Happy tiling! 🎉
232
163
 
233
- ---
164
+ ## 📚 Learn more
165
+
166
+ - [Technical guide](TECHNICAL_GUIDE.md): configuration file and options,
167
+ daemon mode, and installing from a wheel or from source.
234
168
 
235
169
  ## ⚖️ License
236
170
 
237
- This project is licensed under the GPLv3 License – see the [LICENSE](LICENSE) file for details.
171
+ WinJitsu is free software released under the **GNU General Public License v3.0** (GPL-3.0). See [LICENSE](LICENSE).
@@ -5,16 +5,27 @@
5
5
  ![Requires](https://img.shields.io/badge/requires-xdotool%2C%20python--xlib-blue)
6
6
  [![License](https://img.shields.io/badge/license-GPLv3-green)](LICENSE)
7
7
  [![Latest release](https://img.shields.io/github/v/release/Evilchuck666/WinJitsu?label=download&sort=semver)](https://github.com/Evilchuck666/WinJitsu/releases/latest)
8
- [![Build and tests](https://github.com/Evilchuck666/WinJitsu/actions/workflows/release.yml/badge.svg?branch=main)](https://github.com/Evilchuck666/WinJitsu/actions/workflows/release.yml)
8
+ [![Build and tests](https://github.com/Evilchuck666/WinJitsu/actions/workflows/release.yaml/badge.svg?branch=main)](https://github.com/Evilchuck666/WinJitsu/actions/workflows/release.yaml)
9
9
 
10
- **WinJitsu** is a slick, animated window management tool for Linux (X11).
10
+ **Snap your windows into place, with smooth animations.**
11
+
12
+ WinJitsu is a slick, animated window management tool for Linux (X11).
11
13
  It allows you to effortlessly snap your active windows to various positions
12
14
  on your screen with smooth animations, making your workflow feel more organic and responsive. ✨
13
15
 
16
+ 🌐 **Website:** https://evilchuck666.github.io/WinJitsu/
17
+
18
+ <!-- SCREENSHOTS:START -->
19
+ ## 🎬 Demo
20
+
21
+ [![WinJitsu demo: a terminal snaps to halves, quarters, the center, fullscreen and the next monitor, with each action subtitled](site/assets/screenshots/winjitsu-demo-preview.webp)](https://evilchuck666.github.io/WinJitsu/assets/screenshots/winjitsu-demo.mp4)
14
22
 
15
- ---
23
+ Recorded on a two-monitor X11 desktop, with each action subtitled as it runs.
24
+ Click the preview to watch the full-resolution video ([MP4](site/assets/screenshots/winjitsu-demo.mp4), 48 s).
16
25
 
17
- ## 🚀 Features
26
+ <!-- SCREENSHOTS:END -->
27
+
28
+ ## ✨ Features
18
29
 
19
30
  - **Smooth Animations**: Windows glide to their new positions instead of just jumping there. 🌬️
20
31
  - **Grid Snapping**: Position windows easily to the North, South, East, West, corners, or center. 🧭
@@ -24,97 +35,69 @@ on your screen with smooth animations, making your workflow feel more organic an
24
35
  - **Config File**: Persist your preferences in `~/.config/winjitsu/config.ini`. ⚙️
25
36
  - **CLI Overrides**: Override config values when starting the daemon — no file editing needed. 🎛️
26
37
 
38
+ ## 📥 Download
27
39
 
28
- ---
29
-
30
- ## 🛠️ Requirements
40
+ | Channel | Package |
41
+ | --- | --- |
42
+ | Arch Linux (AUR) | [winjitsu](https://aur.archlinux.org/packages/winjitsu) |
43
+ | PyPI | [WinJitsu](https://pypi.org/project/WinJitsu/) |
44
+ | GitHub release | [Wheel and source archive](https://github.com/Evilchuck666/WinJitsu/releases/latest) |
31
45
 
32
- Make sure you have the following installed on your system:
46
+ [Release notes](https://github.com/Evilchuck666/WinJitsu/releases/latest) · [SHA256SUMS.txt](https://github.com/Evilchuck666/WinJitsu/releases/latest/download/SHA256SUMS.txt)
33
47
 
34
- - Python 3.10+ 🐍
35
- - `xdotool` (for window manipulation)
36
- - `python-xlib` / `python3-xlib` (for screen detection via RandR)
48
+ ## 🚀 Getting started
37
49
 
38
- ### Installing Dependencies
50
+ ### 🏹 On Arch‑based systems
39
51
 
40
- ### 🐧 Arch‑based distributions (Arch Linux, EndeavourOS, Manjaro, etc.)
52
+ WinJitsu is available in the AUR. You can install it using your favorite AUR helper (e.g., `yay`):
41
53
 
42
54
  ```bash
43
- sudo pacman -S python xdotool python-xlib
55
+ yay -S winjitsu
44
56
  ```
45
57
 
46
- ### 🐧 Debian‑based distributions (Debian, Ubuntu, Linux Mint, etc.)
58
+ ### 🐍 From PyPI
47
59
 
48
60
  ```bash
49
- sudo apt install python3 xdotool python3-xlib
61
+ pip install WinJitsu
50
62
  ```
51
63
 
52
- ### 🐧 Fedora‑based distributions (Fedora, CentOS, etc.)
64
+ `xdotool` still has to come from your distribution (see Requirements below).
65
+
66
+ ### ▶️ First run
53
67
 
54
68
  ```bash
55
- sudo dnf install python3 xdotool python3-xlib
69
+ winjitsu --daemon # start the daemon once per session
70
+ winjitsu E # snap the active window to the right half
56
71
  ```
57
72
 
73
+ ## 📋 Requirements
58
74
 
59
- ---
75
+ Make sure you have the following installed on your system:
60
76
 
61
- ## 📦 Installation
77
+ - Python 3.10+ 🐍
78
+ - `xdotool` (for window manipulation)
79
+ - `python-xlib` / `python3-xlib` (for screen detection via RandR)
62
80
 
63
- ### 🏹 On Arch‑based systems
81
+ ### Installing Dependencies
64
82
 
65
- WinJitsu is available in the AUR. You can install it using your favorite AUR helper (e.g., `yay`):
83
+ ### 🐧 Arch‑based distributions (Arch Linux, EndeavourOS, Manjaro, etc.)
66
84
 
67
85
  ```bash
68
- yay -S winjitsu
86
+ sudo pacman -S python xdotool python-xlib
69
87
  ```
70
88
 
71
- ### 🐍 From PyPI
89
+ ### 🐧 Debian‑based distributions (Debian, Ubuntu, Linux Mint, etc.)
72
90
 
73
91
  ```bash
74
- pip install WinJitsu
92
+ sudo apt install python3 xdotool python3-xlib
75
93
  ```
76
94
 
77
- `xdotool` still has to come from your distribution (see Requirements above).
78
-
79
- ### Building and Installing Wheel
80
-
81
- To install WinJitsu as a package, you can build a wheel and install it.
82
- This uses the standard `pyproject.toml` configuration to build the package.
83
- This allows you to run `winjitsu` from anywhere.
84
-
85
- 1. **Install build tools**:
86
- ```bash
87
- pip install build
88
- ```
89
-
90
- 2. **Build the package**:
91
- ```bash
92
- python3 -m build
93
- ```
94
-
95
- 3. **Install the wheel**:
96
- ```bash
97
- pip install dist/winjitsu-*-py3-none-any.whl --force-reinstall
98
- ```
99
-
100
- 4. **Run WinJitsu**:
101
- ```bash
102
- winjitsu --help
103
- ```
104
-
105
- ### Manual Installation (From Source)
106
-
107
- Clone the repository and install using `pip`:
95
+ ### 🐧 Fedora‑based distributions (Fedora, CentOS, etc.)
108
96
 
109
97
  ```bash
110
- git clone https://github.com/Evilchuck666/WinJitsu.git
111
- cd WinJitsu
112
- pip install .
98
+ sudo dnf install python3 xdotool python3-xlib
113
99
  ```
114
100
 
115
-
116
- ---
117
-
118
101
  ## 🎮 Usage
119
102
 
120
103
  Run the command with an action argument to control the active window:
@@ -145,61 +128,9 @@ winjitsu [ACTION] [OPTIONS]
145
128
  | `TD` | Move to the next monitor | 📺 |
146
129
  | `CC` | Clear the window state cache | 🧹 |
147
130
 
148
- The **home position** is where a window was before WinJitsu first moved it. It is kept per window in `~/.cache/winjitsu/state.db` and reset whenever the daemon starts or you move the window yourself.
149
-
150
-
151
- ---
152
-
153
- ## ⚙️ Configuration
154
-
155
- WinJitsu can be configured via a file or directly from the command line. CLI flags always take priority over the config file. 🏆
156
-
157
- ### Config File
158
-
159
- The config file lives at `~/.config/winjitsu/config.ini` (respects `$XDG_CONFIG_HOME`).
160
-
161
- ```bash
162
- winjitsu --write-config # 📝 Save current settings to the config file
163
- winjitsu --see-config # 👀 Show the active config file path and values
164
- winjitsu --read-config PATH # 📂 Use a different config file for this run
165
- ```
131
+ The **home position** is where a window was before WinJitsu first moved it. It is kept per window in `~/.cache/winjitsu/state.db` (respects `$XDG_CACHE_HOME`) and reset whenever the daemon starts or you move the window yourself.
166
132
 
167
- ### Available Options
168
-
169
- | Flag | Config key | Default | Description |
170
- |:----------------|:--------------------|:--------|:------------------------------------------------------|
171
- | `--steps N` | `[animation] steps` | `25` | Animation steps — higher is smoother but slower 🎞️ |
172
- | `--padding PX` | `[display] padding` | `0` | Gap in pixels around the window when fullscreening 📐 |
173
- | `--delay-ms MS` | `[daemon] delay_ms` | `250` | Delay in ms before an action fires in daemon mode ⏱️ |
174
-
175
- ### Examples
176
-
177
- ```bash
178
- winjitsu --daemon --steps 10 # Start daemon with snappy animation 💨
179
- winjitsu --daemon --padding 8 # Start daemon with a cozy fullscreen gap 🖼️
180
- winjitsu --write-config --steps 15 --padding 4 # Save these as your defaults 💾
181
- ```
182
-
183
-
184
- ---
185
-
186
- ## ⚡ Daemon Mode
187
-
188
- Running WinJitsu as a background daemon makes hotkey responses feel instant and prevents duplicate actions from key repeat. 🚀
189
-
190
- ```bash
191
- winjitsu --daemon # Start the daemon in the background
192
- winjitsu --reload-daemon # Restart the daemon 🔄
193
- ```
194
-
195
- When the daemon is running, any `winjitsu [ACTION]` command is sent to it over a Unix socket. The daemon waits a short delay (configurable with `--delay-ms`) and only runs the last action of a rapid burst, so key repeat collapses into a single, clean move. ✨
196
-
197
- > 💡 **Tip:** Start the daemon on login and bind your hotkeys to `winjitsu [ACTION]` — you'll barely notice the tool is even there.
198
-
199
-
200
- ---
201
-
202
- ## 🎹 Binding Keys
133
+ ### Binding keys
203
134
 
204
135
  For the best experience, bind these commands to keyboard shortcuts in your window manager configuration
205
136
  (e.g., i3, creating custom shortcuts in GNOME/KDE).
@@ -210,8 +141,11 @@ Example:
210
141
 
211
142
  Happy tiling! 🎉
212
143
 
213
- ---
144
+ ## 📚 Learn more
145
+
146
+ - [Technical guide](TECHNICAL_GUIDE.md): configuration file and options,
147
+ daemon mode, and installing from a wheel or from source.
214
148
 
215
149
  ## ⚖️ License
216
150
 
217
- This project is licensed under the GPLv3 License – see the [LICENSE](LICENSE) file for details.
151
+ WinJitsu is free software released under the **GNU General Public License v3.0** (GPL-3.0). See [LICENSE](LICENSE).
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "WinJitsu"
7
- version = "0.4.2"
7
+ version = "0.5.0"
8
8
  description = "Animated window snapping for Linux X11: halves, quarters, center, fullscreen and multi-monitor moves from hotkeys, via a small background daemon"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"