Move stale patches in from dwl/dwl

This commit is contained in:
A Frederick Christensen 2024-01-02 00:59:59 -06:00
parent f86aeeede4
commit 18f8ee08d8
No known key found for this signature in database
GPG Key ID: 6183FA655784FC36
85 changed files with 1286 additions and 0 deletions

View File

@ -0,0 +1,8 @@
### Description
This implements the DRM lease protocol, which is needed to use devices such as VR headsets.
### Download
- [2023-05-26](https://github.com/djpohly/dwl/compare/main...minego:drm_lease_patch.patch)
### Authors
- [Micah N Gorrell](https://github.com/minego)

116
_STALE_PATCHES/Patches.md Normal file
View File

@ -0,0 +1,116 @@
## Submitting patches
As with dwm, community patch contributions are heartily welcomed! If you have a customization that others may appreciate, or a useful enhancement which doesn't quite fit into the trim-and-tidy philosophy of dwl, please post it here! Implement your modifications as a public GitHub branch (multiple commits are OK), then create a new page on the wiki using this example (you can add or remove sections as you like):
```markdown
### Description
Insert a short summary of changes that your patch implements.
### Download
- [yyyy-mm-dd](https://codeberg.org/dwl/dwl/compare/main...YOURUSERNAME:BRANCH.patch)
### Authors
- [Your Name](https://github.com/YOURUSERNAME)
```
Then add your patch to the appropriate section in the list below and to the sidebar like so:
```markdown
* [PATCHNAME](https://codeberg.org/dwl/dwl/wiki/PATCHNAME)
```
Please ensure that the only changes in that branch are those needed for the patch; do not include multiple patches, personal changes to config.h, etc.
### Layouts
* [bottomstack](https://codeberg.org/dwl/dwl/wiki/bottomstack)
* [centeredmaster](https://codeberg.org/dwl/dwl/wiki/centeredmaster)
* [column](https://codeberg.org/dwl/dwl/wiki/column-layout)
* [cyclelayouts](https://codeberg.org/dwl/dwl/wiki/cyclelayouts)
* [deck](https://codeberg.org/dwl/dwl/wiki/deck)
* [fibonacci](https://codeberg.org/dwl/dwl/wiki/fibonacci)
* [gaplessgrid](https://codeberg.org/dwl/dwl/wiki/gaplessgrid)
* [gridmode](https://codeberg.org/dwl/dwl/wiki/gridmode)
* [vertile](https://codeberg.org/dwl/dwl/wiki/vertile)
### Clients placement
* [alwayscenter](https://codeberg.org/dwl/dwl/wiki/alwayscenter)
* [attachabove](https://codeberg.org/dwl/dwl/wiki/attachabove)
* [attachbottom](https://codeberg.org/dwl/dwl/wiki/attachbottom)
* [attachtop](https://codeberg.org/dwl/dwl/wiki/attachtop)
* [restoretiling](https://codeberg.org/dwl/dwl/wiki/restoretiling)
### Clients & tags manipulation
* [centerterminal](https://codeberg.org/dwl/dwl/wiki/centerterminal)
* [cfacts](https://codeberg.org/dwl/dwl/wiki/cfacts)
* [focusmaster](https://codeberg.org/dwl/dwl/wiki/focusmaster)
* [focusdir](https://codeberg.org/dwl/dwl/wiki/focusdir)
* [movestack](https://codeberg.org/dwl/dwl/wiki/movestack)
* [movecenter](https://codeberg.org/dwl/dwl/wiki/movecenter)
* [moveresizekb](https://codeberg.org/dwl/dwl/wiki/moveresizekb)
* [move-stack-top](https://codeberg.org/dwl/dwl/wiki/move-stack-top)
* [pertag](https://codeberg.org/dwl/dwl/wiki/pertag)
* [push](https://codeberg.org/dwl/dwl/wiki/push)
* [rotatetags](https://codeberg.org/dwl/dwl/wiki/rotatetags)
* [shiftview](https://codeberg.org/dwl/dwl/wiki/shiftview)
* [singletagset](https://codeberg.org/dwl/dwl/wiki/singletagset)
* [sticky](https://codeberg.org/dwl/dwl/wiki/sticky)
* [swapandfocusdir](https://codeberg.org/dwl/dwl/wiki/swapandfocusdir)
* [title-change-urgent](https://codeberg.org/dwl/dwl/wiki/title%E2%80%90change%E2%80%90urgent)
* [zoomswap](https://codeberg.org/dwl/dwl/wiki/zoomswap)
### Rules
* [center](https://codeberg.org/dwl/dwl/wiki/center)
* [customfloat](https://codeberg.org/dwl/dwl/wiki/customfloat)
* [namedscratchpads](https://codeberg.org/dwl/dwl/wiki/namedscratchpads)
* [stickyrule](https://codeberg.org/dwl/dwl/wiki/stickyrule)
* [swallow](https://codeberg.org/dwl/dwl/wiki/swallow)
* [switchtotag](https://codeberg.org/dwl/dwl/wiki/switchtotag)
* [regexrules](https://codeberg.org/dwl/dwl/wiki/regexrules)
### Input
* [chainkeys](https://codeberg.org/dwl/dwl/wiki/chainkeys)
* [kblayout](https://codeberg.org/dwl/dwl/wiki/kblayout)
* [keychord](https://codeberg.org/dwl/dwl/wiki/keychord)
* [lockedkeys](https://codeberg.org/dwl/dwl/wiki/lockedkeys)
* [naturalscrolltrackpad](https://codeberg.org/dwl/dwl/wiki/naturalscrolltrackpad)
* [primary-sel-off](https://codeberg.org/dwl/dwl/wiki/Primary-Selection)
* [sway-pointer-constraints](https://codeberg.org/dwl/dwl/wiki/Sway-pointer-constraints)
* [toggleKbLayout](https://codeberg.org/dwl/dwl/wiki/toggleKbLayout)
* [toggleLayoutImmediately](https://codeberg.org/dwl/dwl/wiki/toggleLayoutImmediately)
* [virtualpointer](https://codeberg.org/dwl/dwl/wiki/virtualpointer)
* [XF86keysym](https://codeberg.org/dwl/dwl/wiki/XF86keysym)
* [pointerGesturesUnstableV1](https://codeberg.org/dwl/dwl/wiki/pointerGesturesUnstableV1)
* [modes](https://codeberg.org/dwl/dwl/wiki/modes)
### Cursor
* [cursortheme](https://codeberg.org/dwl/dwl/wiki/cursortheme)
* [cursorwarp](https://codeberg.org/dwl/dwl/wiki/cursorwarp)
* [dragmfact](https://codeberg.org/dwl/dwl/wiki/dragmfact)
* [hidecursor](https://codeberg.org/dwl/dwl/wiki/hidecursor)
* [mouse-follows-focus](https://codeberg.org/dwl/dwl/wiki/mouse-follows-focus)
* [nomousefocus](https://codeberg.org/dwl/dwl/wiki/nomousefocus)
* [relativemouseresize](https://codeberg.org/dwl/dwl/wiki/relativemouseresize)
* [unclutter](https://codeberg.org/dwl/dwl/wiki/unclutter)
* [xcursor](https://codeberg.org/dwl/dwl/wiki/xcursor)
### Monitor
* [autorotation](https://codeberg.org/dwl/dwl/wiki/autorotation)
* [focusMonPointer](https://codeberg.org/dwl/dwl/wiki/focusMonPointer)
* [monitorconfig](https://codeberg.org/dwl/dwl/wiki/monitorconfig)
### Other
* [alphafocus](https://codeberg.org/dwl/dwl/wiki/alphafocus)
* [clipboardipc](https://codeberg.org/dwl/dwl/wiki/clipboardipc)
* [clipboardManager](https://codeberg.org/dwl/dwl/wiki/clipboardManager)
* [drmLeaseManager](https://codeberg.org/dwl/dwl/wiki/DRMLeaseManager)
* [floatBorderColor](https://codeberg.org/dwl/dwl/wiki/floatBorderColor)
* [genericgaps](https://codeberg.org/dwl/dwl/wiki/genericgaps)
* [ipc](https://codeberg.org/dwl/dwl/wiki/ipc)
* [keyboardshortcutsinhibit](https://codeberg.org/dwl/dwl/wiki/keyboardshortcutsinhibit)
* [keymap](https://codeberg.org/dwl/dwl/wiki/keymap)
* [menu](https://codeberg.org/dwl/dwl/wiki/menu)
* [onlyquitonempty](https://codeberg.org/dwl/dwl/wiki/onlyquitonempty)
* [outputPowerManagement](https://codeberg.org/dwl/dwl/wiki/outputPowerManagement)
* [pointerConstraints](https://codeberg.org/dwl/dwl/wiki/pointerConstraints)
* [privilegeDrop](https://codeberg.org/dwl/dwl/wiki/privilegeDrop)
* [restartdwl](https://codeberg.org/dwl/dwl/wiki/restartdwl)
* [swaycompat](https://codeberg.org/dwl/dwl/wiki/swaycompat)
* [touchscreen](https://codeberg.org/dwl/dwl/wiki/touchscreen)
* [uselessgaps](https://codeberg.org/dwl/dwl/wiki/uselessgaps)
* [gestures](https://codeberg.org/dwl/dwl/wiki/gestures)

View File

@ -0,0 +1,9 @@
### Description
Disables primary selection.
While primary selection is implemented client side, we can still disable it by not copying into the buffer.
### Download
- [2023-07-09](https://github.com/djpohly/dwl/compare/main...PalanixYT:psel.patch)
### Authors
- [Palanix](https://github.com/PalanixYT)

View File

@ -0,0 +1,4 @@
![image1](https://user-images.githubusercontent.com/82608185/187990987-332b6bcd-fa4f-48fa-9933-1d17d1947704.png)
![image2](https://user-images.githubusercontent.com/82178396/222939227-e9ef497b-6a20-4fcc-8b91-d01d31d8c3e8.png)
![image3](https://i.imgur.com/lHkyKfc.jpg)
![image4](https://i.imgur.com/mWi1nsq.jpg)

View File

@ -0,0 +1,9 @@
### Description
Implement pointer constraint and relative pointer protocols, useful for games
**NOTE**: this patch is currently semi-broken and needs you to resize/move clients to work properly (unsetting and then setting fullscreen should be enough)
### Download
- [2023-08-22](https://github.com/djpohly/dwl/compare/main...sevz17:pointer-constraints.patch)
### Authors
- [sevz](https://github.com/sevz17)

View File

@ -0,0 +1,10 @@
### Description
Utilizing the [/usr/include/X11/XF86keysym.h](https://cgit.freedesktop.org/xorg/proto/x11proto/tree/XF86keysym.h) header file to change the volume via the appropriate keys.
### Download
- [2023-10-15](https://github.com/djpohly/dwl/compare/main...nakibrayan3:dwl:update-XF86keysym-patch.patch)
- [2021-05-06](https://github.com/djpohly/dwl/compare/main...917Wolf:vol.patch)
### Authors
- [917Wolf](https://github.com/917Wolf)
- [Rayan Nakib](https://nakibrayan2.pages.dev)

View File

@ -0,0 +1,8 @@
### Description
Adds configurable transparency for focused and unfocused windows.
### Download
- [2021-12-03](https://github.com/djpohly/dwl/compare/main...juliag2:alphafocus.patch)
### Authors
- [Julia](https://github.com/juliag2)

View File

@ -0,0 +1,27 @@
### Description
All floating windows are centered, like the center patch, but without a rule.
### Changelog
2023-11-24:
- A variable `center_relative_to_monitor` has been added, allowing the user to choose whether to center relative to the monitor or relative to the window area.
<details>
<summary>Explanation of center_relative_to_monitor:</summary>
<pre>
The "Monitor area" refers to the space enclosed by the green rectangle, while the "Window area" refers to the space enclosed by the red
rectangle.
<img src="https://i.imgur.com/xhejzPh.png"/>
</pre>
</details>
### Download
- [2023-11-24](https://github.com/djpohly/dwl/compare/main...wochap:alwayscenter.patch)
- [2023-09-02](https://github.com/djpohly/dwl/compare/main...mortezadadgar:alwayscenter.patch)
- [v0.4](https://github.com/djpohly/dwl/compare/main...dm1tz:04-alwayscenter.patch)
- [2021-04-17](https://github.com/djpohly/dwl/compare/main...guidocella:alwayscenter.patch)
### Authors
- [Guido Cella](https://github.com/guidocell)
- [wochap](https://github.com/wochap)

View File

@ -0,0 +1,8 @@
### Description
Newly created windows are placed above the currently selected window in the stack.
### Download
- [2021-01-16](https://github.com/djpohly/dwl/compare/main...ss7m:attachabove.patch)
### Authors
- [sam-barr](https://github.com/ss7m)

View File

@ -0,0 +1,9 @@
### Description
Newly created windows are placed at the bottom of the client tile stack.
### Download
- [v0.4](https://github.com/djpohly/dwl/compare/main...dm1tz:04-attachbottom.patch)
- [2021-10-05](https://github.com/djpohly/dwl/compare/main...AurelWeinhold:attachbottom.patch)
### Authors
- [Aurel Weinhold](https://github.com/AurelWeinhold)

View File

@ -0,0 +1,13 @@
### Description
This is a port of attachtop patch for dwm: https://dwm.suckless.org/patches/attachtop
New client attaches below the last master/on top of the stack.
Behavior feels very intuitive as it doesn't disrupt existing masters no matter the amount of them, it only pushes the clients in stack down.
### Download
- [2023-07-15](https://github.com/djpohly/dwl/compare/main...NikitaIvanovV:attachtop.patch)
### Authors
- [Nikita Ivanov](https://github.com/NikitaIvanovV)

View File

@ -0,0 +1,40 @@
### Description
Adds keybindings for screen rotation and auto rotation from an accelerometer.
### Setup
Find an accelerometer device in sysfs (`cat /sys/bus/iio/devices/iio*/name`,
or using a script: [monitor-iio.sh](https://github.com/Unprex/dotfiles/blob/main/scripts/monitor-iio.sh)) \
Find the raw output file of the accelerometer
(e.g. `cat /sys/bus/iio/devices/iio:device0/in_accel_x_raw` should output an integer). \
Add the raw output file names to the dwl configuration **accel_\***.
Add a udev rule to uniquely identify the device, for example:
```
sudo echo 'SUBSYSTEM=="iio", KERNEL=="iio*", ATTR{name}=="accel_3d", GROUP="input", SYMLINK+="input/accel"' >> /etc/udev/rules.d/99-accel.rules
sudo udevadm control --reload-rules && sudo udevadm trigger
```
(the device is probably already in /dev/ e.g. `/dev/iio:device0` but on my computer the number changes after a reboot)
A symlink to the device should now be available in `/dev/input/` and accessible to input group members. \
Add the device path to the dwl configuration **accel_path**.
### Config
* `rotation_enabled`: If the auto rotation is enabled on startup.
* `rotation_delay`: How often to check the accelerometer values in milliseconds.
* `rotation_flat`: Threshold on the normalized Z axis to consider the device flat and stop the auto rotation.
* `rotation_thresh`: Rotation threshold after which the screen flips (values less than 0.5 will cause a back and forth).
+ `accel_path`: The path to the accelerometer device file (e.g. "/dev/input/accel").
+ `accel_x`: The name of the sysfs file for the accelerometer x axis.
+ `accel_y`: The name of the sysfs file for the accelerometer y axis.
+ `accel_z`: The name of the sysfs file for the accelerometer z axis.
Default keybindings:
* `<Modkey>` + `<Shift>` + `<Arrows>`: Change the screen rotation manually (doesn't disable the auto rotation).
* `<Modkey>` + `<Shift>` + `<R>`: Enable/disable the auto rotation.
### Download
- [2022-10-25](https://github.com/djpohly/dwl/compare/main...Unprex:rotation.patch)
### Authors
- [Unprex](https://github.com/Unprex)

View File

@ -0,0 +1,27 @@
### Description
bstack and bstackhoriz are two stack layouts for dwl.
### Scheme
```
bstack (TTT) bstackhoriz (===)
+-----------------+ +-----------------+
| | | |
| | | |
| | | |
+-----+-----+-----+ +-----------------+
| | | | +-----------------+
| | | | +-----------------+
+-----+-----+-----+ +-----------------+
```
### Changelog
2023-11-24:
- Remove gaps between windows.
### Download
- [2023-11-24](https://github.com/djpohly/dwl/compare/main...wochap:bottomstack.patch)
- [2023-06-21](https://github.com/djpohly/dwl/compare/main...Abanoub8:bottomstack.patch)
- [2021-10-06](https://github.com/djpohly/dwl/compare/main...DanielMowitz:bottomstack.patch)
### Authors
- [DanielMowitz](https://github.com/DanielMowitz)
- [Abanoub8](https://github.com/Abanoub8)

10
_STALE_PATCHES/center.md Normal file
View File

@ -0,0 +1,10 @@
### Description
Adds a rule to automatically center clients on the current monitor.
### Download
- [v0.4](https://github.com/djpohly/dwl/compare/main...dm1tz:04-center.patch)
- [v0.4-r1](https://github.com/djpohly/dwl/compare/main...dm1tz:04rc1-iscenter.patch)
- [2022-08-27](https://github.com/djpohly/dwl/compare/main...dm1tz:iscenter.patch)
### Authors
- [Dmitry Zakharchenko](https://github.com/dm1tz)

View File

@ -0,0 +1,30 @@
### Description
This is a port of centeredmaster patch for dwm: <https://dwm.suckless.org/patches/centeredmaster>
centeredmaster centers the nmaster area on screen, using mfact * monitor
width & height, with the stacked windows distributed to the left and
right. It can be selected with `Alt+c`.
With one and two clients in master respectively this results in:
```
+------------------------------+ +------------------------------+
|+--------++--------++--------+| |+--------++--------++--------+|
|| || || || || || || ||
|| || || || || || M1 || ||
|| || || || || || || ||
|| S2 || M || S1 || || |+--------+| ||
|| || || || || |+--------+| ||
|| || || || || || || ||
|| || || || || || M2 || ||
|| || || || || || || ||
|+--------++--------++--------+| |+--------++--------++--------+|
+------------------------------+ +------------------------------+
```
### Download
- [2023-05-20](https://github.com/djpohly/dwl/compare/main...NikitaIvanovV:centeredmaster.patch)
### Authors
- [Nikita Ivanov](https://github.com/NikitaIvanovV)

View File

@ -0,0 +1,8 @@
### Description
Add a keybinding that toggles centering Alacritty horizontally when it's the only window, while still tiling multiple windows.
### Download
- [2020-12-14](https://github.com/djpohly/dwl/compare/main...guidocella:center-terminal.patch)
### Authors
- [Guido Cella](https://github.com/guidocell)

20
_STALE_PATCHES/cfacts.md Normal file
View File

@ -0,0 +1,20 @@
### Description
A port of the [dwm cfacts patch](https://dwm.suckless.org/patches/cfacts/) (with the limits removed)
Clients with higher weight are allocated more space!
```
+---------------------+
| | 0.5 |
| 1.0 +----------+
+----------+ |
| | 1.0 |
| +----------+
| 2.0 | |
| | 1.0 |
+----------+----------+`
```
### Download
- [2023-07-22](https://github.com/djpohly/dwl/compare/main...PalanixYT:cfact.patch)
### Authors
- [Palanix](https://github.com/PalanixYT)

View File

@ -0,0 +1,13 @@
### Description
Implements chained keybindings (like the dwm [keychain](https://dwm.suckless.org/patches/keychain/) patch).
Bindings can share a leading chain key. This chain key will be triggered when Mod+chain is pressed. A subsequent keypress will be matched against bindings for that chain key. If it is configured the action will be triggered, otherwise the keypress will be ignored.
### Download
- [2023-03-26](https://github.com/djpohly/dwl/compare/main...bencollerson:dwl:d99a1e5.patch)
- [2022-12-01](https://github.com/djpohly/dwl/compare/main...bencollerson:dwl:908a5c2.patch)
### Authors
- [Ben Collerson](https://github.com/bencollerson)

View File

@ -0,0 +1,27 @@
### Description
Store your clipboard history using `clipman` clipboard manager without your KeePassXC passwords leaking into clipman.
Ensure these dependencies are installed (instructions for debian, other distros are left as an exercise...):
apt install clipman libmodern-perl-perl moreutils wl-clipboard
Change your command to launch `dwl` to something like the following:
dwl -s 'pee somebar dwl-getwindowtitle'
Ensure the following command is running in the background of your `dwl` session. Put it whereever your auto-started stuff is.
exec wl-paste -t text --watch dwl-clipman
This solution is based on the following reddit post, modified to support `dwl`. https://www.reddit.com/r/swaywm/comments/ljl0dh/keeping_secrets_secret_with_keepassxc_clipman_and/
Feel free to use this code however you want, but I can't guarantee it will work for what you are trying to do. Licenced under the same license as `dwl`, "WITHOUT WARRANTY OF ANY KIND".
### Download
- [2022-12-21](https://github.com/djpohly/dwl/compare/main...bencollerson:clipboard-manager.patch)
- [2022-12-01](https://github.com/djpohly/dwl/compare/main...bencollerson:94d0a21.patch)
### Authors
- [Ben Collerson](https://github.com/bencollerson)

View File

@ -0,0 +1,8 @@
### Description
Adds clipboard functionality. Requires the [ipc](https://github.com/djpohly/dwl/wiki/ipc) patch for dwl and `wl-clipboard` to be installed. By default, requires [clipman](https://github.com/yory8/clipman) for the clipboard and [dwl-state](https://github.com/MadcowOG/dwl-state) for getting the appid of the focused application, but you can change these in the script if you have alternatives. You may change which applications to not record by modifying the `excludes` array in `dwl-cliboard-watcher`. Make sure `wl-paste -t text -w dwl-clipboard-watcher` is running after dwl.
### Downloads
- [2023-3-01](https://github.com/djpohly/dwl/compare/main...MadcowOG:ipc-clipboard.patch)
### Authors
- [MadcowOG](https://github.com/MadcowOG)

View File

@ -0,0 +1,8 @@
### Description
A column layout patch. This patch just puts the visible clients into equal-width columns on the screen.
### Download
- [2023-03-26](https://github.com/djpohly/dwl/compare/main...bencollerson:dwl:72fde16.patch)
### Authors
- [Ben Collerson](https://github.com/bencollerson)

View File

@ -0,0 +1,9 @@
### Description
Adds ability to change cursor's theme and size.
### Download
- [v0.4](https://github.com/djpohly/dwl/compare/main...dm1tz:04-cursortheme.patch)
- [2021-12-04](https://github.com/djpohly/dwl/compare/main...egorguslyan:cursortheme.patch)
### Authors
- [egorguslyan](https://github.com/egorguslyan)

View File

@ -0,0 +1,8 @@
### Description
When focus is changed, warp the cursor the the center of the new focused client (if it wasn't already within the client's geometry).
### Download
- [2022-05-26](https://github.com/djpohly/dwl/compare/main...faerryn:cursor_warp.patch)
### Authors
- [Faerryn](https://github.com/faerryn)

View File

@ -0,0 +1,26 @@
### Description
Rules for floating windows support default x, y, width, height. Defaults to the center of the screen and the client size.
### Changelog
2023-09-11:
- Rewrite the patch so that it works with the latest dwl
- If the width or height is less than or equal to 1, then the value will be interpreted as a percentage. For example, 0.5 represents 50%, 0.25 represents 25%, and 1 represents 100%. **NOTE**: Some clients, like Thunar, have minimum width/height
- A variable `center_relative_to_monitor` has been added, allowing the user to choose whether to center relative to the monitor or relative to the window area.
<details>
<summary>Explanation of center_relative_to_monitor:</summary>
<pre>
The "Monitor area" refers to the space enclosed by the green rectangle, while the "Window area" refers to the space enclosed by the red
rectangle.
<img src="https://i.imgur.com/xhejzPh.png"/>
</pre>
</details>
### Download
- [2023-09-11](https://github.com/djpohly/dwl/compare/main...wochap:customfloat.patch)
- [2020-09-02](https://github.com/djpohly/dwl/compare/main...Stivvo:customFloat.patch)
### Authors
- [Stivvo](https://github.com/Stivvo)
- [wochap](https://github.com/wochap)

View File

@ -0,0 +1,9 @@
### Description
Adds function to cycle through available layouts.
### Download
- [v0.4](https://github.com/djpohly/dwl/compare/main...dm1tz:04-cyclelayouts.patch)
- [2021-07-27](https://github.com/djpohly/dwl/compare/main...vnepogodin:cyclelayouts.patch)
### Authors
- [Vladislav Nepogodin](https://github.com/vnepogodin)

35
_STALE_PATCHES/deck.md Normal file
View File

@ -0,0 +1,35 @@
### Description
[deck](https://dwm.suckless.org/patches/deck/) is a port of the dwm-layout with the same name. It applies the monocle-layout to the clients in the stack. The master-client is still visible. The stacked clients are like a deck of cards, hence the name.
### Scheme
```
Showcase
Tile :
+-----------------+--------+
| | |
| | S1 |
| | |
| M +--------+
| | |
| | S2 |
| | |
+-----------------+--------+
Deck :
+-----------------+--------+
| | |
| | |
| | |
| M | S1 |
| | |
| | |
| | |
+-----------------+--------+
```
### Download
- [2023-07-09](https://github.com/djpohly/dwl/compare/main...PalanixYT:deck.patch)
### Authors
- [Palanix](https://github.com/PalanixYT)

View File

@ -0,0 +1,8 @@
### Description
Change mfact by dragging the mouse.
### Download
- [2022-12-03](https://github.com/djpohly/dwl/compare/main...PalanixYT:dragmfact.patch)
### Authors
- [Palanix](https://github.com/PalanixYT)

View File

@ -0,0 +1,27 @@
### Description
Arranges windows in a Fibonacci spiral or dwindle.
### Scheme
```
+-----------+-----------+ +-----------+-----------+
| | | | | |
| | 2 | | | 2 |
| | | | | |
| 1 +--+--+-----+ | 1 +-----+-----+
| | 5|-.| | | | | 4 |
| +--+--+ 3 | | | 3 +--+--+
| | 4 | | | | | 5|-.|
+-----------+-----+-----+ +-----------+-----+-----+
spiral dwindle
```
### Download
- [2023-06-21](https://github.com/djpohly/dwl/compare/main...Abanoub8:fibonacci.patch)
- [2022-09-22](http://0x0.st/oVlu.patch)
- [2021-05-06](https://github.com/djpohly/dwl/compare/main...917Wolf:fib.patch)
### Authors
- [Abanoub8](https://github.com/Abanoub8)
- [medanisjbara](https://github.com/medanisjbara)
- [917Wolf](https://github.com/917Wolf)
- Niki Yoshiuchi

View File

@ -0,0 +1,8 @@
### Description
Floating clients have their own border color.
### Download
- [2022-03-26](https://github.com/djpohly/dwl/compare/main...PalanixYT:float_border_color.patch)
### Authors
- [Palanix](https://github.com/PalanixYT)

View File

@ -0,0 +1,7 @@
### Description
Implements `focusmon()` function that moves the cursor to the focused monitor.
### Download
- [2020-10-15](https://github.com/djpohly/dwl/compare/main...Stivvo:focusMonPointer.patch)
### Authors
- [Stivvo](https://github.com/Stivvo)

View File

@ -0,0 +1,8 @@
### Description
Focus the window left, right, above or below the current focused window
### Download
- [2023-19-15](https://github.com/djpohly/dwl/compare/main...XGames123:focusdir.patch)
### Authors
- [ldev](https://github.com/Xgames123)

View File

@ -0,0 +1,9 @@
### Description
Focus the master regardless of the current focus.
### Download
- [2022-09-02](https://github.com/djpohly/dwl/compare/main...dm1tz:fmaster.patch)
- [2022-08-18](https://github.com/djpohly/dwl/compare/main...PalanixYT:focusmaster.patch)
### Authors
- [Palanix](https://github.com/PalanixYT)

View File

@ -0,0 +1,10 @@
### Description
Arranges windows in a grid. Except it adjusts the number of windows in the first few columns to avoid empty cells.
### Download
- [2023-11-14](https://github.com/djpohly/dwl/compare/main...Sneethe:gaplessgrid.patch)
- [2021-07-27](https://github.com/djpohly/dwl/compare/main...vnepogodin:gaplessgrid.patch)
### Authors
- [Sneethe](https://github.com/Sneethe/)
- [Vladislav Nepogodin](https://github.com/vnepogodin)

View File

@ -0,0 +1,25 @@
### Description
This patch is a modified version of [vanitygaps][vanitygaps] that adds gaps around clients regardless of a layout.
It means you can apply any layout patch and the gaps will be shown properly as long as the layout does not add any gaps on its own.
This works by allowing a layout to place clients normally without gaps,
and then correcting positions and dimensions of clients afterwards to add gaps around them.
To make it work, I had to modify `resize()` function,
and, as a side effect, this change fixed some flickering I experienced when using [snail][snail] layout.
[snail]: https://github.com/djpohly/dwl/wiki/snail
[vanitygaps]: https://github.com/djpohly/dwl/wiki/vanitygaps
### Changelog
2023-11-24:
- Refactor, it does exactly the same, just using less code.
- Replace `gappih`, `gappiv`, `gappoh` and `gappov` with only `gappx`. They don't do anything anyways.
### Download
- [2023-11-24](https://github.com/djpohly/dwl/compare/main...wochap:genericgaps.patch)
- [2023-05-20](https://github.com/djpohly/dwl/compare/main...NikitaIvanovV:genericgaps.patch) generic gaps
- [2023-05-20](https://github.com/djpohly/dwl/compare/main...NikitaIvanovV:genericgaps-rule.patch) generic gaps + monitor rule to enable gaps on certain monitors by default
### Authors
- [Nikita Ivanov](https://github.com/NikitaIvanovV)

View File

@ -0,0 +1,19 @@
### Description
Add swipe gestures to trigger functions, similar to [libinput-gestures](https://github.com/bulletmark/libinput-gestures/tree/master). It supports the following gestures: `SWIPE_UP`, `SWIPE_DOWN`, `SWIPE_LEFT` and `SWIPE_RIGHT`
```c
static const Gesture gestures[] = {
{ SWIPE_LEFT, shiftview, { .i = 1 } },
{ SWIPE_RIGHT, shiftview, { .i = -1 } },
};
```
**NOTE:** the example above requires the following patch https://github.com/djpohly/dwl/wiki/shiftview
### Download
Apply on top of [pointerGesturesUnstableV1 patch](https://github.com/djpohly/dwl/wiki/pointerGesturesUnstableV1).
- [2023-09-09](https://github.com/wochap/dwl/compare/pointer-gestures-unstable-v1...wochap:gestures.patch)
### Authors
- [wochap](https://github.com/wochap)

View File

@ -0,0 +1,10 @@
### Description
Arranges windows in a grid of equal sizes.
### Download
- [2023-06-21](https://github.com/djpohly/dwl/compare/main...Abanoub8:gridmode.patch)
- [2021-07-24](https://github.com/djpohly/dwl/compare/main...vnepogodin:gridmode.patch)
### Authors
- [Vladislav Nepogodin](https://github.com/vnepogodin)
- [Abanoub8](https://github.com/Abanoub8)

View File

@ -0,0 +1,9 @@
### Description
Hide the cursor when typing
### Download
- [2023-10-25](https://github.com/djpohly/dwl/compare/main...apprehensions:hidecursor.patch)
- [2023-02-19](https://github.com/djpohly/dwl/compare/main...PalanixYT:type_hide.patch)
### Authors
- [Palanix](https://github.com/PalanixYT)

11
_STALE_PATCHES/ipc.md Normal file
View File

@ -0,0 +1,11 @@
### Description
Largely based on [raphi](https://sr.ht/~raphi/)'s [somebar](https://sr.ht/~raphi/somebar/), this patch provides an ipc for wayland clients to get and set dwl state. The ipc is intended for status bars, but can also be scripted with [dwlmsg](https://codeberg.org/notchoc/dwlmsg).
### Download
- [2023-10-28](https://gist.githubusercontent.com/fbushstone/b116c44340eb7a7878de1119dd931ca5/raw/ee66ac9e2a5dddd9b528df553e21080c2811e974/ipc-v2-fixed.patch) Updated version of 2023-04-29, prevents ipc from freezing the compositor in printstatus.
- [2023-04-29](https://github.com/djpohly/dwl/compare/main...madcowog:ipc-v2.patch) Use this for dwl-ipc-unstable-v2. If you are using commit [9d68554](https://github.com/djpohly/dwl/commit/9d68554c59a886b641d27a364884fb461af2d4f1) or later, use this. For status bars this protocol is supported by dwlb, Waybar and dwl-bar.
- [2023-04-29](https://github.com/djpohly/dwl/compare/main...madcowog:ipc-bbdf2.patch) Use this for dwl-ipc-unstable-v1. If you are using commit [bbdaf2a9](https://github.com/djpohly/dwl/commit/bbdf2a913b72e7a308ee0dfde6518a4285d4a775), [release 0.4](https://github.com/djpohly/dwl/releases/tag/v0.4) or earlier, use this. For status bars, this protocol is supported by dwl-bar.
- [2023-02-20](https://lists.sr.ht/~raphi/public-inbox/patches/39166) Use this for net-tapesoftware-dwl-wm-unstable-v1. If you are using commit [c69a2bec](https://github.com/djpohly/dwl/commit/c69a2bec3ff417fbc4ea8fec0a49096773e01e7d) or later, use this. For status bars this protocol is supported by somebar.
### Authors
- [MadcowOG](https://github.com/MadcowOG)

View File

@ -0,0 +1,27 @@
### Description
This patch adds per-client keyboard layout and ability to send current
keyboard layout information to a status bar.
Only per-client feature is enabled by default. You can edit
`kblayout_file` and `kblayout_cmd` variables to notify a status bar
about keyboard layout.
[Someblocks](https://sr.ht/~raphi/someblocks) config that works
with the example settings in `config.h`:
```c
static const Block blocks[] = {
/*Icon*/ /*Command*/ /*Update Interval*/ /*Update Signal*/
{"", "cat /tmp/dwl-keymap", 0, 1},
};
```
Both of these features are included in one patch because their
implementation happens to share some code. If you don't need
any of these features, just disable it in `config.h`.
### Download
- [2023-12-21](https://github.com/djpohly/dwl/compare/main...NikitaIvanovV:kblayout.patch)
### Authors
- [Nikita Ivanov](https://github.com/NikitaIvanovV)

15
_STALE_PATCHES/kbrules.md Normal file
View File

@ -0,0 +1,15 @@
### Description
Allow for keyboard rules to be used; This allows for keyboard-specific options or layouts.
The keyboard's names can be retrieved from `libinput list-devices | grep Device`, example:
```c
static const KeyboardRule kbrules[] = {
{ "AT Translated Set 2 keyboard", { .options = "altwin:swap_alt_win,caps:swapescape" } },
};
```
### Download
- [2023-09-20](https://github.com/djpohly/dwl/compare/main...apprehensions:dwl:kbrules.patch)
### Authors
- [sewn](https://github.com/apprehensions)

View File

@ -0,0 +1,8 @@
### Description
Allows clients to use the keyboard-shortcuts-inhibit protocol to block the compositor from using keybinds. This is useful for virtualization software like looking-glass which requires this protocol to run.
### Download
- [2023-05-01](https://github.com/djpohly/dwl/compare/main...madcowog:keyboard-shortcuts-inhibit.patch)
### Authors
- [MadcowOG](https://github.com/MadcowOG)

View File

@ -0,0 +1,44 @@
### Description
This patch implements sequences for chained keybindings (like the dwm [keychord](https://dwm.suckless.org/patches/keychord/) patch).
_Notes_:
- The maximum number of sequences is set to `5` in the `Keychord` struct for a given keybinding
- This original motivation was better support for [stumpwm](https://stumpwm.github.io/) style of keybindings, however this is not a limitation
### Example
The default values for `MODKEY` and `PREFIXKEY` can be changed in `config.def.h` and/or `config.h`.
#### emacs-like
In the example below, the `firefox` command is bound to the key sequence `alt-s alt-u f`.
```C
static const Keychord keychords[] = {
/* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */
/* count key_sequences function argument */
{ 3, {{MODKEY, XKB_KEY_s}, {MODKEY, XKB_KEY_u}, {MOD_NONE, XKB_KEY_f}}, spawn, SHCMD("firefox") },
};
```
#### vim-like
In the example below, the `firefox` command is bound to the key sequence `alt-s u f`.
```C
static const Keychord keychords[] = {
/* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */
/* count key_sequences function argument */
{ 3, {{MODKEY, XKB_KEY_s}, {MOD_NONE, XKB_KEY_u}, {MOD_NONE, XKB_KEY_f}}, spawn,SHCMD("firefox") },
};
```
### Download
- [2023-03-12](https://github.com/djpohly/dwl/compare/main...yveszoundi:dwl-customization:keychord-2023-03-12.patch)
- [2023-02-15](https://github.com/djpohly/dwl/compare/main...yveszoundi:dwl-customization:v0.4-keychord-2023-02-15.patch)
### Authors
- [Yves Zoundi](https://github.com/yveszoundi)

8
_STALE_PATCHES/keymap.md Normal file
View File

@ -0,0 +1,8 @@
### Description
Print current keyboard layout to stdout
### Download
- [2022-09-10](https://github.com/djpohly/dwl/compare/main...GospodinHoroshiy:keymap.patch)
### Authors
- [Gospodin](https://github.com/GospodinHoroshiy)

View File

@ -0,0 +1,21 @@
### Description
This patch allows you to add keybindings to the lockscreen.
```c
static const Key lockedkeys[] = {
/* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */
/* modifier key function argument */
/* Ctrl-Alt-Backspace and Ctrl-Alt-Fx used to be handled by X server */
{ WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT,XKB_KEY_Terminate_Server, quit, {0} },
#define CHVT(n) { WLR_MODIFIER_CTRL|WLR_MODIFIER_ALT,XKB_KEY_XF86Switch_VT_##n, chvt, {.ui = (n)} }
CHVT(1), CHVT(2), CHVT(3), CHVT(4), CHVT(5), CHVT(6),
CHVT(7), CHVT(8), CHVT(9), CHVT(10), CHVT(11), CHVT(12),
};
```
### Download
- [2023-11-24](https://github.com/djpohly/dwl/compare/main...wochap:lockedkeys.patch)
### Authors
- [wochap](https://github.com/wochap)

15
_STALE_PATCHES/menu.md Normal file
View File

@ -0,0 +1,15 @@
### Description
This patch adds `menu` command, which allows dwl to interface with dmenu-like programs.
By default, two menus are available:
- focusing a window by its title by pressing `Alt+o`
- selecting a layout from a list by pressing `Alt+Shift+o`
Edit `menus` array and `MENU` macro in `config.h` to add/change menus and use a different dmenu program.
### Download
- [2023-07-15](https://github.com/djpohly/dwl/compare/main...NikitaIvanovV:menu.patch)
### Authors
- [Nikita Ivanov](https://github.com/NikitaIvanovV)

34
_STALE_PATCHES/modes.md Normal file
View File

@ -0,0 +1,34 @@
### Description
Implement modes, default mode is `NORMAL`
### Example
In the example below, you declare a mode: `BROWSER`, which is activated when you press <kbd>modkey</kbd> + <kbd>b</kbd>. Then, you can press <kbd>f</kbd> to launch `Firefox` and return to the default `NORMAL` mode.
```c
enum {
BROWSER,
};
const char *modes_labels[] = {
"browser",
};
static const Key keys[] = {
// ...
{ MODKEY, XKB_KEY_b, entermode, {.i = BROWSER} },
// ...
};
static const Modekey modekeys[] = {
/* mode modifier key function argument */
{ BROWSER, { 0, XKB_KEY_f, spawn, SHCMD("firefox") } },
{ BROWSER, { 0, XKB_KEY_f, entermode, {.i = NORMAL} } },
{ BROWSER, { 0, XKB_KEY_Escape, entermode, {.i = NORMAL} } },
};
```
### Download
- [2023-09-11](https://github.com/djpohly/dwl/compare/main...wochap:modes.patch)
### Authors
- [wochap](https://github.com/wochap)

View File

@ -0,0 +1,8 @@
### Description
Allows more monitor configuration in config.h
### Download
- [2022-04-04](https://github.com/djpohly/dwl/compare/main...PalanixYT:monfig.patch)
### Authors
- [Palanix](https://github.com/PalanixYT)

View File

@ -0,0 +1,8 @@
### Description
This patch adds the option to let the cursor jump to the center of new clients, as well as move the cursor to the center of clients that gains focus.
### Download
- [2023-03-17](https://github.com/djpohly/dwl/compare/main...0undefined:mouse-follows-focus.patch)
### Authors
- [0undefined](https://github.com/0undefined)

View File

@ -0,0 +1,9 @@
### Description
Extend the [movestack](https://github.com/djpohly/dwl/wiki/movestack) patch to let you also focus, or move, a client to the top or bottom of the stack.
### Download
- [2023-03-12](https://github.com/djpohly/dwl/compare/main...0undefined:dwl:move-client-top.patch)
### Authors
- [0undefined](https://github.com/0undefined)
- Original movestack patch: [sam-barr](https://github.com/ss7m)

View File

@ -0,0 +1,22 @@
### Description
This patch provides a keybinding to center focused windows.
Press <kbd>MODKEY</kbd> + <kbd>x</kbd> to center the focused floating window.
It does NOT uncenter the window back to its previous location. It does not center windows that are not floating.
The variable `center_relative_to_monitor` allows the user to choose whether to center relative to the monitor or relative to the window area.
<details>
<summary>Explanation of center_relative_to_monitor:</summary>
<pre>
The "Monitor area" refers to the space enclosed by the green rectangle, while the "Window area" refers to the space enclosed by the red rectangle.
<img src="https://i.imgur.com/xhejzPh.png"/>
</pre>
</details>
### Download
- [2023-09-11](https://github.com/djpohly/dwl/compare/main...wochap:movecenter.patch)
### Authors
- [wochap](https://github.com/wochap)

View File

@ -0,0 +1,20 @@
### Description
This allows the user to change size and placement of floating windows using only the keyboard, default keybindings:
| Keybinding | Action |
| :--- | :--- |
| <kbd>MODKEY</kbd> + <kbd>Up</kbd> | move 40px up |
| <kbd>MODKEY</kbd> + <kbd>Down</kbd> | move 40px down |
| <kbd>MODKEY</kbd> + <kbd>Left</kbd> | move 40px left |
| <kbd>MODKEY</kbd> + <kbd>Right</kbd> | move 40px right |
| <kbd>MODKEY</kbd> + <kbd>Shift</kbd> + <kbd>Up</kbd> | shrink height 40px |
| <kbd>MODKEY</kbd> + <kbd>Shift</kbd> + <kbd>Down</kbd> | grow height 40px |
| <kbd>MODKEY</kbd> + <kbd>Shift</kbd> + <kbd>Left</kbd> | shrink width 40px |
| <kbd>MODKEY</kbd> + <kbd>Shift</kbd> + <kbd>Right</kbd> | grow width 40px |
### Download
- [2023-09-11](https://github.com/djpohly/dwl/compare/main...wochap:moveresizekb.patch)
### Authors
- [wochap](https://github.com/wochap)

View File

@ -0,0 +1,14 @@
### Description
Allows you to move a window up and down the stack.
### Download
- [2023-09-05](https://github.com/djpohly/dwl/compare/main...NikitaIvanovV:movestack.patch)
- [2023-06-21](https://github.com/djpohly/dwl/compare/main...Abanoub8:movestack.patch)
- [v0.4](https://github.com/djpohly/dwl/compare/main...dm1tz:04-movestack.patch)
- [2022-01-16](https://github.com/djpohly/dwl/compare/main...ss7m:movestack.patch)
### Authors
- [sam-barr](https://github.com/ss7m)
- [Dmitry Zakharchenko](https://github.com/dm1tz)
- [Abanoub8](https://github.com/Abanoub8)
- [Nikita Ivanov](https://github.com/NikitaIvanovV)

View File

@ -0,0 +1,8 @@
### Description
Allows for the creation of multiple scratchpad windows, each assigned to a different keybinding.
### Download
- [2022-07-29](https://github.com/djpohly/dwl/compare/main...loumray:namedscratchpads.patch)
### Authors
- [Louis-Michel Raynauld](https://github.com/loumray)

View File

@ -0,0 +1,8 @@
### Description
Set natural scrolling only for trackpads.
### Download
- [2023-05-21](https://github.com/djpohly/dwl/compare/main...NikitaIvanovV:naturalscrolltrackpad.patch)
### Authors
- [Nikita Ivanov](https://github.com/NikitaIvanovV)

View File

@ -0,0 +1,8 @@
### Description
Prevent focus on mouseover.
### Download
- [2023-02-05](https://github.com/djpohly/dwl/compare/main...jjjt-git:nomousefocus.patch)
### Authors
- [JJJT](https://github.com/jjjt-git)

View File

@ -0,0 +1,8 @@
### Description
Only exit when no windows are open
### Download
- [2022-09-11](https://github.com/djpohly/dwl/compare/main...GospodinHoroshiy:onlyquitonempty.patch)
### Authors
- [Gospodin](https://github.com/GospodinHoroshiy)

View File

@ -0,0 +1,8 @@
### Description
Implement the output-power-management protocol. I don't know what this is used by, but here it is in case you need it.
### Download
- [2022-03-20](https://github.com/djpohly/dwl/compare/main...guidocella:output-power-management.patch)
### Authors
- [Guido Cella](https://github.com/guidocella)

12
_STALE_PATCHES/pertag.md Normal file
View File

@ -0,0 +1,12 @@
### Description
Makes layout, mwfact and nmaster individual for every tag.
### Download
- [2023-08-26](https://github.com/djpohly/dwl/compare/main...mortezadadgar:pertag.patch)
- [2023-07-13](https://github.com/djpohly/dwl/compare/main...NikitaIvanovV:pertag.patch)
- [2023-04-21](https://github.com/djpohly/dwl/compare/main...bencollerson:pertag.patch)
- [v0.4](https://github.com/djpohly/dwl/compare/main...dm1tz:04-pertag.patch)
- [2022-03-20](https://github.com/djpohly/dwl/compare/main...guidocella:pertag.patch)
### Authors
- [Guido Cella](https://github.com/guidocella)

View File

@ -0,0 +1,8 @@
### Description
Adds support for basic pointer constraints.
### Download
- [2022-07-03](https://github.com/djpohly/dwl/compare/main...PalanixYT:point.patch)
### Authors
- [Palanix](https://github.com/PalanixYT)

View File

@ -0,0 +1,11 @@
### Description
Forward the following events to client:
swipe_begin, swipe_update, swipe_end, pinch_begin, pinch_update and pinch_end
This patch allows you to pinch zoom in Chrome for example and in combination with the following patch https://github.com/djpohly/dwl/wiki/gestures and https://github.com/djpohly/dwl/wiki/shiftview, it would allow you to switch workspaces by performing a 3-finger swipe on your touchpad.
### Download
- [2023-09-08](https://github.com/djpohly/dwl/compare/main...wochap:pointer-gestures-unstable-v1.patch)
### Authors
- [wochap](https://github.com/wochap)

View File

@ -0,0 +1,8 @@
### Description
Adds the -u option that allows users to pass a desired uid to drop to after becoming DRM master.
### Download
- [2021-09-06](https://github.com/djpohly/dwl/compare/main...DanielMowitz:privilege-drop.patch)
### Authors
- [Daniel Mowitz](https://github.com/DanielMowitz)

8
_STALE_PATCHES/push.md Normal file
View File

@ -0,0 +1,8 @@
### Description
Adds functions `pushup` and `pushdown` to move windows within the tiling order.
### Download
- [2022-12-05](https://github.com/djpohly/dwl/compare/wlroots-next...djpohly:push.patch)
### Authors
- [Devin J. Pohly](https://github.com/djpohly)

View File

@ -0,0 +1,17 @@
### Description
Allows the use of regular expressions for window rules "app_id" and "title"
```c
static const Rule rules[] = {
// ...
{ "kitty-htop", NULL, 1 << 8, 0, -1 },
{ "^kitty$", NULL, 0, 0, -1 },
// ...
};
```
### Download
- [2023-10-11](https://github.com/djpohly/dwl/compare/main...wochap:regexrules.patch)
### Authors
- [wochap](https://github.com/wochap)

10
_STALE_PATCHES/regions.md Normal file
View File

@ -0,0 +1,10 @@
### Description
This patch will allow for a program to be used and have the current window regions on all monitors to be passed to the program as standard input.
example is `grim -g "$(slurp)"`
### Download
- [2023-07-23](https://github.com/djpohly/dwl/compare/main...apprehensions:dwl:regions.patch)
### Authors
- [sewn](https://github.com/apprehensions)

View File

@ -0,0 +1,12 @@
### Description
When resizing windows, the mouse will no longer jump to the bottom
right corner and only resize from that corner. Instead, the mouse will
resize the window in the quadrant that the resize starts at. This is the
same resize behavior as Sway and is similar to the resizehere dwm patch.
### Download
- [v0.4](https://github.com/djpohly/dwl/compare/main...schance995:dwl:relative-mouse-resize.patch)
### Authors
- [schance995](https://github.com/schance995)

View File

@ -0,0 +1,23 @@
### Description
This patch allows you to restart dwl with a keybinding.
**NOTE:** that all of your applications are gonna get killed on dwl restart.
The function creates a file at **/tmp/restart_dwl** and exits dwl.
You have to modify your dwl launch script in order for this patch to work.
Example dwl launch script:
```sh
do=true
while $do || [ -f /tmp/restart_dwl ]; do
do=false
rm -rf /tmp/restart_dwl > /dev/null 2>&1
dwl
done
```
It's a do-while that checks if **/tmp/restart_dwl** exists after the first run of dwl.
If this file exists delete it and start dwl again.
### Download
- [2022-10-27](https://github.com/djpohly/dwl/compare/main...krypciak:patch-restartdwl.patch)
### Authors
- [krypciak](https://github.com/krypciak)

View File

@ -0,0 +1,8 @@
### Description
All floating windows become tiling when switching to a different layout.
### Download
- [2020-08-28](https://github.com/djpohly/dwl/compare/main...Stivvo:restoreTiling.patch)
### Authors
- [Stivvo](https://github.com/Stivvo)

View File

@ -0,0 +1,8 @@
### Description
This patch provides the ability to rotate the tagset left / right. It implements a new function rotatetags which modifies the current tagset. Same as original dwm [patch](https://dwm.suckless.org/patches/rotatetags/). Also adds ability to move focused client to left / right adjacent tag by specifying argument number as -2 or 2.
### Download
- [2023-10-12](https://github.com/djpohly/dwl/compare/main...korei999:rotatetags.patch)
### Authors
- [korei](https://github.com/korei999)

View File

@ -0,0 +1,8 @@
### Description
Adds `shiftview` function that allows to cycle through tags.
### Download
- [2022-07-06](https://github.com/djpohly/dwl/compare/main...guidocella:shiftview.patch)
### Authors
- [Guido Cella](https://github.com/guidocella)

View File

@ -0,0 +1,9 @@
### Description
Allows for a single set of tags to be shared between multiple monitors.
### Download
- [2023-03-26](https://github.com/djpohly/dwl/compare/main...bencollerson:5beb96f.patch)
- [2022-12-21](https://github.com/djpohly/dwl/compare/main...bencollerson:6d32180.patch)
### Authors
- [Ben Collerson](https://github.com/bencollerson)

8
_STALE_PATCHES/sticky.md Normal file
View File

@ -0,0 +1,8 @@
### Description
Adds a toggleable function that makes a sticky client that is visible on all tags.
### Download
- [v0.4](https://github.com/djpohly/dwl/compare/main...dm1tz:04-sticky.patch)
### Authors
- [Dmitry Zakharchenko](https://github.com/dm1tz)

View File

@ -0,0 +1,11 @@
### Description
Add a rule to clients to spawn them [sticky](sticky) on start up.
I personally use it to make [dragon](https://github.com/mwh/dragon) show up on all tags.
### Download
Apply on top of [sticky patch](sticky).
- [2023-05-27](https://github.com/dm1tz/dwl/compare/04-sticky...NikitaIvanovV:stickyrule.patch)
### Authors
- [Nikita Ivanov](https://github.com/NikitaIvanovV)

View File

@ -0,0 +1,12 @@
### Description
Focus the window (floating or no) to the left, right, above, or below the current focused window.
Swap the focused window with the window (no floating) to the left, right, above, or below.
**NOTE:** this patch uses the same algorithm that River uses to select the window in the given direction.
### Download
- [2023-11-24](https://github.com/djpohly/dwl/compare/main...wochap:swapandfocusdir.patch)
### Authors
- [wochap](https://github.com/wochap)

View File

@ -0,0 +1,8 @@
### Description
Implements just enough of the `sway-ipc` protocol to facilitate status bars. Tested with `waybar` and `rootbar`.
### Download
- [2022-06-08](https://github.com/djpohly/dwl/compare/main...StratusFearMe21:main.patch)
### Authors
- [Isaac Mills](https://github.com/StratusFearMe21)

View File

@ -0,0 +1,8 @@
### Description
Adds a rule option to switch to the configured tag when a window opens, then switch back when it closes.
### Download
- [2021-04-17](https://github.com/djpohly/dwl/compare/main...guidocella:switchtotag.patch)
### Authors
- [Guido Cella](https://github.com/guidocella)

View File

@ -0,0 +1,11 @@
### Description
Whenever a client title changes set the client's urgent flag.
Hacky solution I use to deal with qutebrowser not setting urgent flag when a new tab is opened.
### Download
- [2023-10-23](https://github.com/djpohly/dwl/compare/main...bencollerson:title-change-urgent.patch)
### Authors
- [Ben Collerson](https://github.com/bencollerson)

View File

@ -0,0 +1,9 @@
### Description
Switch between multiple keyboard layouts at runtime.
### Download
- [2023-11-24](https://github.com/djpohly/dwl/compare/main...wochap:toggleKbLayout.patch) (fix build error on the latest dwl)
- [2020-09-18](https://github.com/djpohly/dwl/compare/main...Stivvo:toggleKbLayout.patch)
### Authors
- [Stivvo](https://github.com/Stivvo)

View File

@ -0,0 +1,8 @@
### Description
Configure a default "previous" layout for `setlayout({0})` to switch back to.
### Download
- [2020-07-28](https://github.com/djpohly/dwl/compare/main...guidocella:toggle-layout-immediately.patch)
### Authors
- [Guido Cella](https://github.com/guidocella)

View File

@ -0,0 +1,11 @@
### Description
Adds SIMPLE touchscreen functionality.<br>
Currently emulates mouse movement and button presses.<br>
### Download
- [2023-03-31](https://github.com/djpohly/dwl/compare/main...fauxmight:dwl:simple_touch_input.patch)
- [2022-10-16](https://github.com/djpohly/dwl/compare/main...Unprex:touch-screen.patch)
### Authors
- [fauxmight](https://github.com/fauxmight)
- [Unprex](https://github.com/Unprex)

View File

@ -0,0 +1,9 @@
### Description
Hide the mouse cursor if it isnt being used for a certain period of time.
### Download
- [v0.4](https://github.com/djpohly/dwl/compare/main...dm1tz:04-unclutter.patch)
- [2022-02-12](https://github.com/djpohly/dwl/compare/main...guidocella:unclutter.patch)
### Authors
- [Guido Cella](https://github.com/guidocella)

View File

@ -0,0 +1,13 @@
### Description
- KISS (Keep it simple and stupid)
- Use common gap value instead of separate inner and outer gaps
- Set gap value in config.h and toggle gaps on or off
- minimal and efficient
### Download
- [2023-10-15](https://github.com/djpohly/dwl/compare/main...nakibrayan3:dwl:update-uselessgaps-patch.patch)
- [2023-07-17](https://github.com/djpohly/dwl/compare/main...serenevoid:uselessgaps.patch)
### Authors
- [Serene Void](https://github.com/serenevoid)
- [Rayan Nakib](https://nakibrayan2.pages.dev)

25
_STALE_PATCHES/vertile.md Normal file
View File

@ -0,0 +1,25 @@
### Description
A tiled layout optimized for wide vertical monitors.
### Scheme
```
|---------------------------|
| |
| |
| M |
| |
| |
|---------------------------|
| t1 |
|---------------------------|
| t2 |
|---------------------------|
| t3 |
|---------------------------|
```
### Download
- [2023-06-21](https://github.com/djpohly/dwl/compare/main...Abanoub8:vertile.patch)
- [2021-08-15](https://github.com/djpohly/dwl/compare/main...ChausseBenjamin:vertile.patch)
### Authors
- [Benjamin Chausse](https://github.com/ChausseBenjamin)
- [Abanoub8](https://github.com/Abanoub8)

View File

@ -0,0 +1,8 @@
### Description
implement wlr_virtual_pointer_v1 for things like wayvnc to work
### Download
- [2023-05-27](https://github.com/djpohly/dwl/compare/main...youbitchoc:virtualpointer.patch)
### Authors
- [youbitchoc](https://github.com/youbitchoc)

View File

@ -0,0 +1,9 @@
### Description
Set cursor theme and size via `XCURSOR_THEME` and `XCURSOR_SIZE` environmental variables.
### Download
- [2023-07-18](https://github.com/djpohly/dwl/compare/main...NikitaIvanovV:xcursor.patch)
### Authors
- [Nikita Ivanov](https://github.com/NikitaIvanovV)

View File

@ -0,0 +1,51 @@
### Description
This patch swaps the current window (C) with the previous master (P) when zooming.
```
Original behaviour :
+-----------------+-------+
| | |
| | |
| | |
| P +-------|
| | |
| | C |
| | |
+-----------------+-------+
+-----------------+-------+
| | |
| | P |
| | |
| C +-------|
| | |
| | |
| | |
+-----------------+-------+
New Behaviour :
+-----------------+-------+
| | |
| | |
| | |
| C +-------+
| | |
| | P |
| | |
+-----------------+-------+
+-----------------+-------+
| | |
| | |
| | |
| P +-------+
| | |
| | C |
| | |
+-----------------+-------+
```
### Download
- [2023-07-28](https://github.com/djpohly/dwl/compare/main...PalanixYT:zoomswap.patch)
### Authors
- [PalanixYT](https://github.com/PalanixYT)