dwm-flexipatch/patches.def.h

1147 lines
45 KiB
C
Raw Normal View History

2019-09-04 22:32:39 +00:00
/*
* This file contains patch control flags.
*
* In principle you should be able to mix and match any patches
* you may want. In cases where patches are logically incompatible
* one patch may take precedence over the other as noted in the
* relevant descriptions.
*
* Although layouts typically come as patches they are differentiated
* here for grouping purposes.
2019-09-04 22:32:39 +00:00
*/
/**
* Bar modules
*/
/* Enhanced taskbar that shows the titles of all visible windows in the status bar
* and allows focus / hiding / unhiding of windows by clicking on the status bar.
* Awesomebar takes precedence over fancybar.
* https://dwm.suckless.org/patches/awesomebar/
*/
#define BAR_AWESOMEBAR_PATCH 0
/* This patch depends on statuscmd patch and adds integration with a (patched) dwmblocks
* instance to give a clickable status bar.
* Patch: https://gist.github.com/danbyl/54f7c1d57fc6507242a95b71c3d8fdea
* dwmblocks: https://github.com/torrinfail/dwmblocks
*/
#define BAR_DWMBLOCKS_PATCH 0
/* This patch shows the titles of all visible windows in the status bar
* (as opposed to showing only the selected one).
* Awesomebar takes precedence over fancybar. Fancybar takes precedence over
* the centeredwindowname patch.
* https://dwm.suckless.org/patches/fancybar/
*/
#define BAR_FANCYBAR_PATCH 0
/* Being an evolution of the bartabgroups patch the flexwintitle patch specifically
* taps into the many layout options that flextile-deluxe offers to produce a window
* title section in the bar that is representative of what is shown on screen.
*/
#define BAR_FLEXWINTITLE_PATCH 0
/* Show layout symbol in bar */
#define BAR_LTSYMBOL_PATCH 1
2020-07-19 14:57:30 +00:00
/* Adds powerline arrows for the status.
* This uses statuscolors logic for choosing colors for the powerline. As these markers
* are also control characters there is no explicit statuscmd support for this patch.
*
* Powerline separators are defined as:
* |\xXX (creates a hard edge)
* <\xXX (creates a less than arrow)
* /\xXX (creates a diagonal line)
*
* Examples:
* xsetroot -name "$(echo -e '<\x01a<\x02b<\x03c')"
* xsetroot -name "$(echo -e '/\x01d/\x02d/\x03f')"
*
* https://gitlab.com/udiboy1209-suckless/dwm/-/commit/071f5063e8ac4280666828179f92788d893eea40#4b1a539194be7467cefbda22f675a3b7c19ceca7
* https://dwm.suckless.org/patches/statuscolors/
*/
#define BAR_POWERLINE_STATUS_PATCH 0
/* Adds powerline arrows for the tags.
* https://gitlab.com/udiboy1209-suckless/dwm/-/commit/071f5063e8ac4280666828179f92788d893eea40#4b1a539194be7467cefbda22f675a3b7c19ceca7
*/
#define BAR_POWERLINE_TAGS_PATCH 0
2020-07-19 14:57:30 +00:00
/* Alters the tags powerline to use forward slash instead of arrows */
#define BAR_POWERLINE_TAGS_SLASH_PATCH 0
2020-08-13 13:42:49 +00:00
/* This patch turns the titlebar area into a mfact-respecting tabbar showing each client's title.
* https://dwm.suckless.org/patches/bartabgroups/
*/
#define BAR_TABGROUPS_PATCH 0
/* This patch adds an option to place tags in rows like in many other window managers.
* https://dwm.suckless.org/patches/taggrid/
*/
#define BAR_TAGGRID_PATCH 0
/* Show status in bar */
#define BAR_STATUS_PATCH 1
/* This patch adds a clickable button to the left hand side of the statusbar.
* https://dwm.suckless.org/patches/statusbutton/
*/
#define BAR_STATUSBUTTON_PATCH 0
/* This patch adds the ability to execute shell commands based on the mouse button and position
* when clicking the status bar. Refer to the website for usage.
* https://dwm.suckless.org/patches/statuscmd/
*/
#define BAR_STATUSCMD_PATCH 0
/* Status2d allows colors and rectangle drawing in your dwm status bar.
* This patch is incompatible with the statuscolors patch which takes precedence.
* This patch is incompatible with the extrabar patch.
* https://dwm.suckless.org/patches/status2d/
*/
#define BAR_STATUS2D_PATCH 0
/* Supplementary patch should you want to disable alpha for the status2d section */
#define BAR_STATUS2D_NO_ALPHA_PATCH 0
/* Addition to the status2d patch that allows the use of terminal colors (color0 through color15)
* from xrdb in the status, allowing programs like pywal to change statusbar colors.
* This adds the C and B codes to use terminal foreground and background colors respectively.
* E.g. ^B5^ would use color5 as the background color.
* https://dwm.suckless.org/patches/status2d/
*/
#define BAR_STATUS2D_XRDB_TERMCOLORS_PATCH 0
/* The systray patch adds systray for the status bar.
* https://dwm.suckless.org/patches/systray/
*/
#define BAR_SYSTRAY_PATCH 0
/* Show tag symbols in bar */
#define BAR_TAGS_PATCH 1
/* Show window title in bar */
#define BAR_WINTITLE_PATCH 1
/* Shows window titles in the bar, but only for floating clients.
* This depends on code from the flexwintitle patch.
* Note that the configuration in config.def.h for this is merely an example. If combined
* with the corresponding hidden patch then these two will overlap unless the width of the
* modules are controlled.
*/
#define BAR_WINTITLE_FLOATING_PATCH 0
/* Shows window titles in the bar, but only for floating clients.
* This depends on code from the flexwintitle patch.
* Note that the configuration in config.def.h for this is merely an example. If combined
* with the corresponding floating patch then these two will overlap unless the width of the
* modules are controlled.
*/
#define BAR_WINTITLE_HIDDEN_PATCH 0
2020-07-18 11:03:30 +00:00
/* Title bar modules such as wintitle (default), fancybar and awesomebar
* do not by default add left and/or right padding as they take up the
* remaining space. These options allow you explicitly add padding should
* you need it.
*/
#define BAR_TITLE_RIGHT_PAD_PATCH 0
#define BAR_TITLE_LEFT_PAD_PATCH 1
2020-07-18 11:03:30 +00:00
/**
* Bar options
*/
2020-09-10 11:32:28 +00:00
/* This patch changes the rectangle indicating if a tag is used by a client into a bar
* above the tag name for better visibility.
* Set the tagindicatortype variable in config.h to INDICATOR_TOP_BAR to enable this.
* https://dwm.suckless.org/patches/activetagindicatorbar/
*/
#define BAR_ACTIVETAGINDICATORBAR_PATCH N/A
/* Alternative patch to the activetagindicatorbar patch, adds the bar below the tag
* icon rather than above.
* Set the tagindicatortype variable in config.h to INDICATOR_BOTTOM_BAR to enable this.
*/
#define BAR_ACTIVETAGINDICATORBAR_ALT1_PATCH N/A
2019-09-05 20:58:16 +00:00
/* The alpha patch adds transparency for the status bar.
* You need to uncomment the corresponding line in config.mk to use the -lXrender library
* when including this patch.
2019-09-04 22:32:39 +00:00
* https://dwm.suckless.org/patches/alpha/
*/
#define BAR_ALPHA_PATCH 0
2019-09-05 20:10:00 +00:00
2019-09-09 21:27:10 +00:00
/* This patch introduces alternative tags which can be switched on the fly for the
* sole purpose of providing visual aid.
* https://dwm.suckless.org/patches/alternativetags/
*/
#define BAR_ALTERNATIVE_TAGS_PATCH 0
/* This patches provides the ability to use alternative text for tags which contain at
* least one window.
* https://dwm.suckless.org/patches/alttagsdecoration/
*/
#define BAR_ALTTAGSDECORATION_PATCH 0
2020-09-10 11:32:28 +00:00
/* This patch enables dwm to manage external status bars such as lemonbar and polybar.
* 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.
*
* NB: Unless you want both anybar + dwm bar(s) then the recommendation is to disable all
* bar modules and have { 0 } in the barrules.
2020-09-10 11:32:28 +00:00
*
* https://dwm.suckless.org/patches/anybar/
*/
2020-09-10 11:32:28 +00:00
#define BAR_ANYBAR_PATCH 0
/* This patch adds a border around the status bar(s) just like the border of client windows.
* https://codemadness.org/paste/dwm-border-bar.patch
*/
#define BAR_BORDER_PATCH 0
/* This patch centers the WM_NAME of the currently selected window on the status bar.
* This is compatible with the wintitle, bartabgroups, flexwintitle and awesomebar bar
* modules.
* https://dwm.suckless.org/patches/centeredwindowname/
*/
#define BAR_CENTEREDWINDOWNAME_PATCH 0
/* Draws a dot indicator overlayed on each tag icon for each client. The selected client
* is drawn as a larger horizontal line.
* Set the tagindicatortype variable in config.h to INDICATOR_CLIENT_DOTS to enable this.
* https://dwm.suckless.org/patches/clientindicators/
*/
#define BAR_CLIENTINDICATOR_PATCH N/A
/* This patch enables color emoji in dwm by removing a workaround for a BadLength error
* in the Xft library when color glyphs are used.
* To enable this you will need an updated Xft library that can handle color glyphs otherwise
* dwm will crash on encountering such characters. Note that you will also need a font that
* provides color emojis for this to work.
*/
#define BAR_COLOR_EMOJI_PATCH 0
/* Updates the position of dmenu to match that of the bar. I.e. if topbar is 0 then dmenu
* will appear at the bottom and if 1 then dmenu will appear at the top.
* https://dwm.suckless.org/patches/dmenumatchtop
*/
#define BAR_DMENUMATCHTOP_PATCH 0
2020-07-18 19:12:30 +00:00
/* Originally this was the extrabar patch, but as the handling of extra bars is now built-in
* only the splitting of the status by a designated separator remains. As such this has been
* renamed to more accurately reflect what it does - creating an extra status.
* https://dwm.suckless.org/patches/extrabar/
*/
2020-07-18 19:12:30 +00:00
#define BAR_EXTRASTATUS_PATCH 0
/* 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. For example polybar's xworkspaces module.
*
* This patch also includes support for adding the _IS_FLOATING property for floating windows
* allowing for compositors to treat floating windows differently to tiled windows.
*
* E.g. this setting makes picom only render shadows for floating windows:
*
* shadow-exclude = [ "! _IS_FLOATING@:32c = 1" ];
*
* https://github.com/bakkeby/dwm-flexipatch/issues/50 (_IS_FLOATING patch)
* https://dwm.suckless.org/patches/ewmhtags/
*/
#define BAR_EWMHTAGS_PATCH 0
/* Allows the bar height to be explicitly set rather than being derived from font.
* https://dwm.suckless.org/patches/bar_height/
*/
#define BAR_HEIGHT_PATCH 0
/* This patch prevents dwm from drawing tags with no clients (i.e. vacant) on the bar.
* https://dwm.suckless.org/patches/hide_vacant_tags/
*/
#define BAR_HIDEVACANTTAGS_PATCH 0
/* With this patch dwm's built-in status bar is only shown when HOLDKEY is pressed
* and the bar will now overlay the display.
* http://dwm.suckless.org/patches/holdbar/
*/
#define BAR_HOLDBAR_PATCH 0
/* Sometimes dwm crashes when it cannot render some glyphs in window titles (usually emoji).
* This patch is essentially a hack to ignore any errors when drawing text on the status bar.
* https://groups.google.com/forum/m/#!topic/wmii/7bncCahYIww
* https://docs.google.com/viewer?a=v&pid=forums&srcid=MDAwODA2MTg0MDQyMjE0OTgzMzMBMDQ3ODQzODkyMTU3NTAyMTMxNTYBX2RUMVNtOUtDQUFKATAuMQEBdjI&authuser=0
*/
#define BAR_IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH 0
/* This patch adds vertical and horizontal space between the statusbar and the edge of the screen.
* https://dwm.suckless.org/patches/barpadding/
*/
#define BAR_PADDING_PATCH 0
/* This patch adds simple markup for status messages using pango markup.
* This depends on the pango library v1.44 or greater.
* You need to uncomment the corresponding lines in config.mk to use the pango libraries
* when including this patch.
*
* Note that the pango patch does not protect against the BadLength error from Xft
* when color glyphs are used, which means that dwm will crash if color emoji is used.
*
* If you need color emoji then you may want to install this patched library from the AUR:
* https://aur.archlinux.org/packages/libxft-bgra/
*
* A long term fix for the libXft library is pending approval of this pull request:
* https://gitlab.freedesktop.org/xorg/lib/libxft/-/merge_requests/1
*
* Also see:
* https://developer.gnome.org/pygtk/stable/pango-markup-language.html
* https://lists.suckless.org/hackers/2004/17285.html
* https://dwm.suckless.org/patches/pango/
*/
#define BAR_PANGO_PATCH 0
/* This patch enables colored text in the status bar. It changes the way colors are defined
* in config.h allowing multiple color combinations for use in the status script.
* This patch is incompatible with and takes precedence over the status2d patch.
* https://dwm.suckless.org/patches/statuscolors/
*/
#define BAR_STATUSCOLORS_PATCH 0
/* This patch adds configuration options for horizontal and vertical padding in the status bar.
* https://dwm.suckless.org/patches/statuspadding/
*/
#define BAR_STATUSPADDING_PATCH 0
/* This patch adds the ability for dwm to read colors from the linux virtual console.
* /sys/module/vt/parameters/default_{red,grn,blu}
* Essentially this way the colors you use in your regular tty is "mirrored" to dwm.
* https://dwm.suckless.org/patches/vtcolors/
*/
#define BAR_VTCOLORS_PATCH 0
2020-08-13 13:42:49 +00:00
/* This patch allows client windows to be hidden. This code was originally part of awesomebar,
* but has been separated out so that other bar modules can take advantage of it.
* Both awesomebar and bartabgroups patches depend on this patch and it will be auto-enabled
* during compile time if it is needed. Note that if using flexipatch-finalizer this must be
* explicitly enabled.
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-barmodules-wintitleactions-6.2.diff
*/
#define BAR_WINTITLEACTIONS_PATCH BAR_AWESOMEBAR_PATCH || BAR_TABGROUPS_PATCH || BAR_FLEXWINTITLE_PATCH
2020-08-13 13:42:49 +00:00
/***
* Other patches
*/
2019-09-09 21:27:10 +00:00
2020-08-27 05:34:21 +00:00
/* This patch allows windows to be resized with its aspect ratio remaining constant.
* https://dwm.suckless.org/patches/aspectresize/
*/
#define ASPECTRESIZE_PATCH 0
/* This patch prevents the focus to drift from the active fullscreen client when
* using focusstack().
* https://dwm.suckless.org/patches/alwaysfullscreen/
*/
#define ALWAYSFULLSCREEN_PATCH 0
/* This patch adds new clients above the selected client, instead of always
* becoming the new master. This behaviour is known from Xmonad.
* This patch takes precedence over ATTACHASIDE_PATCH.
* https://dwm.suckless.org/patches/attachabove/
*/
#define ATTACHABOVE_PATCH 0
/* This patch adds new clients on top of the stack.
* This patch takes precedence over ATTACHBELOW_PATCH.
* https://dwm.suckless.org/patches/attachaside/
*/
2019-10-06 22:46:23 +00:00
#define ATTACHASIDE_PATCH 0
/* This patch adds new clients below the selected client.
* This patch takes precedence over ATTACHBOTTOM_PATCH.
* https://dwm.suckless.org/patches/attachbelow/
*/
#define ATTACHBELOW_PATCH 0
/* This patch adds new clients at the bottom of the stack.
* https://dwm.suckless.org/patches/attachbottom/
*/
#define ATTACHBOTTOM_PATCH 0
/* This patch will make dwm run "~/.local/share/dwm/autostart_blocking.sh" and
* "~/.local/share/dwm/autostart.sh &" before entering the handler loop. One or
* both of these files can be ommited. Note the path inside .local/share rather
2019-09-06 21:37:30 +00:00
* than the original ~/.dwm folder.
* https://dwm.suckless.org/patches/autostart/
2019-09-05 20:10:00 +00:00
*/
2019-10-06 22:46:23 +00:00
#define AUTOSTART_PATCH 0
2019-09-05 20:58:16 +00:00
/* By default, windows that are not visible when requesting a resize/move will not
* get resized/moved. With this patch, they will.
* https://dwm.suckless.org/patches/autoresize/
*/
2019-10-06 22:46:23 +00:00
#define AUTORESIZE_PATCH 0
2019-09-07 22:23:30 +00:00
/* This patch adds an iscentered rule to automatically center clients on the current monitor.
* This patch takes precedence over centeredwindowname and fancybar patches.
2019-09-07 22:23:30 +00:00
* https://dwm.suckless.org/patches/center/
*/
2019-10-06 22:46:23 +00:00
#define CENTER_PATCH 0
2019-09-07 22:23:30 +00:00
/* A transient window is one that is meant to be short lived and is usually raised by a
* parent window. Such windows are typically dialog boxes and the like.
* It should be noted that in dwm transient windows are not subject to normal client rules
* and they are always floating by default.
* This patch centers transient windows on the screen like the center patch does. Note that
* the 6.2 center patch piggy-backed on the updatewindowtype function to ensure that all
* dialog boxes were centered, transient or not. This function was removed in relation to
* adding wintype as a client rule filter, hence this no longer works out of the box. This
* patch restores previous behaviour with the center patch.
*/
#define CENTER_TRANSIENT_WINDOWS_PATCH 0
/* As above, except that the transient window is centered within the position of the parent
* window, rather than at the center of the screen. This takes precedence over the above patch.
*/
#define CENTER_TRANSIENT_WINDOWS_BY_PARENT_PATCH 0
/* This patch provides the ability to assign different weights to clients in their
* respective stack in tiled layout.
* https://dwm.suckless.org/patches/cfacts/
*/
2019-10-06 22:46:23 +00:00
#define CFACTS_PATCH 0
2019-10-05 21:56:43 +00:00
/* This patch allows color attributes to be set through the command line.
* https://dwm.suckless.org/patches/cmdcustomize/
*/
#define CMDCUSTOMIZE_PATCH 0
2019-10-05 21:56:43 +00:00
2019-09-11 21:35:43 +00:00
/* This patch tweaks the tagging interface so that you can select multiple tags for tag
* or view by pressing all the right keys as a combo. For example to view tags 1 and 3,
* hold MOD and then press and hold 1 and 3 together.
* https://dwm.suckless.org/patches/combo/
*/
2019-10-06 22:46:23 +00:00
#define COMBO_PATCH 0
2019-09-11 21:35:43 +00:00
2020-08-10 08:22:21 +00:00
/* Allow dwm to execute commands from autostart array in your config.h file. When dwm exits
* then all processes from autostart array will be killed.
* https://dwm.suckless.org/patches/cool_autostart/
*/
#define COOL_AUTOSTART_PATCH 0
2019-09-07 21:29:37 +00:00
/* The cyclelayouts patch lets you cycle through all your layouts.
2019-09-07 20:27:06 +00:00
* https://dwm.suckless.org/patches/cyclelayouts/
*/
2019-10-06 22:46:23 +00:00
#define CYCLELAYOUTS_PATCH 0
2019-09-07 20:27:06 +00:00
2020-08-11 08:17:02 +00: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.
* https://dwm.suckless.org/patches/decoration_hints/
*/
#define DECORATION_HINTS_PATCH 0
2020-03-25 14:15:47 +00:00
/* Similarly to the dragmfact patch this allows you to click and drag clients to change the
* cfact to adjust the client's size in the stack. This patch depends on the cfacts patch.
*/
#define DRAGCFACT_PATCH 0
2019-10-24 04:52:00 +00:00
/* This patch lets you resize the split in the tile layout (i.e. modify mfact) by holding
* the modkey and dragging the mouse.
* This patch can be a bit wonky with other layouts, but generally works.
* https://dwm.suckless.org/patches/dragmfact/
*/
#define DRAGMFACT_PATCH 0
2019-10-07 21:34:23 +00:00
/* Simple dwmc client using a fork of fsignal to communicate with dwm.
* To use this either copy the patch/dwmc shell script to somewhere in your path or
* uncomment the following line in Makefile:
* #cp -f patch/dwmc ${DESTDIR}${PREFIX}/bin
2019-10-07 21:34:23 +00:00
* http://dwm.suckless.org/patches/dwmc/
*/
#define DWMC_PATCH 0
/* This patch allows no tag at all to be selected. The result is that dwm will start with
* no tag selected and when you start a client with no tag rule and no tag selected then
* it will be opened on the first tag.
* https://dwm.suckless.org/patches/emptyview/
*/
#define EMPTYVIEW_PATCH 0
2019-10-24 06:47:00 +00: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.
* https://dwm.suckless.org/patches/exresize/
*/
#define EXRESIZE_PATCH 0
2019-10-08 21:15:11 +00:00
/* Only allow 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.
* This patch takes precedence over the fakefullscreen client patch below.
2019-10-08 21:15:11 +00:00
* https://dwm.suckless.org/patches/fakefullscreen/
*/
#define FAKEFULLSCREEN_PATCH 0
2019-11-21 11:15:16 +00:00
/* Similarly to the fakefullscreen patch this patch only allows clients to "fullscreen" into
* the space currently given to them.
* The "twist" with this patch is that fake fullscreen can be toggled on a per client basis
* rather than applying to all clients globally.
2020-09-16 09:00:31 +00:00
* Also see the selectivefakefullscreen option that adds a rule option to enabled this on client
* startup.
2019-11-21 11:15:16 +00:00
*/
#define FAKEFULLSCREEN_CLIENT_PATCH 0
2020-06-21 13:33:29 +00:00
/* This patch adds a float rule allowing the size and position of floating windows to be specified
* It also allows the size and position of floating windows to be controlled similar to the
* exresize, moveresize, and moveplace patches.
* The size and position can be specified using absolute, relative or fixed co-ordinates and
* https://github.com/bakkeby/patches/wiki/floatpos/
*/
#define FLOATPOS_PATCH 0
/* Add-on functionality for the above: make the float positions respect outer (vanity)gaps. */
#define FLOATPOS_RESPECT_GAPS_PATCH 0
2019-10-02 21:57:25 +00:00
/* This patch provides the ability to focus the tag on the immediate left or right of the
* currently focused tag. It also allows to send the focused window either on the left or
* the right tag.
* http://dwm.suckless.org/patches/focusadjacenttag/
*/
2019-10-06 22:46:23 +00:00
#define FOCUSADJACENTTAG_PATCH 0
2019-10-02 21:57:25 +00:00
2020-08-11 08:25:19 +00:00
/* A simple patch that just puts focus back to the master client.
* https://dwm.suckless.org/patches/focusmaster/
*/
#define FOCUSMASTER_PATCH 0
2019-09-15 22:32:28 +00:00
/* Switch focus only by mouse click and not sloppy (focus follows mouse pointer).
* https://dwm.suckless.org/patches/focusonclick/
*/
#define FOCUSONCLICK_PATCH 0
2019-10-02 22:10:08 +00:00
/* Selects the next window having the urgent flag regardless of the tag it is on.
* The urgent flag can be artificially set with the following xdotool command on any window:
* xdotool selectwindow -- set_window --urgency 1
* https://dwm.suckless.org/patches/focusurgent/
*/
2019-10-06 22:46:23 +00:00
#define FOCUSURGENT_PATCH 0
2019-10-02 22:10:08 +00:00
/* By default, dwm responds to _NET_ACTIVE_WINDOW client messages by setting
* the urgency bit on the named window. This patch activates the window instead.
* https://dwm.suckless.org/patches/focusonnetactive/
*/
2019-10-06 22:46:23 +00:00
#define FOCUSONNETACTIVE_PATCH 0
/* Send "fake signals" to dwm for handling, using xsetroot. This will not conflict with the
* status bar, which also is managed using xsetroot.
* Also see the dwmc patch, which takes precedence over this patch.
* https://dwm.suckless.org/patches/fsignal/
*/
#define FSIGNAL_PATCH 0
/* Applies the monocle layout with the focused client on top and hides the bar. When pressed
* again it shows the bar and restores the layout that was active before going fullscreen.
* https://dwm.suckless.org/patches/fullscreen/
*/
2019-10-06 22:46:23 +00:00
#define FULLSCREEN_PATCH 0
2020-01-17 08:54:23 +00:00
/* This patch provides a keybinding to rotate all clients in the currently selected
* area (master or stack) without affecting the other area.
* https://dwm.suckless.org/patches/inplacerotate/
*/
#define INPLACEROTATE_PATCH 0
2020-08-10 10:32:58 +00:00
/* This patch lets you define custom insets from each edge of the screen. One use case would be
* to arrange space for an external bar.
* https://dwm.suckless.org/patches/insets/
*/
#define INSETS_PATCH 0
2020-09-07 15:48:58 +00:00
/* This patch (v1.5.5) implements inter-process communication through a UNIX socket for dwm. This
* 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.
*
* You need to uncomment the corresponding lines in config.mk to use the -lyajl library
* when including this patch.
* This patch depends on the following additional library:
* - yajl
*
* https://github.com/mihirlad55/dwm-ipc
* https://dwm.suckless.org/patches/ipc/
*/
#define IPC_PATCH 0
2019-10-22 16:30:00 +00:00
/* Adds rule option for clients to avoid accidental termination by killclient for sticky windows.
* https://dwm.suckless.org/patches/ispermanent/
*/
#define ISPERMANENT_PATCH 0
2020-05-31 13:14:29 +00:00
/* This patch adds key modes (like in vim or emacs) where chains of keyboard shortcuts
* can be performed.
* https://dwm.suckless.org/patches/keymodes/
*/
#define KEYMODES_PATCH 0
2019-10-05 20:55:46 +00:00
/* This patch adds a keybinding to kills all visible clients that are not selected.
* https://dwm.suckless.org/patches/killunsel/
*/
2019-10-06 22:46:23 +00:00
#define KILLUNSEL_PATCH 0
2019-10-05 20:55:46 +00: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. This patch ensures that
* in such scenarios the previous window loses fullscreen.
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-losefullscreen-6.2.diff
*/
2019-10-06 22:46:23 +00:00
#define LOSEFULLSCREEN_PATCH 0
2019-10-04 20:46:47 +00:00
/* This patch adds helper functions for maximizing, horizontally and vertically, floating
* windows using keybindings.
* https://dwm.suckless.org/patches/maximize/
*/
2019-10-06 22:46:23 +00:00
#define MAXIMIZE_PATCH 0
2019-10-04 20:46:47 +00:00
2019-10-10 21:09:07 +00:00
/* Control Music Player Daemon via keybinds.
* You need to uncomment the corresponding line in config.mk to use the -lmpdclient library
* when including this patch.
* This patch depends on the following additional library:
* - libmpdclient
2019-10-10 21:09:07 +00:00
* https://dwm.suckless.org/patches/mpdcontrol/
*/
#define MDPCONTROL_PATCH 0
2019-09-11 06:28:00 +00:00
/* Adds rules per monitor, e.g. have default layouts per monitor.
* 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. E.g. normal vertical split for main monitor and
* horizontal split for the second.
*/
2019-10-06 22:46:23 +00:00
#define MONITOR_RULES_PATCH 0
2019-09-11 06:28:00 +00:00
2019-10-04 20:51:42 +00:00
/* Always display the the monocle-symbol as defined in config.h if the monocle-layout
* is activated. Do not display the number of open clients in the current tag.
* https://dwm.suckless.org/patches/monoclesymbol/
*/
2019-10-06 22:46:23 +00:00
#define MONOCLESYMBOL_PATCH 0
2019-10-04 20:51:42 +00:00
2020-05-21 17:58:11 +00:00
/* Makes a window floating and 1/3rd the height and 1/3rd the width of the screen and is
* positioned in either the center or one of the 8 cardinal directions depending on which
* key is pressed.
* https://dwm.suckless.org/patches/moveplace/
*/
#define MOVEPLACE_PATCH 0
2020-05-21 16:55:47 +00:00
/* This patch allows you to move and resize dwm's clients using keyboard bindings.
* https://dwm.suckless.org/patches/moveresize/
*/
#define MOVERESIZE_PATCH 0
2019-10-04 21:13:55 +00:00
/* This patch allows you to move clients around in the stack and swap them with the master.
* https://dwm.suckless.org/patches/movestack/
*/
2019-10-06 22:46:23 +00:00
#define MOVESTACK_PATCH 0
2019-10-04 21:13:55 +00:00
2019-10-04 21:39:01 +00:00
/* Removes the border when there is only one window visible.
* https://dwm.suckless.org/patches/noborder/
*/
2019-10-06 22:46:23 +00:00
#define NOBORDER_PATCH 0
2019-10-04 21:39:01 +00:00
2019-10-24 06:03:00 +00:00
/* Enable modifying or removing dmenu in config.def.h which resulted previously in a
* compilation error because two lines of code hardcode dmenu into dwm.
* https://dwm.suckless.org/patches/nodmenu/
*/
#define NODMENU_PATCH 0
2020-09-18 08:53:07 +00:00
/* This patch allows for toggleable client button bindings that have no modifiers.
* This can, for example, allow you to move or resize using the mouse alone without holding
* down a modifier key. This can be practical if you have extra buttons on your mouse.
* While you can use button bindings with no modifiers without this patch in a bare dwm,
* those buttons are then unavailable for use within the application itself so being able to
* toggle these on and off can be necessary in certain situations (e.g. being able to use
* back and forward buttons in a browser).
* Example bindings:
* { ClkClientWin, 0, Button8, movemouse, {0} },
* { ClkClientWin, 0, Button9, resizemouse, {0} },
*/
#define NO_MOD_BUTTONS_PATCH 0
2020-05-03 08:09:26 +00: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.
* https://github.com/szatanjl/dwm/commit/1529909466206016f2101457bbf37c67195714c8
* https://dwm.suckless.org/patches/alpha/dwm-fixborders-6.2.diff
2020-05-03 08:09:26 +00:00
*/
#define NO_TRANSPARENT_BORDERS_PATCH 0
2020-09-29 13:24:44 +00:00
/* Port of InstantVM's on_empty_keys functionality allowing keybindings that apply only when
* a tag is empty. An example use case is being able to launch applications with first hand
* keys like "f" to launch firefox.
*
* https://github.com/instantOS/instantWM/
* https://github.com/bakkeby/dwm-flexipatch/issues/51
*/
#define ON_EMPTY_KEYS_PATCH 0
2020-09-16 09:00:31 +00:00
/* Minor patch that prevents more than one rule being matched for a given client. */
#define ONLY_ONE_RULE_MATCH_PATCH 0
/* This patch makes it so dwm will only exit via quit() if no windows are open.
* This is to prevent you accidentally losing all your work.
* https://dwm.suckless.org/patches/onlyquitonempty/
*/
#define ONLYQUITONEMPTY_PATCH 0
2019-09-11 06:28:00 +00:00
/* The pertag patch adds nmaster, mfacts and layouts per tag rather than per
* monitor (default).
2019-09-05 20:58:16 +00:00
* https://dwm.suckless.org/patches/pertag/
*/
2019-10-06 22:46:23 +00:00
#define PERTAG_PATCH 0
2019-09-05 20:58:16 +00:00
/* This controls whether or not to also store bar position on a per
* tag basis, or leave it as one bar per monitor.
*/
2019-10-06 22:46:23 +00:00
#define PERTAGBAR_PATCH 0
2019-09-13 22:36:18 +00:00
/* This patch provides a way to move clients up and down inside the client list.
* https://dwm.suckless.org/patches/push/
*/
2019-10-06 22:46:23 +00:00
#define PUSH_PATCH 0
2019-09-13 22:36:18 +00:00
2019-09-14 22:22:24 +00:00
/* This patch provides a way to move clients up and down inside the client list,
* but does not push up or down into the master area (except that it does not take
* nmaster into account).
* This takes precedence over the push patch above.
* https://dwm.suckless.org/patches/push/
*/
#define PUSH_NO_MASTER_PATCH 0
2020-08-02 13:18:18 +00:00
/* Shifts all clients per tag to leftmost unoccupied tags.
*
* For example, if clients A, B, C are tagged on tags 1, 5, 9 respectively, when
* this function is called, they will now be on 1, 2, and 3. The focused client
* will also remain focused.
*
* Clients on multiple tags will be treated as if they only were only on their
* leftmost tag, and will be reduced to one tag after the operation is complete.
* https://dwm.suckless.org/patches/reorganizetags/
*/
#define REORGANIZETAGS_PATCH 0
/* Resets the layout and mfact if there is only one visible client.
* https://dwm.suckless.org/patches/resetlayout/
*/
#define RESETLAYOUT_PATCH 0
2019-09-07 20:35:37 +00:00
/* 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.
* https://dwm.suckless.org/patches/resizecorners/
*/
2019-10-06 22:46:23 +00:00
#define RESIZECORNERS_PATCH 0
2019-09-07 20:35:37 +00:00
2020-06-24 12:49:30 +00:00
/* Practically the same as resizecorners, but the cursor does not warp to corners.
* This takes precedence over the resizecorners patch.
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-resizepoint-6.2.diff
*/
#define RESIZEPOINT_PATCH 0
/* Adds a keyboard shortcut to restart dwm or alternatively by using kill -HUP dwmpid.
* Additionally dwm can quit cleanly by using kill -TERM dwmpid.
* https://dwm.suckless.org/patches/restartsig/
*/
2019-10-06 22:46:23 +00:00
#define RESTARTSIG_PATCH 0
2019-09-07 20:42:01 +00:00
/* This patch let's you rotate through the stack using keyboard shortcuts.
* https://dwm.suckless.org/patches/rotatestack/
*/
2019-10-06 22:46:23 +00:00
#define ROTATESTACK_PATCH 0
2019-09-07 20:42:01 +00:00
2020-03-31 06:21:00 +00:00
/* This patch adds rounded corners to client windows in dwm.
* You need to uncomment the corresponding line in config.mk to use the -lXext library
2020-03-31 06:21:00 +00:00
* when including this patch. You will also want to set "borderpx = 0;" in your config.h.
* https://github.com/mitchweaver/suckless/blob/master/dwm/patches_mitch/mitch-06-rounded_corners-db6093f6ec1bb884f7540f2512935b5254750b30.patch
*/
#define ROUNDED_CORNERS_PATCH 0
2020-01-17 08:54:23 +00:00
/* This patch saves size and position of every floating window before it is forced
2019-09-07 21:08:53 +00:00
* into tiled mode. If the window is made floating again then the old dimensions
* will be restored.
* https://dwm.suckless.org/patches/save_floats/
*/
2019-10-06 22:46:23 +00:00
#define SAVEFLOATS_PATCH 0
2019-09-07 21:29:37 +00:00
/* The scratchpad patch allows you to spawn or restore floating terminal windows.
2019-10-10 21:33:04 +00:00
* It is typically useful when one need to do some short typing.
*
* Note that this patch changes TAGMASK to make room for special scratchpad tags,
* so ~0 does more than select all tags with this patch. Code that relies on ~0 to
* represent all tags should use ~SPTAGMASK instead.
*
[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 14:39:22 +00:00
* Upgraded to Christian Tenllado's multiple scratchpad version.
* https://lists.suckless.org/hackers/2004/17205.html
* https://dwm.suckless.org/patches/scratchpads/
2019-10-10 21:33:04 +00:00
*/
#define SCRATCHPADS_PATCH 0
2019-10-10 21:33:04 +00:00
/* Minor alteration of the above allowing clients to keep their size and position when shown */
#define SCRATCHPADS_KEEP_POSITION_AND_SIZE_PATCH 0
/* This alternative patch enables a scratchpad feature in dwm similar to the scratchpad
* feature in i3wm.
* https://github.com/GasparVardanyan/dwm-scratchpad
*/
#define SCRATCHPAD_ALT_1_PATCH 0
2020-09-16 09:00:31 +00:00
/* As opposed to the original patch this only adds a rule option allowing fake fullscreen
* to be enabled for applications when they start. This is intended to be used in combination
* with the fakefullscreenclient patch and offers no practical functionality without it.
* https://dwm.suckless.org/patches/selectivefakefullscreen/
*/
#define SELECTIVEFAKEFULLSCREEN_PATCH 0
2019-09-14 21:58:04 +00:00
/* Allows restarting dwm without the dependency of an external script.
* https://dwm.suckless.org/patches/selfrestart/
*/
2019-10-06 22:46:23 +00:00
#define SELFRESTART_PATCH 0
2019-09-14 21:58:04 +00:00
2020-06-24 15:27:01 +00:00
/* This patch allow clients to keep focus when being sent to another monitor.
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-sendmon_keepfocus-6.2.diff
*/
2020-06-24 15:12:54 +00:00
#define SENDMON_KEEPFOCUS_PATCH 0
2019-09-14 21:28:04 +00:00
/* This patch allows border pixels to be changed during runtime.
* https://dwm.suckless.org/patches/setborderpx/
*/
2019-10-06 22:46:23 +00:00
#define SETBORDERPX_PATCH 0
2020-01-29 13:22:24 +00:00
/* This patch adds keybindings for left and right circular shift through tags.
* https://github.com/chau-bao-long/dotfiles/blob/master/suckless/dwm/shiftview.diff
*/
#define SHIFTVIEW_PATCH 0
2020-05-03 14:09:05 +00:00
/* This variant of the shiftview patch adds left and right circular shift through tags,
* but skips tags where there are no clients.
*/
#define SHIFTVIEW_CLIENTS_PATCH 0
2020-06-15 19:01:05 +00:00
/* This patch makes dwm obey even "soft" sizehints for new clients. Any window
* that requests a specific initial size will be floated and set to that size.
* Unlike with "fixed size" windows, you are able to resize and/or unfloat these
* windows freely - only the initial state is affected.
* This version of the patch is honestly of limited utility since there are many
* clients that will abuse it.
* https://dwm.suckless.org/patches/sizehints/
*/
#define SIZEHINTS_PATCH 0
/* This patch makes dwm obey even "soft" sizehints for new clients. This ruled
* version is essentially the same patch except it obeys the "isfloating" rule
* if it is available in config.h for the given client.
* https://dwm.suckless.org/patches/sizehints/
*/
#define SIZEHINTS_RULED_PATCH 0
2019-10-07 20:56:53 +00:00
/* In a multi-head setup monitor 0 is by default the primary screen, with the left and right
* screen being monitor 1 and 2 respectively. This patch sorts screens left to right (or
* top to bottom in a vertical layout) which aims to address some inconsistencies when it
* comes to focusmon, tagmon and similar functionality.
* https://www.mail-archive.com/hackers@suckless.org/msg09400.html
*/
#define SORTSCREENS_PATCH 0
2019-10-10 21:50:30 +00:00
/* Spawns programs from currently focused client's working directory.
* https://dwm.suckless.org/patches/spawn_cwd/
*/
#define SPAWNCMD_PATCH 0
/* This patch provides comprehensive utilities for managing the client stack, providing
* keyboard shortcuts for focusing or placing a client at specific positions in the stack.
* Note that the default keybindings for this patch have been changed in dwm-flexipatch
* due to the many conflicts with other patches. As it provides similar functionality to the
* swapfocus patch it also uses the MOD+s shortcut to focus the previously selected client,
* thus note a conflict between these two patches.
* https://dwm.suckless.org/patches/stacker/
*/
#define STACKER_PATCH 0
2020-08-10 15:09:20 +00:00
/* Steam, and steam windows (games), trigger a ConfigureNotify request every time the window
* gets focus. More so, the configure event passed along from Steam tends to have the wrong
* x and y co-ordinates which can make the window, if floating, jump around the screen.
*
* This patch works around this age-old issue by ignoring the x and y co-ordinates for
* ConfigureNotify requests relating to Steam windows.
*
* https://github.com/bakkeby/patches/wiki/steam
*/
#define STEAM_PATCH 0
2019-09-14 22:43:35 +00:00
/* Adds toggleable keyboard shortcut to make a client 'sticky', i.e. visible on all tags.
* https://dwm.suckless.org/patches/sticky/
*/
2019-10-06 22:46:23 +00:00
#define STICKY_PATCH 0
2019-09-14 22:43:35 +00:00
2019-10-22 17:08:00 +00:00
/* This patch adds "window swallowing" to dwm as known from Plan 9's windowing system rio.
* Clients marked with isterminal in config.h swallow a window opened by any child process,
* e.g. running xclock in a terminal. Closing the xclock window restores the terminal window
* in the current position.
* https://dwm.suckless.org/patches/swallow/
*/
#define SWALLOW_PATCH 0
2020-01-29 07:31:00 +00: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
2020-01-29 07:31:00 +00:00
* the previously used window.
* This patch depends on the following additional libraries:
* - libxcb
* - Xlib-libxcb
* - xcb-res
2020-01-29 07:31:00 +00:00
* https://dwm.suckless.org/patches/swapfocus/
*/
#define SWAPFOCUS_PATCH 0
2020-02-11 07:27:00 +00:00
/* This patch allows swapping the contents of the currently selected tag with another tag using
* keyboard shortcuts.
* https://dwm.suckless.org/patches/swaptags/
*/
#define SWAPTAGS_PATCH 0
2019-10-03 22:20:47 +00:00
/* Switch focus between the master and stack columns using a single keybinding.
* https://dwm.suckless.org/patches/switchcol/
*/
2019-10-06 22:46:23 +00:00
#define SWITCHCOL_PATCH 0
2019-10-03 22:20:47 +00:00
2019-09-07 22:23:30 +00:00
/* By default dwm allow you to set application specific rules so that you can have your browser,
* for example, start up on tag 9 optionally on a given monitor when you open your browser it is
* then automatically moved to the configured tag, but you have to manually enable the tag to see
* the newly opened application.
* This patch adds an extra configuration option for individual rules where:
* 0 is default behaviour
* 1 automatically moves you to the tag of the newly opened application and
* 2 enables the tag of the newly opened application in addition to your existing enabled tags
* 3 as 1, but closing that window reverts the view back to what it was previously (*)
* 4 as 2, but closing that window reverts the view back to what it was previously (*)
2019-10-03 22:20:47 +00:00
*
* (*) except if the client has been moved between tags or to another monitor
2019-11-26 19:23:58 +00:00
*
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-switchtag-6.2.diff
2019-11-26 19:23:58 +00:00
* Also see https://dwm.suckless.org/patches/switchtotag
2019-09-07 22:23:30 +00:00
*/
2019-10-06 22:46:23 +00:00
#define SWITCHTAG_PATCH 0
2019-09-07 22:23:30 +00:00
2019-10-04 21:56:00 +00:00
/* Adds keyboard shortcuts to move all (or only floating) windows from one tag to another.
* https://dwm.suckless.org/patches/tagall/
*/
2019-10-06 22:46:23 +00:00
#define TAGALL_PATCH 0
2019-10-04 21:56:00 +00:00
/* This patch allows you to move all visible windows on a monitor to an adjacent monitor.
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-tagallmon-6.2.diff
*/
2019-10-06 22:46:23 +00:00
#define TAGALLMON_PATCH 0
2019-10-04 22:12:52 +00:00
/* This patch 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.
* The allmaster patch will cause all clients in the master area to be left alone. This patch
* takes precedence over the onemaster tagintostack patch.
* https://dwm.suckless.org/patches/tagintostack/
*/
2019-10-06 22:46:23 +00:00
#define TAGINTOSTACK_ALLMASTER_PATCH 0
2019-10-04 22:12:52 +00:00
/* This patch 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.
* The onemaster patch will cause the first client in the master area to be left alone.
* https://dwm.suckless.org/patches/tagintostack/
*/
#define TAGINTOSTACK_ONEMASTER_PATCH 0
2019-09-05 21:39:25 +00:00
/* If you try to send a fullscreen window to an adjacent monitor using tagmon then
* the window is moved behind the scenes, but it remains in fullscreen on the original
* monitor until you exit fullscreen view (at which point it will appear on the adjacent
* monitor). This patch allows a fullscreen window to be moved to an adjacent monitor
* while remaining in fullscreen.
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-tagmonfixfs-6.2.diff
2019-09-05 21:39:25 +00:00
*/
2019-10-06 22:46:23 +00:00
#define TAGMONFIXFS_PATCH 0
2019-09-05 21:27:33 +00:00
2020-06-19 21:18:50 +00:00
/* Add functions and keybindings to tag a window to a desired tag on the next (right)
* or previous (left) monitor from the currently selected monitor.
* https://dwm.suckless.org/patches/tagothermonitor/
*/
#define TAGOTHERMONITOR_PATCH 0
/* This patch allows you to swap all visible windows on one monitor with those of an
* adjacent monitor.
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-tagswapmon-6.2.diff
*/
2019-10-06 22:46:23 +00:00
#define TAGSWAPMON_PATCH 0
2019-09-05 21:27:33 +00:00
/* This patch allows you to toggle fullscreen on and off using a single shortcut key.
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-togglefullscreen-6.2.diff
2019-09-05 21:27:33 +00:00
*/
2019-10-06 22:46:23 +00:00
#define TOGGLEFULLSCREEN_PATCH 0
2019-09-15 22:13:03 +00:00
2020-01-26 06:32:00 +00:00
/* Lets you transfer the currently focused client between the master and stack area
* while increasing or decreasing the master area (nmaster) accordingly.
* https://dwm.suckless.org/patches/transfer/
*/
#define TRANSFER_PATCH 0
2020-02-02 10:55:19 +00:00
/* Lets you transfer all clients between the master and stack area
* while increasing or decreasing the master area (nmaster) accordingly.
* https://dwm.suckless.org/patches/transfer/
*/
#define TRANSFER_ALL_PATCH 0
/* This patch resets isfloating on any visible windows that have it set.
* Optionally also applies a layout.
* https://dwm.suckless.org/patches/unfloatvisible/
*/
2019-10-06 22:46:23 +00:00
#define UNFLOATVISIBLE_PATCH 0
/* This patch adds configurable gaps between windows differentiating between outer, inner,
* horizontal and vertical gaps.
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-vanitygaps-6.2.diff
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-cfacts-vanitygaps-6.2.diff
*/
2019-10-06 22:46:23 +00:00
#define VANITYGAPS_PATCH 0
2019-09-07 21:46:08 +00:00
/* This patch adds outer gaps for the monocle layout.
* Most gaps patches tries to avoid gaps on the monocle layout, as it is often used as a
* fullscreen mode, hence this is enabled separately from the main vanitygaps patch.
*/
#define VANITYGAPS_MONOCLE_PATCH 0
2019-09-15 21:42:47 +00:00
/* Follow a window to the tag it is being moved to.
* https://dwm.suckless.org/patches/viewontag/
*/
#define VIEWONTAG_PATCH 0
/* By default tags can be changed using MOD+<num> while MOD+Tab toggles between the current and
* the previous tag. This patch changes this so that if you hit MOD+<num> for the tag you are
* currently on, then it works the same as MOD+Tab and switches back to the previous tag.
* Idea ref.
* https://www.reddit.com/r/suckless/comments/ik27vd/key_toggle_between_next_and_previous_tag_dwm/
*/
#define VIEW_SAME_TAG_GIVES_PREVIOUS_TAG_PATCH 0
2019-09-14 22:43:35 +00:00
/* This patch 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.
* https://dwm.suckless.org/patches/warp/
*/
#define WARP_PATCH 0
2019-09-07 21:46:08 +00: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".
* https://github.com/bakkeby/patches/blob/master/dwm/dwm-windowrolerule-6.2.diff
2019-09-07 21:46:08 +00:00
*/
2019-10-06 22:46:23 +00:00
#define WINDOWROLERULE_PATCH 0
2019-09-07 21:46:08 +00:00
2019-09-15 21:33:43 +00:00
/* The winview patch allows switching the view to that of a given client from the all-window
* view (Mod-0) using a keyboard shortcut.
* http://dwm.suckless.org/patches/winview/
*/
2019-10-06 22:46:23 +00:00
#define WINVIEW_PATCH 0
2019-09-15 21:33:43 +00:00
/* Allows dwm to read colors from xrdb (.Xresources) during runtime. Compatible with
2019-09-15 22:13:03 +00:00
* the float border color, awesomebar, urgentborder and titlecolor patches.
2019-09-15 20:45:22 +00:00
* https://dwm.suckless.org/patches/xrdb/
*/
2019-10-06 22:46:23 +00:00
#define XRDB_PATCH 0
2019-09-15 20:45:22 +00:00
/* Simple patch that allows floating windows to be zoomed into the master stack position.
* https://www.reddit.com/r/suckless/comments/ie5fe3/zoomfloating_my_own_simple_original_patch/
*/
#define ZOOMFLOATING_PATCH 0
/* The zoomswap patch allows a master and a stack window to swap places
* rather than every window on the screen changing position.
* https://dwm.suckless.org/patches/zoomswap/
*/
2019-10-06 22:46:23 +00:00
#define ZOOMSWAP_PATCH 0
/**
* Layouts
*/
/* Bottomstack layout.
* https://dwm.suckless.org/patches/bottomstack/
*/
2019-09-15 22:32:28 +00:00
#define BSTACK_LAYOUT 0
/* Bottomstack horizontal layout.
* https://dwm.suckless.org/patches/bottomstack/
*/
2019-09-15 22:32:28 +00:00
#define BSTACKHORIZ_LAYOUT 0
2019-09-09 19:35:19 +00:00
/* Centered master layout.
* https://dwm.suckless.org/patches/centeredmaster/
*/
2019-09-15 22:32:28 +00:00
#define CENTEREDMASTER_LAYOUT 0
2019-09-09 19:35:19 +00:00
/* Centered floating master layout.
* https://dwm.suckless.org/patches/centeredmaster/
*/
2019-09-09 20:25:19 +00:00
#define CENTEREDFLOATINGMASTER_LAYOUT 0
2019-09-09 19:35:19 +00:00
2019-10-08 20:57:21 +00:00
/* Same as the default tile layout except clients in the master area are arranged in
* columns (i.e. left to right).
* https://dwm.suckless.org/patches/columns/
*/
#define COLUMNS_LAYOUT 0
2019-09-09 16:00:02 +00:00
/* Deck layout.
* https://dwm.suckless.org/patches/deck/
*/
2019-09-15 22:32:28 +00:00
#define DECK_LAYOUT 0
2019-09-09 16:50:05 +00:00
/* Fibonacci dwindle layout.
* https://dwm.suckless.org/patches/fibonacci/
*/
2019-09-09 17:31:16 +00:00
#define FIBONACCI_DWINDLE_LAYOUT 0
2019-09-09 16:50:05 +00:00
/* Fibonacci spiral layout.
* https://dwm.suckless.org/patches/fibonacci/
*/
2019-09-09 17:31:16 +00:00
#define FIBONACCI_SPIRAL_LAYOUT 0
2019-09-09 17:11:31 +00:00
/* Flextile deluxe layout.
* A revamped, more flexible, and over-the-top version of the original flextile layout.
* https://dwm.suckless.org/patches/flextile/ (original)
2019-09-09 20:25:19 +00:00
*/
2019-10-06 22:46:23 +00:00
#define FLEXTILE_DELUXE_LAYOUT 0
2019-09-09 20:25:19 +00:00
2019-09-09 17:11:31 +00:00
/* Gappless grid layout.
* https://dwm.suckless.org/patches/gaplessgrid/
*/
2019-09-09 17:31:16 +00:00
#define GAPPLESSGRID_LAYOUT 0
/* Gridmode (grid) layout.
* https://dwm.suckless.org/patches/gridmode/
*/
#define GRIDMODE_LAYOUT 0
/* Horizontal grid (horizgrid) layout.
* https://dwm.suckless.org/patches/horizgrid/
*/
#define HORIZGRID_LAYOUT 0
2019-09-09 16:00:02 +00:00
2019-09-09 17:49:41 +00:00
/* Grid layout where nmaster controls the number of rows.
* https://dwm.suckless.org/patches/nrowgrid/
*/
#define NROWGRID_LAYOUT 0
/* The default tile layout.
* This can be optionally disabled in favour of other layouts.
*/
2019-10-06 22:46:23 +00:00
#define TILE_LAYOUT 1
2019-09-09 16:00:02 +00:00
/* Monocle layout (default).
* This can be optionally disabled in favour of other layouts.
*/
2019-10-06 22:46:23 +00:00
#define MONOCLE_LAYOUT 1