2023-09-22 18:08:42 +02:00
This dwm 6.4 (9f88553, 2023-09-22) side project has a different take on dwm patching. It uses preprocessor directives to decide whether or not to include a patch during build time. Essentially this means that this build, for better or worse, contains both the patched _and_ the original code. The aim being that you can select which patches to include and the build will contain that code and nothing more. Due to the complexity of some of the patches dwm-flexipatch has diverged from mainstream dwm by making some core patches non-optional for maintenance reasons. For the classic dwm-flexipatch build refer to branch [dwm-flexipatch-1.0 ](https://github.com/bakkeby/dwm-flexipatch/tree/dwm-flexipatch-1.0 ).
2019-09-05 00:32:39 +02:00
2020-04-02 08:43:00 +02:00
For example to include the `alpha` patch then you would only need to flip this setting from 0 to 1 in [patches.h ](https://github.com/bakkeby/dwm-flexipatch/blob/master/patches.def.h ):
2019-09-05 00:32:39 +02:00
```c
2020-07-15 08:57:30 +02:00
#define BAR_ALPHA_PATCH 1
2019-09-05 00:32:39 +02:00
```
2019-09-30 23:52:51 +02:00
So if you have ever been curious about trying out dwm, but have been discouraged by manual patching, then this may be a good starting point to see what a "fully fledged" dwm can look like. Want to try out the `pertag` patch? Just flip a config and recompile. Once you have found out what works for you and what doesn't then you should be in a better position to choose patches should you want to start patching from scratch.
2019-09-09 23:27:10 +02:00
2019-10-16 08:28:00 +02:00
Alternatively if you have found the patches you want, but don't want the rest of the flexipatch entanglement on your plate then you may want to have a look at [flexipatch-finalizer ](https://github.com/bakkeby/flexipatch-finalizer ); a custom pre-processor tool that removes all the unused flexipatch code leaving you with a build that contains the patches you selected.
2019-09-05 00:32:39 +02:00
Refer to [https://dwm.suckless.org/ ](https://dwm.suckless.org/ ) for details on the dwm window manager, how to install it and how it works.
2021-05-13 17:13:13 +02:00
If you are experiencing issues then you may want to check out the [Known Issues ](https://github.com/bakkeby/dwm-flexipatch/discussions/categories/known-issues ) discussion category.
2022-03-20 16:31:16 +01:00
Browsing patches? There is a [map of patches ](https://coggle.it/diagram/X9IiSSM6PTWOM9Wz ) diagram which tries to organise patches into categories.
2019-09-05 00:32:39 +02:00
---
### Changelog:
2023-06-27 17:24:36 +02:00
2023-06-27 - Added the focusfollowmouse and unmanaged patches
2023-06-27 16:07:13 +02:00
2023-06-25 22:52:50 +02:00
2023-06-25 - Added the toggletopbar patch
2023-01-18 21:58:32 +01:00
2023-01-18 - Added the view history patch
2022-10-08 22:12:03 +02:00
2022-10-08 - Added the alt-tab patch
2022-08-12 13:47:25 +02:00
2022-08-12 - Added the nametag patch
2022-08-02 10:58:10 +02:00
2022-08-02 - Added the bidi patch
2022-07-05 14:55:42 +02:00
2022-07-05 - Added the tagpreview patch
2022-07-04 14:07:17 +02:00
2022-07-04 - Added the shift-tools patch(es) with individual toggles
2022-06-20 14:00:09 +02:00
2022-06-20 - Added the renamed scratchpads patch
2022-06-17 14:36:20 +02:00
2022-06-17 - Ported the seamless restart feature from dusk into dwm-flexipatch
2022-02-11 17:00:44 +01:00
2022-02-11 - Added the isfreesize version of the sizehints patch and the [tagsync ](https://github.com/bakkeby/dwm-flexipatch/pull/219 ) patch (contributed by [Bagelli ](https://github.com/Bagellll ))
2022-02-11 10:10:28 +01:00
2021-11-23 22:49:27 +01:00
2021-11-23 - Added the taglabels and underlinetags patches
2021-11-23 22:36:53 +01:00
2021-09-08 09:42:47 +02:00
2021-09-08 - Added the alwayscenter patch
2021-07-27 13:40:53 +02:00
2021-07-27 - Added the winicon patch
2021-05-30 19:26:27 +02:00
2021-05-30 - Added togglelayout and toggletag patches
2021-05-30 19:22:00 +02:00
2021-04-16 10:16:04 +02:00
2021-04-16 - Vanitygaps: replaced smartgaps with smartgaps\_fact, allowing gaps to be disabled or increased when there is only one client.
2021-04-14 10:42:52 +02:00
2021-04-14 - Upgraded the dwmblocks patch for statuscmd which changes the signalling mechanism from SIGUSR1 to SIGRTMIN which is likely to cause issues for those that already have a working setup. A compatibility option has been added which changes this back to SIGUSR1. Note that configuration was also changed.
2021-04-08 11:58:24 +02:00
2021-04-07 - Added xkb patch
2021-04-06 12:47:38 +02:00
2021-04-06 - Added the distributetags patch
2021-04-04 10:49:25 +02:00
2021-04-04 - Added option for having different gaps on a per tag basis
2021-03-31 09:18:58 +02:00
2021-03-31 - Added tapresize patch (contributed by [verschmelzen ](https://github.com/verschmelzen ))
2021-03-29 19:33:05 +02:00
2021-03-29 - Removed alwaysfullscreen patch (merged into dwm 6.2)
2021-03-09 13:47:21 +01:00
2021-03-09 - Added the tab patch and the LG3D patch
2021-03-09 13:23:39 +01:00
2021-02-11 12:29:48 +01:00
2021-02-11 - Added the riodraw and focusdir patches
2021-02-11 12:01:08 +01:00
2021-01-22 11:28:55 +01:00
2021-01-22 - Added the placemouse patch
2021-01-02 01:26:21 +01:00
2021-01-02 - Added the Layoutmenu patch
2020-10-26 11:10:14 +01:00
2020-10-26 - Added the \_NET\_CLIENT\_LIST\_STACKING patch
2020-09-29 15:24:44 +02:00
2020-09-29 - Added the on\_empty\_keys patch (ported from InstantOS)
2020-09-28 14:39:17 +02:00
2020-09-28 - Added the \_IS\_FLOATING patch (embedded in the EWMHTAGS patch)
2020-09-18 10:53:07 +02:00
2020-09-18 - Added the nomodbuttons patch allowing for toggleable mouse button bindings that have no modifiers
2020-09-10 15:24:51 +02:00
2020-09-10 - Added the anybar patch (with experimental support for dwm bar(s) + anybar)
2020-09-10 13:32:28 +02:00
2020-09-09 17:24:02 +02:00
2020-09-09 - Added the bar border patch
2020-09-08 16:57:31 +02:00
2020-09-08 - Added ipc v1.5.5 patch
2020-09-07 - Scratchpads improvement (multi-monitor support)
2020-09-07 09:50:42 +02:00
2020-09-05 11:51:18 +02:00
2020-09-05 - Assortment of fullscreen improvements
2020-08-27 07:34:21 +02:00
2020-08-27 - Added aspectresize patch
2020-08-25 16:27:14 +02:00
2020-08-25 - Unified tag icon handling while adding support for different icons per monitor. Added alttagsdecoration patch.
2020-08-22 20:32:49 +02:00
2020-08-22 - Added logic to auto-hide bars if nothing is drawn on them (e.g. for standalone bars that only show certain clients). Added clientindicators patch and unified indicator code. Simplified Pango integration by settling on common function signatures.
2020-08-22 08:43:07 +02:00
2020-08-21 15:49:15 +02:00
2020-08-21 - Simplification of color configuration; settling on a set of color schemes that is shared between multiple patches (urgentborder, floatborder and titlecolor patches made non-optional)
2020-08-20 13:30:12 +02:00
2020-08-20 - Added experimental flexwintitle patch based on bartabgroups
2020-08-13 15:42:49 +02:00
2020-08-13 - Added bartabgroups patch
2020-08-11 - Added decoration hints and focusmaster patches
2020-08-11 10:17:02 +02:00
2020-08-10 17:09:20 +02:00
2020-08-10 - Added cool autostart, insets and steam patches
2020-08-10 10:22:21 +02:00
2020-08-02 15:18:18 +02:00
2020-08-02 - Added reorganizetags patch
2020-07-19 19:32:41 +02:00
2020-07-19 - Added barmodules patch - making extrabar, leftlayout, staticstatus and statusallmons patches redundant, added powerline patch
2020-07-19 05:01:38 +02:00
2020-07-18 21:35:03 +02:00
2020-07-18 - **Note** : Up until now building dwm-flexipath without any patches selected would have given you something more or less identical with mainstream dwm. In order to reduce complexity when it comes to maintainance future versions of dwm-flexipatch may diverge from this by making some patches non-optional. For the classic dwm-flexipatch and its many patch integration hints refer to branch [dwm-flexipatch-1.0 ](https://github.com/bakkeby/dwm-flexipatch/tree/dwm-flexipatch-1.0 ) which will be subject to bug fixes and mainstream dwm updates as far as feasible.
2020-07-05 21:56:46 +02:00
2020-07-05 - Extrabar compatibility improvements (staticstatus, status2d, dwmblocks) and fix for systray randomly causing dwm to crash when first systray application starts
2020-07-05 21:53:36 +02:00
2020-06-24 17:12:54 +02:00
2020-06-24 - Added resizepoint, statusbutton and sendmon_keepfocus patches
2020-06-24 14:49:30 +02:00
2020-06-21 20:04:56 +02:00
2020-06-21 - Added floatpos and bar_height patches
2020-06-21 15:33:29 +02:00
2020-06-19 23:18:50 +02:00
2020-06-19 - Added tagothermonitor patch
2020-06-15 21:01:05 +02:00
2020-06-15 - Added sizehints patch
2020-06-14 15:52:47 +02:00
2020-06-14 - Added RULE macro to replace rules setup making the default config less of an abomination and making it simpler to include new rules based patches
2020-06-11 19:42:00 +02:00
2020-06-11 - Added the pango patch
2020-06-10 11:52:35 +02:00
2020-06-10 - Added the staticstatus patch
2020-05-31 15:14:29 +02:00
2020-05-31 - Added the keymodes patch
2020-05-29 20:43:55 +02:00
2020-05-29 - Added the color emoji patch
2020-05-26 20:53:53 +02:00
2020-05-26 - Added the status2d patch (with alpha, systray, statuspadding and dwmblocks compatibility, no statuscolors or extrabar compatibility)
2020-05-21 19:58:11 +02:00
2020-05-21 - Added the moveplace and moveresize patches
2020-05-21 18:55:47 +02:00
2020-05-03 16:09:05 +02:00
2020-05-03 - Added the shiftviewclients patch and the no transparent borders patch which removes opacity from window borders when the alpha patch is not used
2020-05-03 10:09:26 +02:00
2020-05-02 14:43:44 +02:00
2020-05-02 - Added dwmblocks patch
2020-04-27 20:54:16 +02:00
2020-04-27 - Upgraded the tagmonfixfs patch to better support moving fullscreen windows to adjacent monitors
2020-04-26 16:26:36 +02:00
2020-04-26 - Expanded monitor rules patch to include nmaster, showbar and topbar options
2020-04-23 17:19:17 +02:00
2020-04-23 - Improved swallow and switchtag compatibility
2020-04-16 20:18:13 +02:00
2020-04-16 - Upgraded the scratchpad patch to the multiple scratchpads patch \[[ref ](https://lists.suckless.org/hackers/2004/17205.html )\]. Updated the statuscolors patch with the width computation fix \[[ref ](https://lists.suckless.org/hackers/2004/17207.html )\].
[dwm][PATCH] Multiple scratchpads
This patch enables multiple scratchpads, each with one assigned window.
This enables the same scratchpad workflow that you have in i3.
Scratchpads are implemented as special tags, whose mask does not
apply to new spawned windows. To assign a window to a scratchpad you
have to set up a rule, as you do with regular tags.
Windows tagged with scratchpad tags can be set floating or not in the
rules array. Most users would probably want them floating (i3 style),
but having them tiled does also perfectly work and might fit better the
DWM approach. In case they are set floating, the patch moves them to the
center of the screen whenever the are shown. The patch can easily be
modified to make this last feature configurable in the rules array (see
the center patch).
The togglescratch function, borrowed from the previous scratchpad patch
and slightly modified, can be used to spawn a registered scratchpad
process or toggle its view. This function looks for a window tagged on
the selected scratchpad. If it is found its view is toggled. If it is
not found the corresponding registered command is spawned. The
config.def.h shows three examples of its use to spawn a terminal in the
first scratchpad tag, a second terminal running ranger on the second
scratchpad tag and the keepassxc application to manage passwords on a
third scratchpad tag.
If you prefer to spawn your scratchpad applications from the startup
script, you might opt for binding keys to toggleview instead, as
scratchpads are just special tags (you may even extend the TAGKEYS macro
to generalize the key bindings).
2020-04-16 16:39:22 +02:00
2020-04-13 14:59:58 +02:00
2020-04-13 - Added statuscmd patch
2020-03-31 08:21:00 +02:00
2020-03-31 - Added the rounded corners patch
2020-03-27 20:46:54 +01:00
2020-03-27 - Revamped the dragmfact patch to support both horizontal and vertical layout splits as well as centered master variants
2020-03-25 15:15:47 +01:00
2020-03-25 - Added dragcfact patch
2020-03-23 12:15:50 +01:00
2020-03-23 - Added stacker patch
2020-03-22 19:51:09 +01:00
2020-03-21 - Reworked a series of layouts to re-allocate remaining pixels following an even (or cfacts) split with the aim of presenting a pixel perfect layout. This affects the following layouts: tile, bstack, bstackhoriz, centered master, centered floating master, columns, deck, and corresponding flextile-deluxe layouts
2020-02-11 18:31:11 +01:00
2020-02-11 - Added swaptags and vtcolor patches
2020-02-11 08:27:00 +01:00
2020-02-09 14:55:40 +01:00
2020-02-09 - Added alternative scratchpad patch
2020-02-02 11:55:19 +01:00
2020-02-02 - Added fsignal and transferall patches
2020-02-02 11:40:24 +01:00
2020-01-29 14:22:24 +01:00
2020-01-29 - Added swapfocus and shiftview patches
2020-01-29 08:31:00 +01:00
2020-01-26 07:32:00 +01:00
2020-01-26 - Added transfer patch
2020-01-24 20:41:08 +01:00
2020-01-24 - Added barpadding patch (incl. statusallmons, statuspadding, statuscolors, systray, alpha, holdbar and extrabar patch compatibility). Moved patches.h to patches.def.h to mimic the config pattern of having default and personal settings.
2020-01-24 10:47:13 +01:00
2020-01-17 09:54:23 +01:00
2020-01-17 - Added inplacerotate patch
2019-12-15 09:31:52 +01:00
2019-12-15 - Updated dragmfact patch to include fix patch to make it work with multiple monitors
2019-11-26 20:23:58 +01:00
2019-11-26 - Added dmenumatchtop patch, added improvements to the switchtag patch based on ideas from the switchtotag patch
2019-11-26 19:54:00 +01:00
2019-11-21 12:15:16 +01:00
2019-11-21 - Added fakefullscreenclient patch
2019-10-24 08:47:00 +02:00
2019-10-24 - Added dragmfact, extrabar, exresize and nodmenu patches
2019-10-24 06:52:00 +02:00
2019-10-22 19:08:00 +02:00
2019-10-22 - Added ispermanent and swallow patches
2019-10-22 18:30:00 +02:00
2019-10-16 08:28:00 +02:00
2019-10-16 - Introduced [flexipatch-finalizer ](https://github.com/bakkeby/flexipatch-finalizer )
2019-10-11 19:43:02 +02:00
2019-10-11 - Added the patch to ignore Xft errors when drawing text in the status bar
2020-10-04 21:19:54 +02:00
2019-10-10 - Added mpdcontrol, scratchpad and spawn_cwd cpatches
2019-10-10 23:09:07 +02:00
2019-10-08 23:15:11 +02:00
2019-10-08 - Added columns layout and fakefullscreen patch
2019-10-08 22:57:21 +02:00
2019-10-08 00:54:06 +02:00
2019-10-07 - Added sortscreens and dwmc patches, fixed minor cross-compatibility issues for combo, holdbar, leftlayout, hidevacanttags, taggrid and activetagindicatorbar
2019-10-07 22:56:53 +02:00
2019-10-07 00:46:23 +02:00
2019-10-06 - Added statuscolors and statusallmons patches, fixed minor cross-compatibility issues for killunsel, fullscreen, noborder, tagintostack patches
2019-10-06 23:43:51 +02:00
2019-10-05 23:56:43 +02:00
2019-10-05 - Added killunsel, taggrid, hidevacanttags and cmdcustomize patches
2019-10-05 22:55:46 +02:00
2019-10-05 00:12:52 +02:00
2019-10-04 - Added maximize, movestack, monoclesymbol, noborder, tagall and tagintostack patches
2019-10-04 22:46:47 +02:00
2019-10-04 00:20:47 +02:00
2019-10-03 - Added onlyquitonempty and switchcol patches
2019-10-03 22:58:58 +02:00
2019-10-03 00:10:08 +02:00
2019-10-02 - Added restartsig, emptyview, focusurgent and focusadjacenttag patches
2019-10-02 23:22:04 +02:00
2019-10-02 00:03:21 +02:00
2019-10-01 - Added leftlayout, fullscreen, holdbar and unfloatvisible patches
2019-10-01 22:46:24 +02:00
2019-09-30 23:52:51 +02:00
2019-09-30 - Replaced flextile with flextile-deluxe, refactored monitor rules to support predetermined layouts per tag
2019-09-16 00:32:28 +02:00
2019-09-15 - Added focusonclick, xrdb, viewontag, urgentborder and winview patches
2019-09-15 23:33:43 +02:00
2019-09-15 00:43:35 +02:00
2019-09-14 - Added setborderpx, selfrestart and push (no master variant), sticky and warp patches
2019-09-14 23:28:04 +02:00
2019-09-14 00:36:18 +02:00
2019-09-13 - Added titlecolor and push patches
2019-09-13 23:56:05 +02:00
2019-09-13 00:06:54 +02:00
2019-09-12 - Added activetagindicatorbar, alwaysfullscreen and autoresize patches
2019-09-12 00:48:29 +02:00
2019-09-11 - Added monitor rules, combo and ewmhtags patches
2019-09-11 08:28:00 +02:00
2019-09-11 00:51:37 +02:00
2019-09-10 - Minor tweaks to awesomebar patch (incl. alpha and systray compatibility). Added floatbordercolor patch.
2019-09-10 08:27:00 +02:00
2019-09-10 00:33:39 +02:00
2019-09-09 - Added deck, fibonacci (dwindle and spiral), gridmode, gapplessgrid, horizgrid, nrowgrid, centeredmaster and flextile layouts. Added alternativetags and awesomebar patches.
2019-09-09 18:50:05 +02:00
2019-09-09 00:18:47 +02:00
2019-09-08 - Added cfacts and vanitygaps patches, added bstack and bstackhoriz layouts
2019-09-08 00:23:30 +02:00
2019-09-07 - Added cyclelayouts, resizecorners, rotatestack, savefloats, statuspadding, switchtag, center and windowrolerule patches
2019-09-07 22:27:06 +02:00
2019-09-07 00:03:04 +02:00
2019-09-06 - Added attachabove, attachaside, attachbelow, attachbottom, autostart, fancybar, focusonnetactive and losefullscreen patches
2019-09-06 23:25:32 +02:00
2019-09-05 23:59:13 +02:00
2019-09-05 - Alpha, systray, togglefullscreen, tagallmon, tagmonfixfs, tagswapmon, pertag and zoomswap patches added
2019-09-05 00:32:39 +02:00
### Patches included:
2019-09-13 00:06:54 +02:00
- [activetagindicatorbar ](https://dwm.suckless.org/patches/activetagindicatorbar/ )
2021-05-30 19:22:00 +02:00
- this patch changes the rectangle indicating if a tag is used by a client into a bar above
the tag name
2019-09-13 00:06:54 +02:00
2019-09-05 00:32:39 +02:00
- [alpha ](https://dwm.suckless.org/patches/alpha/ )
- adds transparency for the status bar
2019-09-05 22:10:00 +02:00
2022-10-08 22:12:03 +02:00
- [alt-tab ](https://dwm.suckless.org/patches/alt-tab/ )
- adds a window task switcher toggled using alt-tab
2019-09-09 23:27:10 +02:00
- [alternativetags ](https://dwm.suckless.org/patches/alternativetags/ )
2021-05-30 19:22:00 +02:00
- adds alternative tags which can be toggled on the fly for the sole purpose of providing
visual aid
2019-09-09 23:27:10 +02:00
2020-08-25 16:27:14 +02:00
- [alttagsdecoration ](https://dwm.suckless.org/patches/alttagsdecoration/ )
- provides the ability to use alternative text for tags which contain at least one window
2021-09-08 09:42:47 +02:00
- [alwayscenter ](https://dwm.suckless.org/patches/alwayscenter/ )
- makes all floating windows centered, like the center patch, but without a rule
2021-03-29 19:33:05 +02:00
- [~alwaysfullscreen~ ](https://dwm.suckless.org/patches/alwaysfullscreen/ )
- ~prevents the focus to drift from the active fullscreen client when using focusstack\(\)~
2019-09-13 00:06:54 +02:00
2020-09-10 13:32:28 +02:00
- [anybar ](https://dwm.suckless.org/patches/anybar/ )
- enables dwm to manage external status bars such as lemonbar and polybar
2021-05-30 19:22:00 +02:00
- dwm treats the external bar as it would its own, so all regular dwm commands such as
togglebar affect the external bar in the same way
2020-09-10 13:32:28 +02:00
2020-08-27 07:34:21 +02:00
- [aspectresize ](https://dwm.suckless.org/patches/aspectresize/ )
- allows windows to be resized with its aspect ratio remaining constant
2019-09-06 23:25:32 +02:00
- [attachabove ](https://dwm.suckless.org/patches/attachabove/ )
- new windows are placed above selected client
- [attachaside ](https://dwm.suckless.org/patches/attachaside/ )
- new windows are placed on top of the stack
- [attachbelow ](https://dwm.suckless.org/patches/attachbelow/ )
- new windows are placed below selected client
- [attachbottom ](https://dwm.suckless.org/patches/attachbottom/ )
- new windows are placed at the bottom of the stack
2019-09-13 00:06:54 +02:00
- [autoresize ](https://dwm.suckless.org/patches/autoresize/ )
2021-05-30 19:22:00 +02:00
- by default, windows that are not visible when requesting a resize/move will not get
resized/moved, with this patch, however, they will
2019-09-13 00:06:54 +02:00
2019-09-06 23:37:30 +02:00
- [autostart ](https://dwm.suckless.org/patches/autostart/ )
- makes dwm run `~/.dwm/autostart_blocking.sh` and `~/.dwm/autostart.sh &` on startup
2019-09-10 00:33:39 +02:00
- [awesomebar ](https://dwm.suckless.org/patches/awesomebar/ )
2021-05-30 19:22:00 +02:00
- enhanced taskbar that allows focus / hiding / unhiding of windows by clicking on the status
bar
2019-09-10 00:33:39 +02:00
2020-09-09 17:24:02 +02:00
- [bar_border ](https://codemadness.org/paste/dwm-border-bar.patch )
- adds a border around the bar similarly to how client windows have borders
2020-06-21 20:04:56 +02:00
- [bar_height ](https://dwm.suckless.org/patches/bar_height/ )
- allows the bar height to be explicitly set rather than being derived from font
2020-07-22 18:38:56 +02:00
- [barmodules ](https://github.com/bakkeby/patches/wiki/barmodules/ )
2021-05-30 19:22:00 +02:00
- splits the dwm bar into modules allowing for re-arrangement of the bar and easier
integration for new features
2020-07-19 05:01:38 +02:00
2020-01-24 10:47:13 +01:00
- [barpadding ](https://dwm.suckless.org/patches/barpadding/ )
- adds vertical and horizontal space between the statusbar and the edge of the screen
2020-08-13 15:42:49 +02:00
- [bartabgroups ](https://dwm.suckless.org/patches/bartabgroups/ )
- turns the titlebar area into a mfact-respecting tab-bar showing each client's title
2022-08-02 10:58:10 +02:00
- [bidi ](https://dwm.suckless.org/patches/bidi/ )
- adds proper support for Right-To-Left (RTL) languages (such as Farsi, Arabic or Hebrew)
2019-09-08 00:23:30 +02:00
- [center ](https://dwm.suckless.org/patches/center/ )
- adds an iscentered rule to automatically center clients on the current monitor
2019-09-09 00:18:47 +02:00
- [cfacts ](https://dwm.suckless.org/patches/cfacts/ )
2021-05-30 19:22:00 +02:00
- the cfacts patch provides the ability to assign different weights to clients in their
respective stack in tiled layout
2019-09-09 00:18:47 +02:00
2020-08-22 16:25:56 +02:00
- [clientindicators ](https://dwm.suckless.org/patches/clientindicators/ )
2020-08-22 20:34:17 +02:00
- draws a dot indicator overlayed on each tag icon for each client
2020-08-22 16:25:56 +02:00
- the selected client is drawn as a larger horizontal line
2019-10-05 23:56:43 +02:00
- [cmdcustomize ](https://dwm.suckless.org/patches/cmdcustomize/ )
- allows color attributes to be set through the command line
2020-08-27 21:05:59 +02:00
- [colorbar ](https://dwm.suckless.org/patches/colorbar/ )
- lets you change the foreground and background color of every statusbar element
2022-10-06 14:44:11 +02:00
- ~color_emoji~
- ~enables color emoji in dmenu by removing a workaround for a BadLength error in the Xft~
~library when color glyphs are used~
- ~enabling this will crash dwm on encountering such glyphs unless you also have an updated~
~Xft library that can handle them~
2020-05-29 20:43:55 +02:00
2019-09-11 23:35:43 +02:00
- [combo ](https://dwm.suckless.org/patches/combo/ )
2021-05-30 19:22:00 +02:00
- allows you to select multiple tags by pressing all the right keys as a combo, e.g. hold MOD
and press and hold 1 and 3 together to view those two tags
2019-09-11 23:35:43 +02:00
2020-08-10 10:22:21 +02:00
- [cool_autostart ](https://dwm.suckless.org/patches/cool_autostart/ )
- allows dwm to execute commands from an array in the config.h file
- when dwm exits all processes from the autostart array will be killed automatically
2019-09-07 22:27:06 +02:00
- [cyclelayouts ](https://dwm.suckless.org/patches/cyclelayouts/ )
2019-09-07 23:29:37 +02:00
- lets you cycle through all your layouts
2019-09-07 22:27:06 +02:00
2020-08-11 10:17:02 +02:00
- [decoration_hints ](https://dwm.suckless.org/patches/decoration_hints/ )
2021-05-30 19:22:00 +02:00
- make dwm respect \_MOTIF\_WM\_HINTS property, and not draw borders around windows
requesting for it
- some applications use this property to notify window managers to not draw window
decorations
- not respecting this property leads to issues with applications that draw their own borders,
like chromium (with "Use system title bar and borders" turned off) or vlc in fullscreen mode
2020-08-11 10:17:02 +02:00
2021-04-06 12:47:38 +02:00
- [distributetags ](https://dwm.suckless.org/patches/reorganizetags/ )
2021-05-30 19:22:00 +02:00
- this reorganisetags variant re-distributes all clients on the current monitor evenly across
all tags
2021-04-06 12:47:38 +02:00
2019-11-26 19:54:00 +01:00
- [dmenumatchtop ](https://dwm.suckless.org/patches/dmenumatchtop )
- updates the position of dmenu to match that of the bar
2021-05-30 19:22:00 +02:00
- i.e. if topbar is 0 then dmenu will appear at the bottom and if 1 then dmenu will appear at
the top
2019-11-26 19:54:00 +01:00
2020-07-22 18:38:56 +02:00
- [dragcfact ](https://github.com/bakkeby/patches/wiki/dragcfact/ )
2021-05-30 19:22:00 +02:00
- lets you resize clients' size (i.e. modify cfact) by holding modkey + shift + right-click
and dragging the mouse
2020-03-25 15:15:47 +01:00
2020-07-22 18:38:56 +02:00
- [dragmfact ](https://github.com/bakkeby/patches/wiki/dragmfact/ )
2021-05-30 19:22:00 +02:00
- lets you resize the split in layouts (i.e. modify mfact) by holding the modkey + shift
+ left-click and dragging the mouse
- this is a bespoke patch that supports vertical and horizontal layout splits as well as
centered master variants
2019-10-24 06:52:00 +02:00
2020-05-02 14:43:44 +02:00
- [dwmblocks ](https://gist.github.com/danbyl/54f7c1d57fc6507242a95b71c3d8fdea )
- signal integration to use dwm with a patched [dwmblocks ](https://github.com/torrinfail/dwmblocks )
- combined with the statuscmd patch this gives a clickable statusbar
2019-10-07 23:34:23 +02:00
- [dwmc ](http://dwm.suckless.org/patches/dwmc/ )
- a simple dwmc client using a fork of fsignal to communicate with dwm
2019-10-02 23:22:04 +02:00
- [emptyview ](https://dwm.suckless.org/patches/emptyview/ )
- allows no tag at all to be selected
2021-05-30 19:22:00 +02:00
- dwm will start with no tag selected and when a client with no tag rule is started and no
tag is selected then it will be opened on the first tag
2019-10-02 23:22:04 +02:00
2019-09-12 00:48:29 +02:00
- [ewmhtags ](https://dwm.suckless.org/patches/ewmhtags/ )
2021-05-30 19:22:00 +02:00
- adds EWMH support for \_NET_NUMBER_OF_DESKTOPS, \_NET_CURRENT_DESKTOP, \_NET_DESKTOP_NAMES
and \_NET_DESKTOP_VIEWPORT, which allows for compatibility with other bars and programs
that request workspace information, e.g. polybar's xworkspaces module
2019-09-12 00:48:29 +02:00
2019-10-24 08:47:00 +02:00
- [exresize ](https://dwm.suckless.org/patches/exresize/ )
2021-05-30 19:22:00 +02:00
- this patch allows the user to change size and placement of floating windows using only the
keyboard
- it also allows for temporary vertical and horizontal extension of windows similar to other
WMs fill command
2019-10-24 08:47:00 +02:00
2020-07-19 17:01:52 +02:00
- [~extrabar~ ](https://dwm.suckless.org/patches/extrabar/ )
- ~enables an extra status bar in dwm in a similar manner to the dualstatus patch~
2021-05-30 19:22:00 +02:00
- ~if the primary status is at the top via topbar then the extra status bar will be placed at
the bottom and vice versa~
2020-07-19 05:01:38 +02:00
- extrastatus
- formerly extrabar - now only splits the status into to statuses by using a status separator
2019-10-24 07:35:00 +02:00
2019-10-08 23:15:11 +02:00
- [fakefullscreen ](https://dwm.suckless.org/patches/fakefullscreen/ )
- only allow clients to "fullscreen" into the space currently given to them
2021-05-30 19:22:00 +02:00
- as an example, this will allow you to view a fullscreen video in your browser on one half
of the screen, while having the other half available for other tasks
2019-10-08 23:15:11 +02:00
2020-07-22 18:53:15 +02:00
- [fakefullscreenclient ](https://github.com/bakkeby/patches/wiki/fakefullscreenclient/ )
2021-05-30 19:22:00 +02:00
- similarly to the fakefullscreen patch this patch only allows clients to "fullscreen" into
the space currently given to them
- as an example, this will allow you to view a fullscreen video in your browser on one half
of the screen, while having the other half available for other tasks
- the "twist" with this patch is that fake fullscreen can be toggled on a per client basis
rather than applying to all clients globally
2019-11-21 12:15:16 +01:00
2019-09-06 23:47:06 +02:00
- [fancybar ](https://dwm.suckless.org/patches/fancybar/ )
- shows the titles of all visible windows in the status bar
2020-08-20 13:30:12 +02:00
- flexwintitle
2021-05-30 19:22:00 +02:00
- based on the bartabgroups patch, this is a layout aware barmodules module for handling
window titles intended to be used with flextile-deluxe
2020-08-20 13:30:12 +02:00
2020-08-21 15:49:15 +02:00
- [~floatbordercolor~ ](https://dwm.suckless.org/patches/float_border_color/ )
- ~this patch allows a different border color to be chosen for floating windows~
2019-09-11 00:51:37 +02:00
2020-07-22 18:38:56 +02:00
- [floatpos ](https://github.com/bakkeby/patches/wiki/floatpos/ )
2020-06-21 15:33:29 +02:00
- adds a float rule allowing the size and position of floating windows to be specified
2021-05-30 19:22:00 +02:00
- control the size and position of floating windows similar to exresize, moveresize,
moveplace patches
2020-06-21 15:33:29 +02:00
- specify size and position using absolute, relative or fixed co-ordinates or
- position floating windows in a grid-like manner
2019-10-02 23:57:25 +02:00
- [focusadjacenttag ](https://dwm.suckless.org/patches/focusadjacenttag/ )
2021-05-30 19:22:00 +02:00
- provides the ability to focus the tag on the immediate left or right of the currently
focused tag
2019-10-02 23:57:25 +02:00
- it also allows to send the focused window either on the left or the right tag
2021-02-11 12:29:48 +01:00
- [focusdir ](https://github.com/bakkeby/patches/wiki/focusdir )
2021-05-30 19:22:00 +02:00
- allows focusing on clients based on direction (up, down, left, right) instead of client
order
2021-02-11 12:29:48 +01:00
2023-06-27 16:07:13 +02:00
- [focusfollowmouse ](https://github.com/bakkeby/patches/wiki/focusfollowmouse )
- the window under the mouse cursor will receive focus when changing tags, closing windows or
moving client out of view (as opposed to the most recently focused client)
2020-08-11 10:25:19 +02:00
- [focusmaster ](https://dwm.suckless.org/patches/focusmaster/ )
- a simple patch that just puts focus back to the master client
2019-09-16 00:32:28 +02:00
- [focusonclick ](https://dwm.suckless.org/patches/focusonclick/ )
2021-05-30 19:22:00 +02:00
- this patch makes you switch focus only by mouse click and not sloppy (focus follows mouse
pointer)
2019-09-16 00:32:28 +02:00
2019-09-07 00:03:04 +02:00
- [focusonnetactive ](https://dwm.suckless.org/patches/focusonnetactive/ )
2021-05-30 19:22:00 +02:00
- by default, dwm responds to \_NET_ACTIVE_WINDOW client messages by setting the urgency bit
on the named window
2019-09-07 00:03:04 +02:00
- this patch activates the window instead
2019-10-03 00:10:08 +02:00
- [focusurgent ](https://dwm.suckless.org/patches/focusurgent/ )
2021-05-30 19:22:00 +02:00
- adds a keyboard shortcut to select the next window having the urgent flag regardless of the
tag it is on
2019-10-03 00:10:08 +02:00
2020-02-02 11:40:24 +01:00
- [fsignal ](https://dwm.suckless.org/patches/fsignal/ )
- send "fake signals" to dwm for handling, using xsetroot
- this will not conflict with the status bar, which also is managed using xsetroot
2019-10-02 00:03:21 +02:00
- [fullscreen ](https://dwm.suckless.org/patches/fullscreen/ )
- applies the monocle layout with the focused client on top and hides the bar
2021-05-30 19:22:00 +02:00
- when pressed again it shows the bar and restores the layout that was active before going
fullscreen
2019-10-02 00:03:21 +02:00
2019-10-05 23:44:18 +02:00
- [hidevacanttags ](https://dwm.suckless.org/patches/hide_vacant_tags/ )
- prevents dwm from drawing tags with no clients (i.e. vacant) on the bar
2019-10-02 00:03:21 +02:00
- [holdbar ](http://dwm.suckless.org/patches/holdbar/ )
- with this patch dwm's built-in status bar is only shown when HOLDKEY is pressed
- additionally the bar will now overlay the display
2019-10-11 19:43:02 +02:00
- [ignore-xft-errors-when-drawing-text ](https://groups.google.com/forum/m/#!topic/wmii/7bncCahYIww )
- sometimes dwm crashes when it cannot render some glyphs in window titles (usually emoji)
2021-05-30 19:22:00 +02:00
- this patch is essentially a hack to ignore any errors when drawing text on the status bar
and may be removed if a more appropriate solution comes up
2019-10-11 19:43:02 +02:00
2020-01-17 09:54:23 +01:00
- [inplacerotate ](https://dwm.suckless.org/patches/inplacerotate/ )
- allows rotation of all clients in the master or stack area without affecting the other area
2020-08-10 12:32:58 +02:00
- [insets ](https://dwm.suckless.org/patches/insets/ )
- lets custom insets from each edge of the screen to be defined
- an example use case would be to make space for an external bar
2020-09-07 17:48:58 +02:00
- [ipc ](https://github.com/mihirlad55/dwm-ipc )
- implements inter-process communication through a UNIX socket for dwm
2021-05-30 19:22:00 +02:00
- allows for the window manager to be queried for information, e.g. listen for events such as
tag or layout changes, as well as send commands to control the window manager via other
programs
2020-09-07 17:48:58 +02:00
2020-09-28 14:39:17 +02:00
- [\_IS\_FLOATING ](https://github.com/bakkeby/dwm-flexipatch/issues/50 )
- adds the \_IS\_FLOATING xproperty for floating windows
2021-05-30 19:22:00 +02:00
- this can allow for a compositor to handle floating windows differently to tiled windows,
e.g. only show shadows on floating windows
2020-09-28 14:39:17 +02:00
- this patch is enabled via the ewmhtags patch
2019-10-22 18:30:00 +02:00
- [ispermanent ](https://dwm.suckless.org/patches/ispermanent/ )
2021-05-30 19:22:00 +02:00
- adds rule option for clients to avoid accidental termination by killclient for sticky
windows
2019-10-22 18:30:00 +02:00
2020-05-31 15:14:29 +02:00
- [keymodes ](https://dwm.suckless.org/patches/keymodes/ )
2021-05-30 19:22:00 +02:00
- this patch adds key modes (like in vim or emacs) where chains of keyboard shortcuts can be
performed
2020-05-31 15:14:29 +02:00
2021-11-23 22:49:27 +01:00
- [killunsel ](https://dwm.suckless.org/patches/killunsel/ )
- kills all visible clients that are not selected (only the selected client will remain)
2020-07-19 17:01:52 +02:00
- [~leftlayout~ ](http://dwm.suckless.org/patches/leftlayout/ )
- ~moves the layout symbol in the status bar to the left hand side~
2019-10-01 22:46:24 +02:00
2021-03-09 13:47:21 +01:00
- LG3D
2021-05-30 19:22:00 +02:00
- changes the window manager name to "LG3d" instead of "dwm" as a workaround for Java
applications that assume that the window manager is using window reparenting
2021-03-09 13:47:21 +01:00
- refer to the ISSUES secton of the dwm man page for more details
2020-07-22 18:38:56 +02:00
- [losefullscreen ](https://github.com/bakkeby/patches/wiki/losefullscreen/ )
2021-05-30 19:22:00 +02:00
- by default in dwm it is possible to make an application fullscreen, then use the focusstack
keybindings to focus on other windows beneath the current window
- it is also possible to spawn new windows (e.g. a terminal) that end up getting focus while
the previous window remains in fullscreen
2019-09-07 00:03:04 +02:00
- this patch ensures that in such scenarios the previous window loses fullscreen
2019-10-04 22:46:47 +02:00
- [maximize ](https://dwm.suckless.org/patches/maximize/ )
2021-05-30 19:22:00 +02:00
- adds helper functions for maximizing, horizontally and vertically, floating windows using
keybindings
2019-10-04 22:46:47 +02:00
2020-10-04 21:19:54 +02:00
- [mpdcontrol ](https://dwm.suckless.org/patches/mpdcontrol/ )
2019-10-10 23:09:07 +02:00
- adds keyboard bindings to control MDP (Music Player Daemon)
2020-07-22 18:38:56 +02:00
- [monitorrules ](https://github.com/bakkeby/patches/wiki/monitorrules/ )
2019-09-11 08:28:00 +02:00
- adds rules per monitor, e.g. have default layouts per monitor
2021-05-30 19:22:00 +02:00
- the use case for this is if the second monitor is vertical (i.e. rotated) then you may want
to use a different default layout for this monitor than what is used for the main monitor
(for example normal vertical split for main monitor and horizontal split for the second)
2019-09-11 08:28:00 +02:00
2019-10-04 22:51:42 +02:00
- [monoclesymbol ](https://dwm.suckless.org/patches/monoclesymbol/ )
2021-05-30 19:22:00 +02:00
- always display the the monocle-symbol as defined in config.h if the monocle-layout is
activated
2019-10-04 22:51:42 +02:00
- do not display the number of open clients in the current tag
2020-05-21 18:55:47 +02:00
- [moveresize ](https://dwm.suckless.org/patches/moveresize/ )
- allows you to move and resize dwm's clients using keyboard bindings
2019-10-04 23:13:55 +02:00
- [movestack ](https://dwm.suckless.org/patches/movestack/ )
- allows you to move clients around in the stack and swap them with the master
2022-08-12 13:47:25 +02:00
- [nametag ](https://dwm.suckless.org/patches/nametag/ )
- allows the names of tags to be changed during runtime
2020-10-26 11:10:14 +01:00
- [netclientliststacking ](https://github.com/bakkeby/patches/wiki/netclientliststacking )
2021-05-30 19:22:00 +02:00
- adds support for the \_NET\_CLIENT\_LIST\_STACKING atom, needed by certain applications
like the Zoom video conferencing application
2020-10-26 11:10:14 +01:00
2019-10-04 23:39:01 +02:00
- [noborder ](https://dwm.suckless.org/patches/noborder/ )
- removes the border when there is only one window visible
2022-10-30 10:32:43 +01:00
- [nodmenu ](https://git.suckless.org/sites/commit/ed68e3629de4ef2ca2d3f8893a79fb570b4c0cbc.html )
- enable modifying dmenu in config.def.h which resulted previously in a compilation error
because two lines of code hardcode dmenu into dwm
- allows complete removal of dmenu, should you want to do that
- NB: this patch was removed from the patches listing on the suckless page due to it's simplicity
2019-10-24 08:03:00 +02:00
2020-09-18 10:53:07 +02:00
- nomodbuttons
- allows for toggleable client button bindings that have no modifiers
2021-05-30 19:22:00 +02:00
- this can, for example, allow you to move or resize using the mouse alone without holding
down a modifier key, which can be practical if you have extra buttons on your mouse
2020-09-18 10:53:07 +02:00
2022-08-29 21:49:41 +02:00
- [no\_transparent\_borders ](https://github.com/szatanjl/dwm/commit/1529909466206016f2101457bbf37c67195714c8 )
2020-05-03 10:09:26 +02:00
- when terminals have transparency then their borders also become transparent
- this patch ensures that borders have no transparency
- note that this patch is only relevant if you are not using the alpha patch
2020-09-29 15:24:44 +02:00
- [on\_empty\_keys ](https://github.com/bakkeby/dwm-flexipatch/issues/51 )
2021-05-30 19:22:00 +02:00
- port of InstantVM's on_empty_keys functionality allowing keybindings that apply only when a
tag/view is empty
- an example use case is being able to launch applications with first hand keys like "f" to
launch firefox
2020-09-29 15:24:44 +02:00
2019-10-03 22:58:58 +02:00
- [onlyquitonempty ](https://dwm.suckless.org/patches/onlyquitonempty/ )
2021-05-30 19:22:00 +02:00
- makes it so dwm will only exit via quit() if no windows are open (in order to prevent
accidental loss of work)
2019-10-03 22:58:58 +02:00
2020-06-11 19:42:00 +02:00
- [pango ](https://dwm.suckless.org/patches/pango/ )
- adds simple markup for status messages using pango markup
2019-09-05 22:58:16 +02:00
- [pertag ](https://dwm.suckless.org/patches/pertag/ )
- adds nmaster, mfact, layouts and more per tag rather than per monitor
2021-01-22 11:28:55 +01:00
- [placemouse ](https://github.com/bakkeby/patches/wiki/placemouse )
- lets the user change the position of a client in the stack using the mouse.
2020-07-19 16:57:30 +02:00
- [powerline ](https://gitlab.com/udiboy1209-suckless/dwm/-/commit/071f5063e8ac4280666828179f92788d893eea40#4b1a539194be7467cefbda22f675a3b7c19ceca7 )
- adds drawing of powerline arrows (and diagonal lines) for both the status bar and the tags
2019-09-14 00:36:18 +02:00
- [push ](https://dwm.suckless.org/patches/push/ )
- this patch provides a way to move clients up and down inside the client list
2022-06-20 14:00:09 +02:00
- [renamed_scratchpads ](https://github.com/bakkeby/patches/wiki/renamedscratchpads )
- variant of the [named scratchpads ](https://dwm.suckless.org/patches/namedscratchpads/ ) patch
2020-08-02 15:18:18 +02:00
- [reorganizetags ](https://dwm.suckless.org/patches/reorganizetags/ )
- shifts all clients per tag to leftmost unoccupied tags
2021-05-30 19:22:00 +02:00
- e.g. if clients A, B, C are tagged on tags 1, 5, 9 respectively, when reorganized they will
now be on tag 1, 2, and 3
2020-08-02 15:18:18 +02:00
2019-09-07 22:35:37 +02:00
- [resizecorners ](https://dwm.suckless.org/patches/resizecorners/ )
- by default, windows only resize from the bottom right corner
- with this patch the mouse is warped to the nearest corner and you resize from there
2020-07-22 18:38:56 +02:00
- [resizepoint ](https://github.com/bakkeby/patches/wiki/resizepoint/ )
2021-05-30 19:22:00 +02:00
- practically the same as resizecorners, but the cursor does not warp to any of the window
corners
2020-06-24 14:49:30 +02:00
2019-10-02 23:22:04 +02:00
- [restartsig ](https://dwm.suckless.org/patches/restartsig/ )
- adds a keyboard shortcut to restart dwm or alternatively by using kill -HUP dwmpid
- additionally dwm can quit cleanly by using kill -TERM dwmpid
2021-02-16 10:31:04 +01:00
- [riodraw ](https://github.com/bakkeby/patches/wiki/riodraw/ )
2021-05-30 19:22:00 +02:00
- adds rio-like drawing to spawn new windows or to resize the selected client (ported from
instantWM)
2021-02-11 12:01:08 +01:00
- depends on an external tool slop being installed
2019-09-07 22:42:01 +02:00
- [rotatestack ](https://dwm.suckless.org/patches/rotatestack/ )
- let's you rotate through the stack using keyboard shortcuts
2023-05-22 10:03:06 +02:00
- [roundedcorners ](https://github.com/mitchweaver/suckless/blob/master/dwm/inactive/mitch-06-rounded_corners-f04cac6d6e39cd9e3fc4fae526e3d1e8df5e34b2.patch )
2020-03-31 08:21:00 +02:00
- adds rounded corners to client windows
2019-09-07 23:08:53 +02:00
- [savefloats ](https://dwm.suckless.org/patches/save_floats/ )
- saves size and position of every floating window before it is forced into tiled mode
- if the window is made floating again then the old dimensions will be restored
2019-10-10 23:33:04 +02:00
- [scratchpad ](https://dwm.suckless.org/patches/scratchpad/ )
- the scratchpad patch allows you to spawn or restore a floating terminal window
2022-08-29 21:49:41 +02:00
- [scratchpad\_alt\_1 ](https://github.com/GasparVardanyan/dwm-scratchpad )
2021-05-30 19:22:00 +02:00
- this alternative patch enables a scratchpad feature in dwm similar to the scratchpad
feature in i3wm
2020-02-09 14:55:40 +01:00
2022-08-29 21:49:41 +02:00
- seamless\_restart
2022-06-17 14:36:20 +02:00
- allows for selected layout, assigned tags, etc. to be persisted across restarts
2019-09-14 23:58:04 +02:00
- [selfrestart ](https://dwm.suckless.org/patches/selfrestart/ )
- restart dwm without the unnecessary dependency of an external script
2022-08-29 21:49:41 +02:00
- [sendmon\_keepfocus ](https://github.com/bakkeby/patches/wiki/sendmon_keepfocus/ )
2020-06-24 17:12:54 +02:00
- minor patch that allow clients to keep focus when being sent to another monitor
2020-09-21 01:14:34 +02:00
- [setborderpx ](https://dwm.suckless.org/patches/setborderpx/ )
2019-09-14 23:28:04 +02:00
- this patch allows border pixels to be changed during runtime
2022-07-04 14:07:17 +02:00
- [shift-tools ](https://dwm.suckless.org/patches/shift-tools/ )
- a group of functions that shift clients or views left or right
2020-01-29 14:22:24 +01:00
- [shiftview ](https://github.com/chau-bao-long/dotfiles/blob/master/suckless/dwm/shiftview.diff )
- adds keybindings for left and right circular shift through tags
- also see focusadjacenttag
2020-07-22 18:38:56 +02:00
- [shiftviewclients ](https://github.com/bakkeby/patches/wiki/shiftviewclients/ )
- variant of the shiftview patch which skips tags that have no clients
2020-05-03 16:09:05 +02:00
2020-06-15 21:01:05 +02:00
- [sizehints ](https://dwm.suckless.org/patches/sizehints/ )
- makes dwm obey even "soft" sizehints for new clients
2019-10-07 22:56:53 +02:00
- [sortscreens ](https://www.mail-archive.com/hackers@suckless.org/msg09400.html )
2021-05-30 19:22:00 +02:00
- this patch aims to address some inconsistencies when it comes to focusmon, tagmon and
similar functionality by explicitly sorting screens left to right (or top to bottom in a
vertical layout)
2019-10-07 22:56:53 +02:00
2022-08-29 21:49:41 +02:00
- [spawn\_cwd ](https://dwm.suckless.org/patches/spawn_cwd/ )
2019-10-10 23:50:30 +02:00
- spawns programs from currently focused client's working directory
2020-03-23 12:15:50 +01:00
- [stacker ](https://dwm.suckless.org/patches/stacker/ )
- provides comprehensive utilities for managing the client stack
2021-10-07 11:46:31 +02:00
- [staticstatus ](https://dwm.suckless.org/patches/staticstatus/ )
- allows the status text to be fixed to the bar on a specific monitor rather than being
drawn on the focused monitor
2020-06-10 11:52:35 +02:00
2020-05-26 20:53:53 +02:00
- [status2d ](https://dwm.suckless.org/patches/status2d/ )
- allows colors and rectangle drawing in the dwm status bar
2020-04-13 14:59:58 +02:00
2021-10-07 11:46:31 +02:00
- [statusallmons ](https://dwm.suckless.org/patches/statuspadding/ )
- this patch draws and updates the statusbar on all monitors
2019-10-06 23:43:51 +02:00
2020-06-24 16:36:51 +02:00
- [statusbutton ](https://dwm.suckless.org/patches/statusbutton/ )
- adds a clickable button to the left hand side of the statusbar
- [statuscmd ](https://dwm.suckless.org/patches/statuscmd/ )
2021-05-30 19:22:00 +02:00
- adds the ability to execute shell commands based on the mouse button and position when
clicking the status bar
2020-06-24 16:36:51 +02:00
2019-10-07 00:46:23 +02:00
- [statuscolors ](https://dwm.suckless.org/patches/statuscolors/ )
2021-05-30 19:22:00 +02:00
- enables colored text in the status bar allowing multiple color combinations for use in the
status script
2019-10-07 00:46:23 +02:00
2019-09-07 23:29:37 +02:00
- [statuspadding ](https://dwm.suckless.org/patches/statuspadding/ )
- adds configuration options for horizontal and vertical padding in the status bar
2020-08-10 17:09:20 +02:00
- [steam ](https://github.com/bakkeby/patches/wiki/steam )
2021-05-30 19:22:00 +02:00
- a minor patch that works around the issue of floating Steam windows jumping around the
screen when they receive focus
2020-08-10 17:09:20 +02:00
2019-09-15 00:43:35 +02:00
- [sticky ](https://dwm.suckless.org/patches/sticky/ )
- adds toggleable keyboard shortcut to make a client 'sticky', i.e. visible on all tags
2019-09-05 23:19:23 +02:00
2019-10-22 19:08:00 +02:00
- [swallow ](https://dwm.suckless.org/patches/swallow/ )
- this patch adds "window swallowing" to dwm as known from Plan 9's windowing system rio
2021-05-30 19:22:00 +02:00
- clients marked with isterminal in config.h swallow a window opened by any child process,
e.g. running xclock in a terminal
2019-10-22 19:08:00 +02:00
- closing the xclock window restores the terminal window in the current position
2020-01-29 08:31:00 +01:00
- [swapfocus ](https://dwm.suckless.org/patches/swapfocus/ )
2021-05-30 19:22:00 +02:00
- this patch depends on the pertag patch and makes it possible to switch focus with a single
shortcut (mod-s) instead of having to think if you should use mod-j or mod-k for reaching
the previously used window
2020-01-29 08:31:00 +01:00
2020-02-11 08:27:00 +01:00
- [swaptags ](https://dwm.suckless.org/patches/swaptags/ )
2021-05-30 19:22:00 +02:00
- allows swapping the contents of the currently selected tag with another tag by using
keyboard shortcuts
2020-02-11 08:27:00 +01:00
2019-10-04 00:20:47 +02:00
- [switchcol ](https://dwm.suckless.org/patches/switchcol/ )
- allows you to switch focus between the master and stack columns using a single keybinding
2020-07-22 18:38:56 +02:00
- [switchtag ](https://github.com/bakkeby/patches/wiki/switchtag/ )
2021-05-30 19:22:00 +02:00
- when an application opens on a specific tab this patch adds the option to also switch to
that tag when the application starts
2020-07-22 18:38:56 +02:00
- optionally, the previous view can also be restored when the client is closed
2019-09-08 00:23:30 +02:00
2019-09-15 00:43:35 +02:00
- [systray ](https://dwm.suckless.org/patches/systray/ )
- adds system tray in the status bar
2021-03-09 13:23:39 +01:00
- [tab ](https://dwm.suckless.org/patches/tab/ )
2021-05-30 19:22:00 +02:00
- transforms the monocle layout into a "tabbed" layout if more than one window is present on
the monocle view
2021-03-09 13:23:39 +01:00
- this is essentially just a specific bar
2021-05-30 19:22:00 +02:00
- the patch has been added for demonstration purposes only and has limited compatibility with
other patches
2021-03-09 13:23:39 +01:00
- it will conflict space-wise with a second bar
2021-05-30 19:22:00 +02:00
- note that fancybar, awesomebar, bartabgroups and similar patches make the tab patch
redundant
2021-03-09 13:23:39 +01:00
2019-10-04 23:56:00 +02:00
- [tagall ](https://dwm.suckless.org/patches/tagall/ )
- adds keyboard shortcuts to move all (or only floating) windows from one tag to another
2020-07-22 18:38:56 +02:00
- [tagallmon ](https://github.com/bakkeby/patches/wiki/tagallmon/ )
2019-09-05 23:59:13 +02:00
- move all visible windows to an adjacent monitor
2019-10-05 00:12:52 +02:00
- [tagintostack ](https://dwm.suckless.org/patches/tagintostack/ )
- makes new clients attach into the stack area when you toggle a new tag into view
- this means your master area will remain unchanged when toggling views
2019-10-05 23:28:50 +02:00
- [taggrid ](https://dwm.suckless.org/patches/taggrid/ )
- adds an option to place tags in rows like in many other window managers
2021-11-23 22:36:53 +01:00
- [taglabels ](https://dwm.suckless.org/patches/taglabels/ )
- shows tag + class of master client in the tags section of the bar
2020-07-22 18:38:56 +02:00
- [tagmonfixfs ](https://github.com/bakkeby/patches/wiki/tagmonfixfs/ )
2019-09-05 23:39:25 +02:00
- allows moving a fullscreen window to another monitor while remaining in fullscreen
2020-06-21 09:07:51 +02:00
- [tagothermonitor ](https://dwm.suckless.org/patches/tagothermonitor/ )
- adds functions and keybindings to tag a window to a desired tag on an adjacent monitor
2022-07-05 14:55:42 +02:00
- [tagpreview ](https://dwm.suckless.org/patches/tag-previews/ )
- shows a preview of a tag when hovering the tag icon using the mouse
2020-07-22 18:38:56 +02:00
- [tagswapmon ](https://github.com/bakkeby/patches/wiki/tagswapmon/ )
2019-09-05 23:59:13 +02:00
- swap all visible windows on one monitor with those of an adjacent monitor
2021-03-31 09:18:58 +02:00
- [tapresize ](https://dwm.suckless.org/patches/tapresize/ )
- allows resizing of windows using a touchpad
2021-05-30 19:22:00 +02:00
- uses vertical and horizontal scroll events allowing you to use one-finger tap for moving
windows and two-finger tap for resizing
2021-03-31 09:18:58 +02:00
2020-08-21 15:49:15 +02:00
- [~titlecolor~ ](https://dwm.suckless.org/patches/titlecolor/ )
- ~adds a new color scheme used by the (selected) window title in the bar~
2019-09-13 23:56:05 +02:00
2020-07-22 18:38:56 +02:00
- [togglefullscreen ](https://github.com/bakkeby/patches/wiki/togglefullscreen/ )
2019-09-05 23:27:33 +02:00
- allows you to toggle fullscreen on and off using a single shortcut key
2023-06-25 22:52:50 +02:00
- [togglelayout ](https://github.com/bakkeby/patches/wiki/togglelayout )
- toggle layout using the same keyboard shortcuts to set the layout
- e.g. hitting `MOD+m` switches to monocle layout, hitting the same keybinding again brings
you back to the previous layout
2021-05-30 19:22:00 +02:00
- [toggletag ](https://github.com/bakkeby/patches/wiki/toggletag )
- toggle tags using the same keyboard shortcuts to view tags
- e.g. hitting `MOD+4` lets you view tag 4 and hitting the keybinding a second time brings
you back to where you were before
2023-06-25 22:52:50 +02:00
- [toggletopbar ](https://dwm.suckless.org/patches/toggletopbar/ )
- allows for the bar position (top or bottom) to be toggled during runtime
2021-05-30 19:22:00 +02:00
2020-01-26 07:32:00 +01:00
- [transfer ](https://dwm.suckless.org/patches/transfer/ )
2021-05-30 19:22:00 +02:00
- lets you transfer the currently focused client between the master and stack area while
increasing or decreasing the master area (nmaster) accordingly
2020-01-26 07:32:00 +01:00
2020-02-02 11:55:19 +01:00
- [transferall ](https://dwm.suckless.org/patches/transfer/ )
2021-05-30 19:22:00 +02:00
- lets you transfer all clients between the master and stack area while increasing or
decreasing the master area (nmaster) accordingly
2020-02-02 11:55:19 +01:00
2021-11-23 22:49:27 +01:00
- [underlinetags ](https://dwm.suckless.org/patches/underlinetags/ )
- underlines the selected tag, or optionally all tags
2019-10-02 00:03:21 +02:00
- [unfloatvisible ](https://dwm.suckless.org/patches/unfloatvisible/ )
2021-05-30 19:22:00 +02:00
- resets isfloating on any visible windows that have it set and optionally also applies a
layout
2019-10-02 00:03:21 +02:00
2023-06-27 17:24:36 +02:00
- [unmanaged ](https://github.com/bakkeby/patches/wiki/unmanaged )
- adds a client rule that allows for windows to not be managed by the window manager
- this can be useful for external bars, widgets, launchers, docks, desktop icons and more
2020-08-21 15:49:15 +02:00
- [~urgentborder~ ](https://dwm.suckless.org/patches/urgentborder/ )
- ~this patch makes "urgent" windows have different colors~
2019-09-16 00:13:03 +02:00
2020-05-08 18:53:52 +02:00
- [vanitygaps ](https://github.com/bakkeby/patches/blob/master/dwm/dwm-vanitygaps-6.2.diff )
2021-05-30 19:22:00 +02:00
- adds configurable gaps between windows differentiating between outer, inner, horizontal and
vertical gaps
2019-09-09 00:18:47 +02:00
2023-01-18 21:58:32 +01:00
- viewhistory
- adds a tag change history that is longer than the default current and previous tag
- `MOD` +Tab (`view(0)`) can be pressed multiple times to go further back to earlier tag
selections
2019-09-15 23:42:47 +02:00
- [viewontag ](https://dwm.suckless.org/patches/viewontag/ )
- follow a window to the tag it is being moved to
2020-02-11 18:31:11 +01:00
- [vtcolor ](https://dwm.suckless.org/patches/vtcolors/ )
2021-05-30 19:22:00 +02:00
- this patch adds the ability for dwm to read colors from the linux virtual console
essentially allowing you to use the same color scheme as your regular tty
2020-02-11 18:31:11 +01:00
2019-09-15 00:43:35 +02:00
- [warp ](https://dwm.suckless.org/patches/warp/ )
2021-05-30 19:22:00 +02:00
- warps the mouse cursor to the center of the currently focused window or screen when the
mouse cursor is (a) on a different screen or (b) on top of a different window
2019-09-15 00:43:35 +02:00
2021-07-27 13:40:53 +02:00
- [winicon ](https://dwm.suckless.org/patches/winicon/ )
- adds the window icon next to the window title in the bar
2020-07-22 18:38:56 +02:00
- [windowrolerule ](https://github.com/bakkeby/patches/wiki/windowrolerule/ )
2021-05-30 19:22:00 +02:00
- sometimes a single application opens different windows depending on the task at hand and
this is often reflected in the WM_WINDOW_ROLE(STRING) x property
- this patch adds the role field to the rule configuration so that one can differentiate
between, say, Firefox "browser" vs "Preferences" vs "Manager" or Google-chrome "browser"
vs "pop-up".
2019-09-07 23:46:08 +02:00
2019-09-15 23:33:43 +02:00
- [winview ](http://dwm.suckless.org/patches/winview/ )
2021-05-30 19:22:00 +02:00
- allows switching the view to that of a given client from the all-window view (Mod-0) using
a keyboard shortcut
2019-09-15 23:33:43 +02:00
2021-04-08 11:58:24 +02:00
- [xkb ](https://dwm.suckless.org/patches/xkb/ )
- remembers keyboard layout per client
2019-09-19 00:33:56 +02:00
- [xrdb ](http://dwm.suckless.org/patches/xrdb/ )
2019-09-15 23:33:43 +02:00
- allows dwm to read colors from xrdb (.Xresources) during runtime
2020-08-22 09:21:23 +02:00
- [zoomfloating ](https://www.reddit.com/r/suckless/comments/ie5fe3/zoomfloating_my_own_simple_original_patch/ )
- a simple patch that allows floating windows to be zoomed into the master stack position
2019-09-05 23:19:23 +02:00
- [zoomswap ](https://dwm.suckless.org/patches/zoomswap/ )
2021-05-30 19:22:00 +02:00
- allows a master and a stack window to swap places rather than every window on the screen
changing position
2019-09-09 00:18:47 +02:00
### Layouts included:
- [bstack ](https://dwm.suckless.org/patches/bottomstack/ )
- bottomstack layout
- [bstackhoriz ](https://dwm.suckless.org/patches/bottomstack/ )
2019-09-09 18:00:02 +02:00
- bottomstack horizontal layout
2019-09-09 21:35:19 +02:00
- [centeredmaster ](https://dwm.suckless.org/patches/centeredmaster/ )
- centeredmaster layout
- [centeredfloatingmaster ](https://dwm.suckless.org/patches/centeredmaster/ )
- centeredfloatingmaster layout
2019-10-08 22:57:21 +02:00
- [columns ](https://dwm.suckless.org/patches/columns/ )
2021-05-30 19:22:00 +02:00
- same as the default tile layout except clients in the master area are arranged in columns
(i.e. left to right)
2019-10-08 22:57:21 +02:00
2019-09-09 18:00:02 +02:00
- [deck ](https://dwm.suckless.org/patches/deck/ )
2019-10-08 22:57:21 +02:00
- deck layout - clients in the stack area are arranged on top of each other (like monocle)
2019-09-09 18:50:05 +02:00
- [fibonacci ](https://dwm.suckless.org/patches/fibonacci/ )
2019-09-09 19:11:31 +02:00
- fibonacci (dwindle and spiral) layouts
2020-07-23 19:41:18 +02:00
- [flextile-deluxe ](https://github.com/bakkeby/patches/wiki/flextile-deluxe/ )
2021-05-30 19:22:00 +02:00
- a re-envisioned, flexible and over-the-top version of the original
[flextile ](https://dwm.suckless.org/patches/flextile/ ) patch supporting
2019-09-30 23:52:51 +02:00
- multiple split layouts (horizontal, vertical, centered, floating, fixed)
2021-05-30 19:22:00 +02:00
- tile arrangement on a per split basis (stack horizontally, stack vertically, grids,
fibonacci)
2019-09-30 23:52:51 +02:00
- pertag, cfacts, rmaster, vanitygaps compatibility
2019-09-09 22:25:19 +02:00
- tile, deck, monocle, centeredmaster, bstack, bstackhoriz, gapplessgrid and more
2019-09-30 23:52:51 +02:00
- this gives you a lot of versatility in terms of layout
2019-09-09 22:25:19 +02:00
2019-09-09 19:11:31 +02:00
- [gapplessgrid ](https://dwm.suckless.org/patches/gaplessgrid/ )
2019-09-09 19:31:16 +02:00
- gappless grid layout
- [gridmode ](https://dwm.suckless.org/patches/gridmode/ )
- gridmode (grid) layout
- [horizgrid ](https://dwm.suckless.org/patches/horizgrid/ )
2019-09-09 19:49:41 +02:00
- horizontal grid layout
- [nrowgrid ](https://dwm.suckless.org/patches/nrowgrid/ )
2019-09-13 23:56:05 +02:00
- nrowgrid layout, number of rows in grid controlled by nmaster