-
Notifications
You must be signed in to change notification settings - Fork 1
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 copy-and-paste the following Markdown into the list below, replacing each all-caps placeholder with the appropriate information:
* [PATCHNAME](https://github.com/djpohly/dwl/compare/main...YOURUSERNAME:BRANCH.patch): SUMMARY
For a patch based on the wlroots-next
branch instead, simply change main
in the link above.
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.
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!
- [out of date] alpha: Add default transparency for windows, it also adds alpha to the ruleset for override the transparency
- alphafocus: Adds configurable transparency for focussed and unfocussed windows!
- alwayscenter: Center floating windows
- attachabove: Newly created windows are placed above the currently selected window in the stack
- attachbottom: Newly created windows are placed at the bottom of the client tile stack
- autostart: Adapted autostart patch from dwm
- autostart-wlroots-next: Adapted autostart patch from dwm
- bottomstack: A modification of the bottomstack patch for dwm so it works for dwl
- center-terminal: Add a keybinding that toggles centering Alacritty horizontally when it's the only window, while still tiling multiple windows
- cursortheme: Add ability to change cursor's theme and size
- cursor warp: 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: Rules for floating windows support default x, y, width, height. Defaults to the center of the screen and the client size
- cyclelayouts: Cycles through all available layouts (original dwm patch)
- dragmfact: Change mfact by dragging the mouse. EDIT CONFIG.H!
- fallback: Tries a different display mode if the preferred mode doesn't work (swaywm/sway@4cdc4ac).
- fibonacci: Arranges windows in a Fibonacci spiral or dwindle (original dwm patch) Thanks to Niki Yoshiuchi and my roommate.
- FloatBorderColor: Floating clients have their own border color. EDIT CONFIG.H!
- FocusMaster: Focus the master regardless of the current focus. EDIT CONFIG.H!
-
focusMonPointer:
focusmon()
moves the cursor to the focused monitor - gaplessgrid: Arranges windows in a grid. Except it adjusts the number of windows in the first few columns to avoid empty cells. (original dwm patch)
- gridmode: Arranges windows in a grid of equal sizes (original dwm patch)
- hide-behind-fullscreen: 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
- input: Input device configuration (click method, tap-and-drag, acceleration, etc') via environment variables.
- keycodes: 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: Support for
make install
andmake uninstall
, which also installs a .desktop file to start dwl from a display manager - master-on-right: Show the master area to the right
- monitor-config: Allows more monitor configuration in config.h
- movestack: Allows you to move a window up and down the stack
- numlock/capslock: Allows to activate numlock or capslock at startup
- output-power-management: 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: A very slightly modified version of dwm's pertag patch (updated version of https://github.com/djpohly/dwl/compare/main...Bonicgamer:pertag.patch)
- pointerConstraints: basic pointer constraints | Updated 30.6.2021 (Thanks to Bonicgamer for the implementation of pointer constraints) EDIT CONFIG.H!
- privilegeDrop: Adds the -u option that allows users to pass a desired uid to drop to after becoming DRM master
-
push: Adds functions
pushup
andpushdown
to move windows within the tiling order (original dwm patch) - restoreTiling: All floating windows become tiling when switching to a different layout (mod+t, mod+m...)
- right: Put newly connected monitors on the right, like X does.
- shiftview: Cycle through tags
- smartBorders: The borders of a window aren't drawn when is the only tiling window in its tag or is in a monocle layout.
- [out of date] swallow: Terminals swallow windows that they are the parent of (does not work with xwayland windows) | Updated: 9/2/2020
-
swaycompat: Implements just enough of the
sway-ipc
protocol to facilitate status bars. Tested withwaybar
androotbar
. - switchtotag: Adds a rule option to switch to the configured tag when a window opens, then switch back when it closes
- toggleKbLayout: Switch between multiple keyboard layouts at runtime
-
toggle-layout-immediately: configure a default "previous" layout for
setlayout({0})
to switch back to - unclutter: Hide the mouse cursor if it isn’t being used
- vanitygaps: A slightly modified version of dwm's vanitygaps patch (rebased against main on 02/27/2020)
- vertile: A tiled layout optimized for wide vertical monitors
- XF86keysym: Utilizing the /usr/include/X11/XF86keysym.h header file to change the volume via the appropriate keys.