Updated Patches (markdown)

Dmitry Zakharchenko 2022-09-04 11:14:07 +03:00
parent e483eb46b4
commit 54fd1a3bfa

@ -1,70 +1,84 @@
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 copy-and-paste the following Markdown into the list below, replacing each all-caps placeholder with the appropriate information:
## 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
* [PATCHNAME](https://github.com/djpohly/dwl/compare/main...YOURUSERNAME:BRANCH.patch): SUMMARY
### Description
Insert a short summary of changes that your patch implements.
### Download
- [yyyy-mm-dd](https://github.com/djpohly/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://github.com/djpohly/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.
For a patch based on the `wlroots-next` branch instead, simply change `main` in the link above.
## Layouts
* [bottomstack](https://github.com/djpohly/dwl/wiki/bottomstack)
* [fibonacci](https://github.com/djpohly/dwl/wiki/fibonacci)
* [gaplessgrid](https://github.com/djpohly/dwl/wiki/gaplessgrid)
* [gridmode](https://github.com/djpohly/dwl/wiki/gridmode)
* [snail](https://github.com/djpohly/dwl/wiki/snail)
* [vertile](https://github.com/djpohly/dwl/wiki/vertile)
* [cyclelayouts](https://github.com/djpohly/dwl/wiki/cyclelayouts)
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.
### Clients placement
* [alwayscenter](https://github.com/djpohly/dwl/wiki/alwayscenter)
* [attachabove](https://github.com/djpohly/dwl/wiki/attachabove)
* [attachbottom](https://github.com/djpohly/dwl/wiki/attachbottom)
* [masterOnRight](https://github.com/djpohly/dwl/wiki/masterOnRight)
* [right](https://github.com/djpohly/dwl/wiki/right)
* [restoretiling](https://github.com/djpohly/dwl/wiki/restoretiling)
### Clients & tags manipulation
* [focusmaster](https://github.com/djpohly/dwl/wiki/focusmaster)
* [movestack](https://github.com/djpohly/dwl/wiki/movestack)
* [push](https://github.com/djpohly/dwl/wiki/push)
* [shiftview](https://github.com/djpohly/dwl/wiki/shiftview)
* [pertag](https://github.com/djpohly/dwl/wiki/pertag)
* [centerterminal](https://github.com/djpohly/dwl/wiki/centerterminal)
### Rules
* [center](https://github.com/djpohly/dwl/wiki/center)
* [namedscratchpads](https://github.com/djpohly/dwl/wiki/namedscratchpads)
* [sticky](https://github.com/djpohly/dwl/wiki/sticky)
* [swallow](https://github.com/djpohly/dwl/wiki/swallow)
* [switchtotag](https://github.com/djpohly/dwl/wiki/switchtotag)
* [customfloat](https://github.com/djpohly/dwl/wiki/customfloat)
### Input
* [keycodes](https://github.com/djpohly/dwl/wiki/keycodes)
* [input](https://github.com/djpohly/dwl/wiki/input)
* [numlock](https://github.com/djpohly/dwl/wiki/numlock)
* [toggleKbLayout](https://github.com/djpohly/dwl/wiki/toggleKbLayout)
* [toggleLayoutImmediately](https://github.com/djpohly/dwl/wiki/toggleLayoutImmediately)
* [XF86keysym](https://github.com/djpohly/dwl/wiki/XF86keysym)
### Cursor
* [cursortheme](https://github.com/djpohly/dwl/wiki/cursortheme)
* [cursorwarp](https://github.com/djpohly/dwl/wiki/cursorwarp)
* [unclutter](https://github.com/djpohly/dwl/wiki/unclutter)
* [dragmfact](https://github.com/djpohly/dwl/wiki/dragmfact)
### Monitor
* [fallback](https://github.com/djpohly/dwl/wiki/fallback)
* [monitorconfig](https://github.com/djpohly/dwl/wiki/monitorconfig)
* [focusMonPointer](https://github.com/djpohly/dwl/wiki/focusMonPointer)
## Patches
**Note:** these external patches are user-submitted content, and the authors of dwl cannot monitor them. Please download and review a patch before using it!
**Another note:** since dwl is still taking shape, patches may need to be updated after larger changes to the code. Feel free to contribute updated versions!
<!-- please keep the patch list in alphabetical order by name, thanks! -->
* \[out of date\] [alpha](https://github.com/djpohly/dwl/compare/main...Sevz17:alpha.patch): Add default transparency for windows, it also adds alpha to the ruleset for override the transparency
* [alphafocus](https://github.com/djpohly/dwl/compare/main...juliag2:alphafocus.patch): Adds configurable transparency for focussed and unfocussed windows!
* [alwayscenter](https://github.com/djpohly/dwl/compare/main...guidocella:alwayscenter.patch): Center floating windows
* [attachabove](https://github.com/djpohly/dwl/compare/main...ss7m:attachabove.patch): Newly created windows are placed above the currently selected window in the stack
* [attachbottom](https://github.com/djpohly/dwl/compare/main...AurelWeinhold:attachbottom.patch): Newly created windows are placed at the bottom of the client tile stack
* [autostart](https://github.com/djpohly/dwl/compare/main...Sevz17:autostart.patch): Adapted autostart patch from dwm
* [autostart-wlroots-next](https://github.com/djpohly/dwl/compare/wlroots-next...Sevz17:autostart-wlroots-next.patch): Adapted autostart patch from dwm
* [bottomstack](https://github.com/djpohly/dwl/compare/main...DanielMowitz:bottomstack.patch): A modification of the [bottomstack patch](https://dwm.suckless.org/patches/bottomstack/) for dwm so it works for dwl
* [center-terminal](https://github.com/djpohly/dwl/compare/main...guidocella:center-terminal.patch): Add a keybinding that toggles centering Alacritty horizontally when it's the only window, while still tiling multiple windows
* [cursortheme](https://github.com/djpohly/dwl/compare/main...egorguslyan:cursortheme.patch): Add ability to change cursor's theme and size
* [cursor warp](https://github.com/djpohly/dwl/compare/main...faerryn:cursor_warp.patch): 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). EDIT CONFIG.H!
* [customFloat](https://github.com/djpohly/dwl/compare/main...Stivvo:customFloat.patch): Rules for floating windows support default x, y, width, height. Defaults to the center of the screen and the client size
* [cyclelayouts](https://github.com/djpohly/dwl/compare/main...vnepogodin:cyclelayouts.patch): Cycles through all available layouts ([original dwm patch](https://dwm.suckless.org/patches/cyclelayouts/))
* [dragmfact](https://github.com/djpohly/dwl/compare/main...PalanixYT:dragmfact.patch): Change mfact by dragging the mouse. EDIT CONFIG.H!
* [en-keycodes](https://github.com/djpohly/dwl/compare/main...dimkr:en-keycodes.patch): Makes key bindings work when using a non-English layout. EDIT CONFIG.H!
* [env](https://github.com/djpohly/dwl/compare/main...dimkr:env.patch): Input device configuration (click method, tap-and-drag, acceleration, etc'), border size and colors via environment variables.
* [fallback](https://github.com/djpohly/dwl/compare/main...dimkr:fallback.patch): Tries a different display mode if the preferred mode doesn't work (swaywm/sway@4cdc4ac).
* [fibonacci](https://github.com/djpohly/dwl/compare/main...917Wolf:fib.patch): Arranges windows in a Fibonacci spiral or dwindle ([original dwm patch](https://dwm.suckless.org/patches/fibonacci/)) Thanks to [Niki Yoshiuchi](mailto:nyoshiuchi@gmail.com) and my roommate.
* [FloatBorderColor](https://github.com/djpohly/dwl/compare/main...PalanixYT:float_border_color.patch): Floating clients have their own border color. EDIT CONFIG.H!
* [FocusMaster](https://github.com/djpohly/dwl/compare/main...PalanixYT:focusmaster.patch): Focus the master regardless of the current focus. EDIT CONFIG.H!
* [focusMonPointer](https://github.com/djpohly/dwl/compare/main...Stivvo:focusMonPointer.patch): ``focusmon()`` moves the cursor to the focused monitor
* [gaplessgrid](https://github.com/djpohly/dwl/compare/main...vnepogodin:gaplessgrid.patch): Arranges windows in a grid. Except it adjusts the number of windows in the first few columns to avoid empty cells. ([original dwm patch](https://dwm.suckless.org/patches/gaplessgrid/))
* [gridmode](https://github.com/djpohly/dwl/compare/main...vnepogodin:gridmode.patch): Arranges windows in a grid of equal sizes ([original dwm patch](https://dwm.suckless.org/patches/gridmode/))
* [hide-behind-fullscreen](https://github.com/djpohly/dwl/compare/main...Stivvo:hide-behind-fullscreen.patch): Don't render any client and the bottom layer shell (such as waybar) if a window is fullscreen. Especially useful with transparent terminals (only the wallpaper is shown behind them). Previously called hideBehindBullscreen, remade from scratch in 12/24/2020
* [iscentered](https://github.com/djpohly/dwl/compare/main...dm1tz:iscenter.patch): Slightly modified version of [alwayscenter](https://github.com/djpohly/dwl/compare/main...guidocella:alwayscenter.patch) patch that adds `iscentered` rule.
* [keycodes](https://github.com/djpohly/dwl/compare/main...Sevz17:keycodes.patch): Use keycodes instead of keysyms. This way, input is independent from keyboard layout (you can use the keys.h file to customize, or get the keycodes with wev or xev)
* [makeDesktop](https://github.com/djpohly/dwl/compare/main...Stivvo:makeDesktop.patch): Support for ``make install`` and ``make uninstall``, which also installs a .desktop file to start dwl from a display manager
* [master-on-right](https://github.com/djpohly/dwl/compare/main...Sevz17:master-right.patch): Show the master area to the right
* [monitor-config](https://github.com/djpohly/dwl/compare/main...PalanixYT:monfig.patch): Allows more monitor configuration in config.h
* [movestack](https://github.com/djpohly/dwl/compare/main...ss7m:movestack.patch): Allows you to move a window up and down the stack
* [namedscratchpads](https://github.com/djpohly/dwl/compare/main...loumray:namedscratchpads.patch): Allows for the creation of multiple scratchpad windows, each assigned to a different keybinding. ([original dwm patch](https://dwm.suckless.org/patches/namedscratchpads/))
* [numlock/capslock](https://github.com/djpohly/dwl/compare/main...Sevz17:numlock/capslock.patch): Allows to activate numlock or capslock at startup
* [output-power-management](https://github.com/djpohly/dwl/compare/main...guidocella:output-power-management.patch): Implement the output-power-management protocol. I don't know what this is used by, but here it is in case you need it
* [pertag](https://github.com/djpohly/dwl/compare/main...guidocella:pertag.patch): A very slightly modified version of dwm's pertag patch (updated version of https://github.com/djpohly/dwl/compare/main...Bonicgamer:pertag.patch)
* [pointerConstraints](https://github.com/djpohly/dwl/compare/main...PalanixYT:point.patch): TLDR: Gaming | basic pointer constraints and proper relative pointer motion| Updated 30.6.2021 (Thanks to Bonicgamer for the implementation of pointer constraints) EDIT CONFIG.H!
* [privilegeDrop](https://github.com/djpohly/dwl/compare/main...DanielMowitz:privilege-drop.patch): Adds the -u option that allows users to pass a desired uid to drop to after becoming DRM master
* [push](https://github.com/djpohly/dwl/compare/wlroots-next...djpohly:push.patch): Adds functions `pushup` and `pushdown` to move windows within the tiling order ([original dwm patch](https://dwm.suckless.org/patches/push/))
* [restoreTiling](https://github.com/djpohly/dwl/compare/main...Stivvo:restoreTiling.patch): All floating windows become tiling when switching to a different layout (mod+t, mod+m...)
* [right](https://github.com/djpohly/dwl/compare/main...dimkr:right.patch): Put newly connected monitors on the right, like X does.
* [snail](https://github.com/djpohly/dwl/compare/main...dimkr:dwl:snail.patch): A spiral-inspired layout for wide screens
* [sticky](https://github.com/djpohly/dwl/compare/main...dm1tz:sticky.patch): Adds ability to make a sticky client that is visible on all tags. This is similar to setting the client's tags to all 1's, but with the ability to easily return the client to its original tag by toggling it off by pressing specified keybind again.
* [shiftview](https://github.com/djpohly/dwl/compare/main...guidocella:shiftview.patch): Cycle through tags
* [smartBorders](https://github.com/djpohly/dwl/compare/main...Sevz17:smartborders.patch): The borders of a window aren't drawn when is the only tiling window in its tag or is in a monocle layout.
* [swallow](https://github.com/djpohly/dwl/compare/main...dm1tz:swallow.patch): Terminals swallow windows that they are the parent of (does not work with xwayland windows)
* [swaycompat](https://github.com/djpohly/dwl/compare/main...StratusFearMe21:main.patch): Implements just enough of the `sway-ipc` protocol to facilitate status bars. Tested with `waybar` and `rootbar`.
* [switchtotag](https://github.com/djpohly/dwl/compare/main...guidocella:switchtotag.patch): Adds a rule option to switch to the configured tag when a window opens, then switch back when it closes
* [toggleKbLayout](https://github.com/djpohly/dwl/compare/main...Stivvo:toggleKbLayout.patch): Switch between multiple keyboard layouts at runtime
* [toggle-layout-immediately](https://github.com/djpohly/dwl/compare/main...guidocella:toggle-layout-immediately.patch): configure a default "previous" layout for `setlayout({0})` to switch back to
* [unclutter](https://github.com/djpohly/dwl/compare/main...guidocella:unclutter.patch): Hide the mouse cursor if it isnt being used
* [vanitygaps](https://github.com/djpohly/dwl/compare/main...Sevz17:vanitygaps.patch): A slightly modified version of dwm's vanitygaps patch (rebased against main on 02/27/2020)
* [vertile](https://github.com/djpohly/dwl/compare/main...ChausseBenjamin:vertile.patch): A tiled layout optimized for wide vertical monitors
* [XF86keysym](https://github.com/djpohly/dwl/compare/main...917Wolf:vol.patch): 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.
### Other
* [alphafocus](https://github.com/djpohly/dwl/wiki/alphafocus)
* [autostart](https://github.com/djpohly/dwl/wiki/autostart)
* [env](https://github.com/djpohly/dwl/wiki/env)
* [floatBorderColor](https://github.com/djpohly/dwl/wiki/floatBorderColor)
* [hideBehindFullscreen](https://github.com/djpohly/dwl/wiki/hideBehindFullscreen)
* [makedesktop](https://github.com/djpohly/dwl/wiki/makedesktop)
* [outputPowerManagement](https://github.com/djpohly/dwl/wiki/outputPowerManagement)
* [pointerConstraints](https://github.com/djpohly/dwl/wiki/pointerConstraints)
* [privilegeDrop](https://github.com/djpohly/dwl/wiki/privilegeDrop)
* [smartborders](https://github.com/djpohly/dwl/wiki/smartborders)
* [swaycompat](https://github.com/djpohly/dwl/wiki/swaycompat)
* [vanitygaps](https://github.com/djpohly/dwl/wiki/vanitygaps)