Skip to content
Sevz edited this page Feb 27, 2022 · 108 revisions

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.

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!

  • 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 (Updated from guidocella's version to work on all monitors)
  • 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: Sevz17's adapted autostart patch from DWL
  • 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
  • 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)
  • fibonacci: Arranges windows in a Fibonacci spiral or dwindle (original dwm patch) Thanks to Niki Yoshiuchi and my roommate.
  • 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
  • hide-behind-monocle: Hide windows below in the monocle layout
  • 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 and make uninstall, which also installs a .desktop file to start dwl from a display manager
  • master-on-right: Show the master area to the right
  • movestack: Allows you to move a window up and down the stack
  • monitor-config: Allows more monitor configuration in config.h
  • 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)
  • privilegeDrop: Adds the -u option that allows users to pass a desired uid to drop to after becoming DRM master
  • push: Adds functions pushup and pushdown 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...)
  • 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 | Remade from scratch in 07/01/2021, thanks Stivvo for the original patch | Updated: 07/02/2021, thanks andrey_ for the fix | Updated: 10/05/2021.
  • swallow: Terminals swallow windows that they are the parent of (does not work with xwayland windows) | Updated: 9/2/2020
  • 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.
Clone this wiki locally