Advertisement
apoorv569

patches.def.h

Jun 19th, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 33.65 KB | None | 0 0
  1. /*
  2.  * This file contains patch control flags.
  3.  *
  4.  * In principle you should be able to mix and match any patches
  5.  * you may want. In cases where patches are logically incompatible
  6.  * one patch may take precedence over the other as noted in the
  7.  * relevant descriptions.
  8.  *
  9.  * Although layouts typically come as patches they are differentiated
  10.  * here for grouping purposes.
  11.  */
  12.  
  13. /* Patches */
  14.  
  15. /* This patch changes the rectangle indicating if a tag is used by a client into a bar
  16.  * above the tag name for better visibility.
  17.  * https://dwm.suckless.org/patches/activetagindicatorbar/
  18.  */
  19. #define ACTIVETAGINDICATORBAR_PATCH 0
  20.  
  21. /* The alpha patch adds transparency for the status bar.
  22.  * You need to uncomment the corresponding line in config.mk to use the -lXrender library
  23.  * when including this patch.
  24.  * https://dwm.suckless.org/patches/alpha/
  25.  */
  26. #define ALPHA_PATCH 1
  27.  
  28. /* This patch introduces alternative tags which can be switched on the fly for the
  29.  * sole purpose of providing visual aid.
  30.  * https://dwm.suckless.org/patches/alternativetags/
  31.  */
  32. #define ALTERNATIVE_TAGS_PATCH 0
  33.  
  34. /* This patch prevents the focus to drift from the active fullscreen client when
  35.  * using focusstack().
  36.  * https://dwm.suckless.org/patches/alwaysfullscreen/
  37.  */
  38. #define ALWAYSFULLSCREEN_PATCH 0
  39.  
  40. /* This patch adds new clients above the selected client, instead of always
  41.  * becoming the new master. This behaviour is known from Xmonad.
  42.  * This patch takes precedence over ATTACHASIDE_PATCH.
  43.  * https://dwm.suckless.org/patches/attachabove/
  44.  */
  45. #define ATTACHABOVE_PATCH 0
  46.  
  47. /* This patch adds new clients on top of the stack.
  48.  * This patch takes precedence over ATTACHBELOW_PATCH.
  49.  * https://dwm.suckless.org/patches/attachaside/
  50.  */
  51. #define ATTACHASIDE_PATCH 1
  52.  
  53. /* This patch adds new clients below the selected client.
  54.  * This patch takes precedence over ATTACHBOTTOM_PATCH.
  55.  * https://dwm.suckless.org/patches/attachbelow/
  56.  */
  57. #define ATTACHBELOW_PATCH 0
  58.  
  59. /* This patch adds new clients at the bottom of the stack.
  60.  * https://dwm.suckless.org/patches/attachbottom/
  61.  */
  62. #define ATTACHBOTTOM_PATCH 0
  63.  
  64. /* This patch will make dwm run "~/.config/dwm/autostart_blocking.sh" and
  65.  * "~/.config/dwm/autostart.sh &" before entering the handler loop. One or
  66.  * both of these files can be ommited. Note the path inside .config rather
  67.  * than the original ~/.dwm folder.
  68.  * https://dwm.suckless.org/patches/autostart/
  69.  */
  70. #define AUTOSTART_PATCH 1
  71.  
  72. /* By default, windows that are not visible when requesting a resize/move will not
  73.  * get resized/moved. With this patch, they will.
  74.  * https://dwm.suckless.org/patches/autoresize/
  75.  */
  76. #define AUTORESIZE_PATCH 0
  77.  
  78. /* Enhanced taskbar that shows the titles of all visible windows in the status bar
  79.  * and allows focus / hiding / unhiding of windows by clicking on the status bar.
  80.  * Awesomebar takes precedence over fancybar.
  81.  * https://dwm.suckless.org/patches/awesomebar/
  82.  */
  83. #define AWESOMEBAR_PATCH 0
  84.  
  85. /* This patch adds vertical and horizontal space between the statusbar and the edge of the screen.
  86.  * https://dwm.suckless.org/patches/barpadding/
  87.  */
  88. #define BARPADDING_PATCH 0
  89.  
  90. /* This patch adds an iscentered rule to automatically center clients on the current monitor.
  91.  * This patch takes precedence over centeredwindowname and fancybar patches.
  92.  * https://dwm.suckless.org/patches/center/
  93.  */
  94. #define CENTER_PATCH 0
  95.  
  96. /* This patch centers the WM_NAME of the currently selected window on the status bar.
  97.  * Both fancybar and awesomebar patches take precedence over this patch.
  98.  * https://dwm.suckless.org/patches/centeredwindowname/
  99.  */
  100. #define CENTEREDWINDOWNAME_PATCH 0
  101.  
  102. /* This patch provides the ability to assign different weights to clients in their
  103.  * respective stack in tiled layout.
  104.  * https://dwm.suckless.org/patches/cfacts/
  105.  */
  106. #define CFACTS_PATCH 1
  107.  
  108. /* This patch allows color attributes to be set through the command line.
  109.  * https://dwm.suckless.org/patches/cmdcustomize/
  110.  */
  111. #define CMDCUSTOMIZE_PATCH 0
  112.  
  113. /* This patch enables color emoji in dwm by removing a workaround for a BadLength error
  114.  * in the Xft library when color glyphs are used.
  115.  * To enable this you will need an updated Xft library that can handle color glyphs otherwise
  116.  * dwm will crash on encountering such characters. Note that you will also need a font that
  117.  * provides color emojis for this to work.
  118.  */
  119. #define COLOR_EMOJI_PATCH 1
  120.  
  121. /* This patch tweaks the tagging interface so that you can select multiple tags for tag
  122.  * or view by pressing all the right keys as a combo. For example to view tags 1 and 3,
  123.  * hold MOD and then press and hold 1 and 3 together.
  124.  * https://dwm.suckless.org/patches/combo/
  125.  */
  126. #define COMBO_PATCH 0
  127.  
  128. /* The cyclelayouts patch lets you cycle through all your layouts.
  129.  * https://dwm.suckless.org/patches/cyclelayouts/
  130.  */
  131. #define CYCLELAYOUTS_PATCH 1
  132.  
  133. /* Updates the position of dmenu to match that of the bar. I.e. if topbar is 0 then dmenu
  134.  * will appear at the bottom and if 1 then dmenu will appear at the top.
  135.  * https://dwm.suckless.org/patches/dmenumatchtop
  136.  */
  137. #define DMENUMATCHTOP_PATCH 0
  138.  
  139. /* Similarly to the dragmfact patch this allows you to click and drag clients to change the
  140.  * cfact to adjust the client's size in the stack. This patch depends on the cfacts patch.
  141.  */
  142. #define DRAGCFACT_PATCH 0
  143.  
  144. /* This patch lets you resize the split in the tile layout (i.e. modify mfact) by holding
  145.  * the modkey and dragging the mouse.
  146.  * This patch can be a bit wonky with other layouts, but generally works.
  147.  * https://dwm.suckless.org/patches/dragmfact/
  148.  */
  149. #define DRAGMFACT_PATCH 0
  150.  
  151. /* This patch depends on statuscmd patch and adds integration with a (patched) dwmblocks
  152.  * instance to give a clickable status bar.
  153.  * Patch: https://gist.github.com/danbyl/54f7c1d57fc6507242a95b71c3d8fdea
  154.  * dwmblocks: https://github.com/torrinfail/dwmblocks
  155.  */
  156. #define DWMBLOCKS_PATCH 1
  157.  
  158. /* Simple dwmc client using a fork of fsignal to communicate with dwm.
  159.  * To use this either copy the patch/dwmc shell script to somewhere in your path or
  160.  * uncomment the following line in Makefile:
  161.  *    #cp -f patch/dwmc ${DESTDIR}${PREFIX}/bin
  162.  * http://dwm.suckless.org/patches/dwmc/
  163.  */
  164. #define DWMC_PATCH 0
  165.  
  166. /* This patch allows no tag at all to be selected. The result is that dwm will start with
  167.  * no tag selected and when you start a client with no tag rule and no tag selected then
  168.  * it will be opened on the first tag.
  169.  * https://dwm.suckless.org/patches/emptyview/
  170.  */
  171. #define EMPTYVIEW_PATCH 0
  172.  
  173. /* Adds EWMH support for _NET_NUMBER_OF_DESKTOPS, _NET_CURRENT_DESKTOP, _NET_DESKTOP_NAMES
  174.  * and _NET_DESKTOP_VIEWPORT, which allows for compatibility with other bars and programs
  175.  * that request workspace information. For example polybar's xworkspaces module.
  176.  * https://dwm.suckless.org/patches/ewmhtags/
  177.  */
  178. #define EWMHTAGS_PATCH 0
  179.  
  180. /* This patch allows the user to change size and placement of floating windows using only the
  181.  * keyboard. It also allows for temporary vertical and horizontal extension of windows similar
  182.  * to other WMs fill command.
  183.  * https://dwm.suckless.org/patches/exresize/
  184.  */
  185. #define EXRESIZE_PATCH 0
  186.  
  187. /* This patch will enable an extra status bar in dwm in a similar manner to the dualstatus
  188.  * patch. If the primary status is at the top via topbar then the extra status bar will be
  189.  * placed at the bottom and vice versa.
  190.  * https://dwm.suckless.org/patches/extrabar/
  191.  */
  192. #define EXTRABAR_PATCH 0
  193.  
  194. /* Only allow clients to "fullscreen" into the space currently given to them.
  195.  * As an example, this will allow you to view a fullscreen video in your browser on
  196.  * one half of the screen, while having the other half available for other tasks.
  197.  * This patch takes precedence over the fakefullscreen client patch below.
  198.  * https://dwm.suckless.org/patches/fakefullscreen/
  199.  */
  200. #define FAKEFULLSCREEN_PATCH 0
  201.  
  202. /* Similarly to the fakefullscreen patch this patch only allows clients to "fullscreen" into
  203.  * the space currently given to them.
  204.  * The "twist" with this patch is that fake fullscreen can be toggled on a per client basis
  205.  * rather than applying to all clients globally.
  206.  */
  207. #define FAKEFULLSCREEN_CLIENT_PATCH 0
  208.  
  209. /* This patch shows the titles of all visible windows in the status bar
  210.  * (as opposed to showing only the selected one).
  211.  * Awesomebar takes precedence over fancybar. Fancybar takes precedence over
  212.  * the centeredwindowname patch.
  213.  * https://dwm.suckless.org/patches/fancybar/
  214.  */
  215. #define FANCYBAR_PATCH 0
  216.  
  217. /* This patch allows a different border color to be chosen for floating windows.
  218.  * https://dwm.suckless.org/patches/float_border_color/
  219.  */
  220. #define FLOAT_BORDER_COLOR_PATCH 0
  221.  
  222. /* This patch provides the ability to focus the tag on the immediate left or right of the
  223.  * currently focused tag. It also allows to send the focused window either on the left or
  224.  * the right tag.
  225.  * http://dwm.suckless.org/patches/focusadjacenttag/
  226.  */
  227. #define FOCUSADJACENTTAG_PATCH 0
  228.  
  229. /* Switch focus only by mouse click and not sloppy (focus follows mouse pointer).
  230.  * https://dwm.suckless.org/patches/focusonclick/
  231.  */
  232. #define FOCUSONCLICK_PATCH 0
  233.  
  234. /* Selects the next window having the urgent flag regardless of the tag it is on.
  235.  * The urgent flag can be artificially set with the following xdotool command on any window:
  236.  *   xdotool selectwindow -- set_window --urgency 1
  237.  * https://dwm.suckless.org/patches/focusurgent/
  238.  */
  239. #define FOCUSURGENT_PATCH 0
  240.  
  241. /* By default, dwm responds to _NET_ACTIVE_WINDOW client messages by setting
  242.  * the urgency bit on the named window. This patch activates the window instead.
  243.  * https://dwm.suckless.org/patches/focusonnetactive/
  244.  */
  245. #define FOCUSONNETACTIVE_PATCH 0
  246.  
  247. /* Send "fake signals" to dwm for handling, using xsetroot. This will not conflict with the
  248.  * status bar, which also is managed using xsetroot.
  249.  * Also see the dwmc patch, which takes precedence over this patch.
  250.  * https://dwm.suckless.org/patches/fsignal/
  251.  */
  252. #define FSIGNAL_PATCH 0
  253.  
  254. /* Applies the monocle layout with the focused client on top and hides the bar. When pressed
  255.  * again it shows the bar and restores the layout that was active before going fullscreen.
  256.  * NB: This patch assumes that the third layout is monocle and that the bar is shown.
  257.  * https://dwm.suckless.org/patches/fullscreen/
  258.  */
  259. #define FULLSCREEN_PATCH 0
  260.  
  261. /* This patch prevents dwm from drawing tags with no clients (i.e. vacant) on the bar.
  262.  * https://dwm.suckless.org/patches/hide_vacant_tags/
  263.  */
  264. #define HIDEVACANTTAGS_PATCH 1
  265.  
  266. /* With this patch dwm's built-in status bar is only shown when HOLDKEY is pressed
  267.  * and the bar will now overlay the display.
  268.  * http://dwm.suckless.org/patches/holdbar/
  269.  */
  270. #define HOLDBAR_PATCH 0
  271.  
  272. /* This patch provides a keybinding to rotate all clients in the currently selected
  273.  * area (master or stack) without affecting the other area.
  274.  * https://dwm.suckless.org/patches/inplacerotate/
  275.  */
  276. #define INPLACEROTATE_PATCH 0
  277.  
  278. /* Adds rule option for clients to avoid accidental termination by killclient for sticky windows.
  279.  * https://dwm.suckless.org/patches/ispermanent/
  280.  */
  281. #define ISPERMANENT_PATCH 0
  282.  
  283. /* Sometimes dwm crashes when it cannot render some glyphs in window titles (usually emoji).
  284.  * This patch is essentially a hack to ignore any errors when drawing text on the status bar.
  285.  * https://groups.google.com/forum/m/#!topic/wmii/7bncCahYIww
  286.  * https://docs.google.com/viewer?a=v&pid=forums&srcid=MDAwODA2MTg0MDQyMjE0OTgzMzMBMDQ3ODQzODkyMTU3NTAyMTMxNTYBX2RUMVNtOUtDQUFKATAuMQEBdjI&authuser=0
  287.  */
  288. #define IGNORE_XFT_ERRORS_WHEN_DRAWING_TEXT_PATCH 0
  289.  
  290. /* This patch adds key modes (like in vim or emacs) where chains of keyboard shortcuts
  291.  * can be performed.
  292.  * https://dwm.suckless.org/patches/keymodes/
  293.  */
  294. #define KEYMODES_PATCH 0
  295.  
  296. /* This patch adds a keybinding to kills all visible clients that are not selected.
  297.  * https://dwm.suckless.org/patches/killunsel/
  298.  */
  299. #define KILLUNSEL_PATCH 0
  300.  
  301. /* Moves the layout symbol in the status bar to the left hand side.
  302.  * http://dwm.suckless.org/patches/leftlayout/
  303.  */
  304. #define LEFTLAYOUT_PATCH 0
  305.  
  306. /* By default in dwm it is possible to make an application fullscreen, then use
  307.  * the focusstack keybindings to focus on other windows beneath the current window.
  308.  * It is also possible to spawn new windows (e.g. a terminal) that end up getting
  309.  * focus while the previous window remains in fullscreen. This patch ensures that
  310.  * in such scenarios the previous window loses fullscreen.
  311.  * https://github.com/bakkeby/patches/tree/master/dwm/dwm-losefullscreen-6.2.diff
  312.  */
  313. #define LOSEFULLSCREEN_PATCH 0
  314.  
  315. /* This patch adds helper functions for maximizing, horizontally and vertically, floating
  316.  * windows using keybindings.
  317.  * https://dwm.suckless.org/patches/maximize/
  318.  */
  319. #define MAXIMIZE_PATCH 0
  320.  
  321. /* Control Music Player Daemon via keybinds.
  322.  * You need to uncomment the corresponding line in config.mk to use the -lmpdclient library
  323.  * when including this patch.
  324.  * This patch depends on the following additional library:
  325.  *    - libmpdclient
  326.  * https://dwm.suckless.org/patches/mpdcontrol/
  327.  */
  328. #define MDPCONTROL_PATCH 0
  329.  
  330. /* Adds rules per monitor, e.g. have default layouts per monitor.
  331.  * The use case for this is if the second monitor is vertical (i.e. rotated) then
  332.  * you may want to use a different default layout for this monitor than what is
  333.  * used for the main monitor. E.g. normal vertical split for main monitor and
  334.  * horizontal split for the second.
  335.  */
  336. #define MONITOR_RULES_PATCH 0
  337.  
  338. /* Always display the the monocle-symbol as defined in config.h if the monocle-layout
  339.  * is activated. Do not display the number of open clients in the current tag.
  340.  * https://dwm.suckless.org/patches/monoclesymbol/
  341.  */
  342. #define MONOCLESYMBOL_PATCH 0
  343.  
  344. /* Makes a window floating and 1/3rd the height and 1/3rd the width of the screen and is
  345.  * positioned in either the center or one of the 8 cardinal directions depending on which
  346.  * key is pressed.
  347.  * https://dwm.suckless.org/patches/moveplace/
  348.  */
  349. #define MOVEPLACE_PATCH 0
  350.  
  351. /* This patch allows you to move and resize dwm's clients using keyboard bindings.
  352.  * https://dwm.suckless.org/patches/moveresize/
  353.  */
  354. #define MOVERESIZE_PATCH 0
  355.  
  356. /* This patch allows you to move clients around in the stack and swap them with the master.
  357.  * https://dwm.suckless.org/patches/movestack/
  358.  */
  359. #define MOVESTACK_PATCH 0
  360.  
  361. /* Removes the border when there is only one window visible.
  362.  * https://dwm.suckless.org/patches/noborder/
  363.  */
  364. #define NOBORDER_PATCH 1
  365.  
  366. /* Enable modifying or removing dmenu in config.def.h which resulted previously in a
  367.  * compilation error because two lines of code hardcode dmenu into dwm.
  368.  * https://dwm.suckless.org/patches/nodmenu/
  369.  */
  370. #define NODMENU_PATCH 0
  371.  
  372. /* When terminals have transparency then their borders also become transparent.
  373.  * This patch ensures that borders have no transparency. Note that this patch is
  374.  * only relevant if you are not using the alpha patch.
  375.  * https://github.com/szatanjl/dwm/commit/1529909466206016f2101457bbf37c67195714c8
  376.  * https://dwm.suckless.org/patches/alpha/dwm-fixborders-6.2.diff
  377.  */
  378. #define NO_TRANSPARENT_BORDERS_PATCH 0
  379.  
  380. /* This patch makes it so dwm will only exit via quit() if no windows are open.
  381.  * This is to prevent you accidentally losing all your work.
  382.  * https://dwm.suckless.org/patches/onlyquitonempty/
  383.  */
  384. #define ONLYQUITONEMPTY_PATCH 0
  385.  
  386. /* This patch adds simple markup for status messages using pango markup.
  387.  * This depends on the pango library v1.44 or greater.
  388.  * You need to uncomment the corresponding lines in config.mk to use the pango libraries
  389.  * when including this patch.
  390.  *
  391.  * Note that the pango patch does not protect against the BadLength error from Xft
  392.  * when color glyphs are used, which means that dwm will crash if color emoji is used.
  393.  *
  394.  * If you need color emoji then you may want to install this patched library from the AUR:
  395.  * https://aur.archlinux.org/packages/libxft-bgra/
  396.  *
  397.  * A long term fix for the libXft library is pending approval of this pull request:
  398.  * https://gitlab.freedesktop.org/xorg/lib/libxft/-/merge_requests/1
  399.  *
  400.  * Also see:
  401.  * https://developer.gnome.org/pygtk/stable/pango-markup-language.html
  402.  * https://lists.suckless.org/hackers/2004/17285.html
  403.  * https://dwm.suckless.org/patches/pango/
  404.  */
  405. #define PANGO_PATCH 0
  406.  
  407. /* The pertag patch adds nmaster, mfacts and layouts per tag rather than per
  408.  * monitor (default).
  409.  * https://dwm.suckless.org/patches/pertag/
  410.  */
  411. #define PERTAG_PATCH 0
  412.  
  413. /* This controls whether or not to also store bar position on a per
  414.  * tag basis, or leave it as one bar per monitor.
  415.  */
  416. #define PERTAGBAR_PATCH 0
  417.  
  418. /* This patch provides a way to move clients up and down inside the client list.
  419.  * https://dwm.suckless.org/patches/push/
  420.  */
  421. #define PUSH_PATCH 0
  422.  
  423. /* This patch provides a way to move clients up and down inside the client list,
  424.  * but does not push up or down into the master area (except that it does not take
  425.  * nmaster into account).
  426.  * This takes precedence over the push patch above.
  427.  * https://dwm.suckless.org/patches/push/
  428.  */
  429. #define PUSH_NO_MASTER_PATCH 0
  430.  
  431. /* By default, windows only resize from the bottom right corner. With this
  432.  * patch the mouse is warped to the nearest corner and you resize from there.
  433.  * https://dwm.suckless.org/patches/resizecorners/
  434.  */
  435. #define RESIZECORNERS_PATCH 0
  436.  
  437. /* Adds a keyboard shortcut to restart dwm or alternatively by using kill -HUP dwmpid.
  438.  * Additionally dwm can quit cleanly by using kill -TERM dwmpid.
  439.  * https://dwm.suckless.org/patches/restartsig/
  440.  */
  441. #define RESTARTSIG_PATCH 1
  442.  
  443. /* This patch let's you rotate through the stack using keyboard shortcuts.
  444.  * https://dwm.suckless.org/patches/rotatestack/
  445.  */
  446. #define ROTATESTACK_PATCH 1
  447.  
  448. /* This patch adds rounded corners to client windows in dwm.
  449.  * You need to uncomment the corresponding line in config.mk to use the -lXext library
  450.  * when including this patch. You will also want to set "borderpx = 0;" in your config.h.
  451.  * https://github.com/mitchweaver/suckless/blob/master/dwm/patches_mitch/mitch-06-rounded_corners-db6093f6ec1bb884f7540f2512935b5254750b30.patch
  452.  */
  453. #define ROUNDED_CORNERS_PATCH 0
  454.  
  455. /* This patch saves size and position of every floating window before it is forced
  456.  * into tiled mode. If the window is made floating again then the old dimensions
  457.  * will be restored.
  458.  * https://dwm.suckless.org/patches/save_floats/
  459.  */
  460. #define SAVEFLOATS_PATCH 1
  461.  
  462. /* The scratchpads patch allows you to spawn or restore floating terminal windows.
  463.  * It is typically useful when one need to do some short typing.
  464.  * Upgraded to Christian Tenllado's multiple scratchpad version.
  465.  * https://lists.suckless.org/hackers/2004/17205.html
  466.  * https://dwm.suckless.org/patches/scratchpads/
  467.  */
  468. #define SCRATCHPADS_PATCH 0
  469.  
  470. /* The scratchpad patch above automatically resizes and centers the scratchpad window every
  471.  * time you spawn it. This alteration of the patch disables that so that the size and position
  472.  * of the scratchpad window is retained when you respawn it. If you enable this then you may
  473.  * want to also take the centered patch and enable the iscentered flag for floating scratchpads.
  474.  */
  475. #define SCRATCHPAD_KEEP_POSITION_AND_SIZE_PATCH 0
  476.  
  477. /* This alternative patch enables a scratchpad feature in dwm similar to the scratchpad
  478.  * feature in i3wm.
  479.  * https://github.com/GasparVardanyan/dwm-scratchpad
  480.  */
  481. #define SCRATCHPAD_ALT_1_PATCH 0
  482.  
  483. /* Allows restarting dwm without the dependency of an external script.
  484.  * https://dwm.suckless.org/patches/selfrestart/
  485.  */
  486. #define SELFRESTART_PATCH 0
  487.  
  488. /* This patch allows border pixels to be changed during runtime.
  489.  * https://dwm.suckless.org/patches/setborderpx/
  490.  */
  491. #define SETBORDERPX_PATCH 0
  492.  
  493. /* This patch adds keybindings for left and right circular shift through tags.
  494.  * https://github.com/chau-bao-long/dotfiles/blob/master/suckless/dwm/shiftview.diff
  495.  */
  496. #define SHIFTVIEW_PATCH 1
  497.  
  498. /* This variant of the shiftview patch adds left and right circular shift through tags,
  499.  * but skips tags where there are no clients.
  500.  */
  501. #define SHIFTVIEW_CLIENTS_PATCH 0
  502.  
  503. /* This patch makes dwm obey even "soft" sizehints for new clients. Any window
  504.  * that requests a specific initial size will be floated and set to that size.
  505.  * Unlike with "fixed size" windows, you are able to resize and/or unfloat these
  506.  * windows freely - only the initial state is affected.
  507.  * This version of the patch is honestly of limited utility since there are many
  508.  * clients that will abuse it.
  509.  * https://dwm.suckless.org/patches/sizehints/
  510.  */
  511. #define SIZEHINTS_PATCH 0
  512.  
  513. /* This patch makes dwm obey even "soft" sizehints for new clients. This ruled
  514.  * version is essentially the same patch except it obeys the "isfloating" rule
  515.  * if it is available in config.h for the given client.
  516.  * https://dwm.suckless.org/patches/sizehints/
  517.  */
  518. #define SIZEHINTS_RULED_PATCH 0
  519.  
  520. /* In a multi-head setup monitor 0 is by default the primary screen, with the left and right
  521.  * screen being monitor 1 and 2 respectively. This patch sorts screens left to right (or
  522.  * top to bottom in a vertical layout) which aims to address some inconsistencies when it
  523.  * comes to focusmon, tagmon and similar functionality.
  524.  * https://www.mail-archive.com/hackers@suckless.org/msg09400.html
  525.  */
  526. #define SORTSCREENS_PATCH 0
  527.  
  528. /* Spawns programs from currently focused client's working directory.
  529.  * https://dwm.suckless.org/patches/spawn_cwd/
  530.  */
  531. #define SPAWNCMD_PATCH 0
  532.  
  533. /* This patch provides comprehensive utilities for managing the client stack, providing
  534.  * keyboard shortcuts for focusing or placing a client at specific positions in the stack.
  535.  * Note that the default keybindings for this patch have been changed in dwm-flexipatch
  536.  * due to the many conflicts with other patches. As it provides similar functionality to the
  537.  * swapfocus patch it also uses the MOD+s shortcut to focus the previously selected client,
  538.  * thus note a conflict between these two patches.
  539.  * https://dwm.suckless.org/patches/stacker/
  540.  */
  541. #define STACKER_PATCH 0
  542.  
  543. /* This patch allows the status text to be fixed to the bar on a specific
  544.  * monitor rather than being drawn on the focused monitor.
  545.  * The statusallmons patch takes precedence over this patch.
  546.  * NB: If used together with the systray patch then consider setting
  547.  * systraypinning to statmonval+1.
  548.  * https://dwm.suckless.org/patches/staticstatus/
  549.  */
  550. #define STATICSTATUS_PATCH 0
  551.  
  552. /* Status2d allows colors and rectangle drawing in the dwm status bar.
  553.  * This patch is incompatible with the statuscolors patch which takes precedence.
  554.  * This patch is incompatible with the extrabar patch.
  555.  * NB: If using this with dwmblocks then make sure to increase CMDLENGTH in dwmblocks.c
  556.  * from 50 (default) to 1024.
  557.  * https://dwm.suckless.org/patches/status2d/
  558.  */
  559. #define STATUS2D_PATCH 1
  560.  
  561. /* Supplementary patch should you want to disable alpha for the status2d section */
  562. #define STATUS2D_NO_ALPHA_PATCH 0
  563.  
  564. /* This patch draws and updates the statusbar on all monitors.
  565.  * https://dwm.suckless.org/patches/statusallmons/
  566.  */
  567. #define STATUSALLMONS_PATCH 0
  568.  
  569. /* This patch enables colored text in the status bar. It changes the way colors are defined
  570.  * in config.h allowing multiple color combinations for use in the status script.
  571.  * This patch is incompatible with and takes precedence over the status2d patch.
  572.  * https://dwm.suckless.org/patches/statuscolors/
  573.  */
  574. #define STATUSCOLORS_PATCH 0
  575.  
  576. /* This patch adds configuration options for horizontal and vertical padding in the status bar.
  577.  * https://dwm.suckless.org/patches/statuspadding/
  578.  */
  579. #define STATUSPADDING_PATCH 0
  580.  
  581. /* Adds toggleable keyboard shortcut to make a client 'sticky', i.e. visible on all tags.
  582.  * https://dwm.suckless.org/patches/sticky/
  583.  */
  584. #define STICKY_PATCH 1
  585.  
  586. /* This patch adds the ability to execute shell commands based on the mouse button and position
  587.  * when clicking the status bar. Refer to the website for usage.
  588.  * https://dwm.suckless.org/patches/statuscmd/
  589.  */
  590. #define STATUSCMD_PATCH 1
  591.  
  592. /* The systray patch adds systray for the status bar.
  593.  * https://dwm.suckless.org/patches/systray/
  594.  */
  595. #define SYSTRAY_PATCH 1
  596.  
  597. /* This patch adds "window swallowing" to dwm as known from Plan 9's windowing system rio.
  598.  * Clients marked with isterminal in config.h swallow a window opened by any child process,
  599.  * e.g. running xclock in a terminal. Closing the xclock window restores the terminal window
  600.  * in the current position.
  601.  * This patch depends on the following additional libraries:
  602.  *    - libxcb
  603.  *    - Xlib-libxcb
  604.  *    - xcb-res
  605.  * You need to uncomment the corresponding line in config.mk to use the -lX11-xcb, -lxcb
  606.  * and -lxcb-res libraries when including this patch.
  607.  * https://dwm.suckless.org/patches/swallow/
  608.  */
  609. #define SWALLOW_PATCH 1
  610.  
  611. /* This patch depends on the pertag patch and makes it possible to switch focus with a single
  612.  * shortcut (MOD+s) instead of having to think if you should use MOD+j or MOD+k for reaching
  613.  * the previously used window.
  614.  * https://dwm.suckless.org/patches/swapfocus/
  615.  */
  616. #define SWAPFOCUS_PATCH 0
  617.  
  618. /* This patch allows swapping the contents of the currently selected tag with another tag using
  619.  * keyboard shortcuts.
  620.  * https://dwm.suckless.org/patches/swaptags/
  621.  */
  622. #define SWAPTAGS_PATCH 0
  623.  
  624. /* Switch focus between the master and stack columns using a single keybinding.
  625.  * https://dwm.suckless.org/patches/switchcol/
  626.  */
  627. #define SWITCHCOL_PATCH 0
  628.  
  629. /* By default dwm allow you to set application specific rules so that you can have your browser,
  630.  * for example, start up on tag 9 optionally on a given monitor when you open your browser it is
  631.  * then automatically moved to the configured tag, but you have to manually enable the tag to see
  632.  * the newly opened application.
  633.  * This patch adds an extra configuration option for individual rules where:
  634.  *   0 is default behaviour
  635.  *   1 automatically moves you to the tag of the newly opened application and
  636.  *   2 enables the tag of the newly opened application in addition to your existing enabled tags
  637.  *
  638.  * Closing that window reverts the view back to what it was before the window was opened.
  639.  *
  640.  * https://github.com/bakkeby/patches/tree/master/dwm/dwm-switchtag-6.2.diff
  641.  * Also see https://dwm.suckless.org/patches/switchtotag
  642.  */
  643. #define SWITCHTAG_PATCH 0
  644.  
  645. /* Adds keyboard shortcuts to move all (or only floating) windows from one tag to another.
  646.  * https://dwm.suckless.org/patches/tagall/
  647.  */
  648. #define TAGALL_PATCH 0
  649.  
  650. /* This patch allows you to move all visible windows on a monitor to an adjacent monitor.
  651.  * https://github.com/bakkeby/patches/tree/master/dwm/dwm-tagallmon-6.2.diff
  652.  */
  653. #define TAGALLMON_PATCH 0
  654.  
  655. /* This patch adds an option to place tags in rows like in many other window managers.
  656.  * https://dwm.suckless.org/patches/taggrid/
  657.  */
  658. #define TAGGRID_PATCH 0
  659.  
  660. /* This patch makes new clients attach into the stack area when you toggle a new tag into
  661.  * view. This means your master area will remain unchanged when toggling views.
  662.  * The allmaster patch will cause all clients in the master area to be left alone. This patch
  663.  * takes precedence over the onemaster tagintostack patch.
  664.  * https://dwm.suckless.org/patches/tagintostack/
  665.  */
  666. #define TAGINTOSTACK_ALLMASTER_PATCH 0
  667.  
  668. /* This patch makes new clients attach into the stack area when you toggle a new tag into
  669.  * view. This means your master area will remain unchanged when toggling views.
  670.  * The onemaster patch will cause the first client in the master area to be left alone.
  671.  * https://dwm.suckless.org/patches/tagintostack/
  672.  */
  673. #define TAGINTOSTACK_ONEMASTER_PATCH 0
  674.  
  675. /* If you try to send a fullscreen window to an adjacent monitor using tagmon then
  676.  * the window is moved behind the scenes, but it remains in fullscreen on the original
  677.  * monitor until you exit fullscreen view (at which point it will appear on the adjacent
  678.  * monitor). This patch allows a fullscreen window to be moved to an adjacent monitor
  679.  * while remaining in fullscreen.
  680.  * https://github.com/bakkeby/patches/tree/master/dwm/dwm-tagmonfixfs-6.2.diff
  681.  */
  682. #define TAGMONFIXFS_PATCH 0
  683.  
  684. /* This patch allows you to swap all visible windows on one monitor with those of an
  685.  * adjacent monitor.
  686.  * https://github.com/bakkeby/patches/tree/master/dwm/dwm-tagswapmon-6.2.diff
  687.  */
  688. #define TAGSWAPMON_PATCH 0
  689.  
  690. /* Adds a new color scheme used by the (selected) window title in the bar.
  691.  * https://dwm.suckless.org/patches/titlecolor/
  692.  */
  693. #define TITLECOLOR_PATCH 0
  694.  
  695. /* This patch allows you to toggle fullscreen on and off using a single shortcut key.
  696.  * https://github.com/bakkeby/patches/tree/master/dwm/dwm-togglefullscreen-6.2.diff
  697.  */
  698. #define TOGGLEFULLSCREEN_PATCH 0
  699.  
  700. /* Lets you transfer the currently focused client between the master and stack area
  701.  * while increasing or decreasing the master area (nmaster) accordingly.
  702.  * https://dwm.suckless.org/patches/transfer/
  703.  */
  704. #define TRANSFER_PATCH 0
  705.  
  706. /* Lets you transfer all clients between the master and stack area
  707.  * while increasing or decreasing the master area (nmaster) accordingly.
  708.  * https://dwm.suckless.org/patches/transfer/
  709.  */
  710. #define TRANSFER_ALL_PATCH 0
  711.  
  712. /* This patch resets isfloating on any visible windows that have it set.
  713.  * Optionally also applies a layout.
  714.  * https://dwm.suckless.org/patches/unfloatvisible/
  715.  */
  716. #define UNFLOATVISIBLE_PATCH 0
  717.  
  718. /* This patch makes "urgent" windows have different colors.
  719.  * https://dwm.suckless.org/patches/urgentborder/
  720.  */
  721. #define URGENTBORDER_PATCH 0
  722.  
  723. /* This patch adds configurable gaps between windows differentiating between outer, inner,
  724.  * horizontal and vertical gaps.
  725.  * https://github.com/bakkeby/dwm-vanitygaps/tree/master/patches/dwm-vanitygaps-6.2.diff
  726.  * https://github.com/bakkeby/dwm-vanitygaps/tree/master/patches/dwm-vanitygaps-cfacts-6.2.diff
  727.  */
  728. #define VANITYGAPS_PATCH 1
  729.  
  730. /* This patch adds outer gaps for the monocle layout.
  731.  * Most gaps patches tries to avoid gaps on the monocle layout, as it is often used as a
  732.  * fullscreen mode, hence this is enabled separately from the main vanitygaps patch.
  733.  */
  734. #define VANITYGAPS_MONOCLE_PATCH 0
  735.  
  736. /* Follow a window to the tag it is being moved to.
  737.  * https://dwm.suckless.org/patches/viewontag/
  738.  */
  739. #define VIEWONTAG_PATCH 0
  740.  
  741. /* This patch adds the ability for dwm to read colors from the linux virtual console.
  742.  *    /sys/module/vt/parameters/default_{red,grn,blu}
  743.  * Essentially this way the colors you use in your regular tty is "mirrored" to dwm.
  744.  * https://dwm.suckless.org/patches/vtcolors/
  745.  */
  746. #define VTCOLORS_PATCH 0
  747.  
  748. /* This patch warps the mouse cursor to the center of the currently focused window or screen
  749.  * when the mouse cursor is (a) on a different screen or (b) on top of a different window.
  750.  * https://dwm.suckless.org/patches/warp/
  751.  */
  752. #define WARP_PATCH 0
  753.  
  754. /* Sometimes a single application opens different windows depending on the task
  755.  * at hand and this is often reflected in the WM_WINDOW_ROLE(STRING) x property.
  756.  * This patch adds the role field to the rule configuration so that one can
  757.  * differentiate between, say, Firefox "browser" vs "Preferences" vs "Manager"
  758.  * or Google-chrome "browser" vs "pop-up".
  759.  * https://github.com/bakkeby/patches/tree/master/dwm/dwm-windowrolerule-6.2.diff
  760.  */
  761. #define WINDOWROLERULE_PATCH 0
  762.  
  763. /* The winview patch allows switching the view to that of a given client from the all-window
  764.  * view (Mod-0) using a keyboard shortcut.
  765.  * http://dwm.suckless.org/patches/winview/
  766.  */
  767. #define WINVIEW_PATCH 0
  768.  
  769. /* Allows dwm to read colors from xrdb (.Xresources) during runtime. Compatible with
  770.  * the float border color, awesomebar, urgentborder and titlecolor patches.
  771.  * https://dwm.suckless.org/patches/xrdb/
  772.  */
  773. #define XRDB_PATCH 0
  774.  
  775. /* The zoomswap patch allows a master and a stack window to swap places
  776.  * rather than every window on the screen changing position.
  777.  * https://dwm.suckless.org/patches/zoomswap/
  778.  */
  779. #define ZOOMSWAP_PATCH 0
  780.  
  781. /* Layouts */
  782.  
  783. /* Bottomstack layout.
  784.  * https://dwm.suckless.org/patches/bottomstack/
  785.  */
  786. #define BSTACK_LAYOUT 0
  787.  
  788. /* Bottomstack horizontal layout.
  789.  * https://dwm.suckless.org/patches/bottomstack/
  790.  */
  791. #define BSTACKHORIZ_LAYOUT 0
  792.  
  793. /* Centered master layout.
  794.  * https://dwm.suckless.org/patches/centeredmaster/
  795.  */
  796. #define CENTEREDMASTER_LAYOUT 1
  797.  
  798. /* Centered floating master layout.
  799.  * https://dwm.suckless.org/patches/centeredmaster/
  800.  */
  801. #define CENTEREDFLOATINGMASTER_LAYOUT 0
  802.  
  803. /* Same as the default tile layout except clients in the master area are arranged in
  804.  * columns (i.e. left to right).
  805.  * https://dwm.suckless.org/patches/columns/
  806.  */
  807. #define COLUMNS_LAYOUT 1
  808.  
  809. /* Deck layout.
  810.  * https://dwm.suckless.org/patches/deck/
  811.  */
  812. #define DECK_LAYOUT 1
  813.  
  814. /* Fibonacci dwindle layout.
  815.  * https://dwm.suckless.org/patches/fibonacci/
  816.  */
  817. #define FIBONACCI_DWINDLE_LAYOUT 1
  818.  
  819. /* Fibonacci spiral layout.
  820.  * https://dwm.suckless.org/patches/fibonacci/
  821.  */
  822. #define FIBONACCI_SPIRAL_LAYOUT 0
  823.  
  824. /* Flextile deluxe layout.
  825.  * A revamped, more flexible, and over-the-top version of the original flextile layout.
  826.  * https://dwm.suckless.org/patches/flextile/ (original)
  827.  */
  828. #define FLEXTILE_DELUXE_LAYOUT 0
  829.  
  830. /* Gappless grid layout.
  831.  * https://dwm.suckless.org/patches/gaplessgrid/
  832.  */
  833. #define GAPPLESSGRID_LAYOUT 0
  834.  
  835. /* Gridmode (grid) layout.
  836.  * https://dwm.suckless.org/patches/gridmode/
  837.  */
  838. #define GRIDMODE_LAYOUT 1
  839.  
  840. /* Horizontal grid (horizgrid) layout.
  841.  * https://dwm.suckless.org/patches/horizgrid/
  842.  */
  843. #define HORIZGRID_LAYOUT 0
  844.  
  845. /* Grid layout where nmaster controls the number of rows.
  846.  * https://dwm.suckless.org/patches/nrowgrid/
  847.  */
  848. #define NROWGRID_LAYOUT 0
  849.  
  850. /* The default tile layout.
  851.  * This can be optionally disabled in favour of other layouts.
  852.  */
  853. #define TILE_LAYOUT 1
  854.  
  855. /* Monocle layout (default).
  856.  * This can be optionally disabled in favour of other layouts.
  857.  */
  858. #define MONOCLE_LAYOUT 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement