dwm/patch
bakkeby f9a001dee7 [dwm][PATCH] Multiple scratchpads
This patch enables multiple scratchpads, each with one assigned window.
This enables the same scratchpad workflow that you have in i3.

Scratchpads are implemented as special tags, whose mask does not
apply to new spawned windows. To assign a window to a scratchpad you
have to set up a rule, as you do with regular tags.

Windows tagged with scratchpad tags can be set floating or not in the
rules array. Most users would probably want them floating (i3 style),
but having them tiled does also perfectly work and might fit better the
DWM approach. In case they are set floating, the patch moves them to the
center of the screen whenever the are shown. The patch can easily be
modified to make this last feature configurable in the rules array (see
the center patch).

The togglescratch function, borrowed from the previous scratchpad patch
and slightly modified, can be used to spawn a registered scratchpad
process or toggle its view. This function looks for a window tagged on
the selected scratchpad. If it is found its view is toggled. If it is
not found the corresponding registered command is spawned. The
config.def.h shows three examples of its use to spawn a terminal in the
first scratchpad tag, a second terminal running ranger on the second
scratchpad tag and the keepassxc application to manage passwords on a
third scratchpad tag.

If you prefer to spawn your scratchpad applications from the startup
script, you might opt for binding keys to toggleview instead, as
scratchpads are just special tags (you may even extend the TAGKEYS macro
to generalize the key bindings).
2020-04-16 16:39:22 +02:00
..
alpha.c Adding README.md 2019-09-05 13:35:52 +02:00
alpha.h Adding README.md 2019-09-05 13:35:52 +02:00
alternativetags.c Adding alternativetags patch 2019-09-09 23:27:10 +02:00
alternativetags.h Adding alternativetags patch 2019-09-09 23:27:10 +02:00
attachx.c Adding attachabove, attachaside, attachbelow and attachbottom patches 2019-09-06 23:25:32 +02:00
attachx.h Adding attachabove, attachaside, attachbelow and attachbottom patches 2019-09-06 23:25:32 +02:00
autostart.c Adding autostart patch 2019-09-06 23:37:30 +02:00
autostart.h Adding autostart patch 2019-09-06 23:37:30 +02:00
awesomebar.c Minor tweaks to awesomebar patch (incl. alpha and systray compatibility) 2019-09-10 10:27:22 +02:00
awesomebar.h Minor tweaks to awesomebar patch (incl. alpha and systray compatibility) 2019-09-10 10:27:22 +02:00
bstack.c Layouts - re-distributing remaining pixels after even split to address #12 2020-03-20 15:20:07 +01:00
bstack.h Adding cfacts, vanitygaps patches and bottomstack layouts 2019-09-09 00:18:47 +02:00
bstackhoriz.c Layouts - re-distributing remaining pixels after even split to address #12 2020-03-20 15:20:07 +01:00
bstackhoriz.h Adding cfacts, vanitygaps patches and bottomstack layouts 2019-09-09 00:18:47 +02:00
centeredfloatingmaster.c Removing workaround to ensure that floating master stays on top, ref. #20 2020-03-24 10:17:09 +01:00
centeredfloatingmaster.h Adding centered master patches 2019-09-09 21:35:19 +02:00
centeredmaster.c Fixing bugs in relation to #12 2020-03-21 14:23:27 +01:00
centeredmaster.h Adding centered master patches 2019-09-09 21:35:19 +02:00
cfacts.c dragcfact and dragmfact improvements 2020-03-31 11:07:24 +02:00
cfacts.h Layouts - re-distributing remaining pixels after even split to address #12 2020-03-20 15:20:07 +01:00
cmdcustomize.c Adding cmdcustomize patch 2019-10-05 23:56:43 +02:00
cmdcustomize.h Adding cmdcustomize patch 2019-10-05 23:56:43 +02:00
columns.c Layouts - re-distributing remaining pixels after even split to address #12 2020-03-20 15:20:07 +01:00
columns.h Adding columns layout 2019-10-08 22:57:21 +02:00
combo.c Fixed minor cross-compatibility issues for combo, holdbar, leftlayout, hidevacanttags, taggrid and activetagindicatorbar 2019-10-08 00:54:06 +02:00
combo.h Fixed minor cross-compatibility issues for combo, holdbar, leftlayout, hidevacanttags, taggrid and activetagindicatorbar 2019-10-08 00:54:06 +02:00
cyclelayouts.c Adding float border color patch 2019-09-11 00:51:37 +02:00
cyclelayouts.h Adding cyclelayouts patch 2019-09-07 22:27:06 +02:00
deck.c Layouts - re-distributing remaining pixels after even split to address #12 2020-03-20 15:20:07 +01:00
deck.h Adding deck layout 2019-09-09 18:00:02 +02:00
dragcfact.c dragcfact and dragmfact improvements 2020-03-31 11:07:24 +02:00
dragcfact.h Adding dragcfact patch, ref. #19 2020-03-25 15:15:47 +01:00
dragmfact.c dragcfact and dragmfact improvements 2020-03-31 11:07:24 +02:00
dragmfact.h Adding revamped dragmfact patch ref. #19 2020-03-27 20:46:54 +01:00
dwmc Adding dwmc patch 2019-10-07 23:34:23 +02:00
dwmc.c Adding fsignal patch and moved dwmc signal settings to config.def.h 2020-02-02 11:41:34 +01:00
dwmc.h Adding dwmc patch 2019-10-07 23:34:23 +02:00
ewmhtags.c Adding ewmhtags patch 2019-09-12 00:48:29 +02:00
ewmhtags.h Adding ewmhtags patch 2019-09-12 00:48:29 +02:00
exresize.c Addressed some conflicts between CMDCUSTOMIZE and NODMENU patches as well as between EXRESIZE and MAXIMIZE patches 2019-11-04 15:17:19 +01:00
exresize.h Adding exresize patch 2019-10-24 13:00:05 +02:00
fakefullscreenclient.c Adding improvement to the fakefullscreenclient exiting out of proper fullscreen into tiled fullscreen 2019-11-22 09:21:56 +01:00
fakefullscreenclient.h Adding fakefullscreeenclient patch 2019-11-21 12:23:38 +01:00
fibonacci.c Adding float border color patch 2019-09-11 00:51:37 +02:00
fibonacci.h Correcting warnings ref. #4 2020-01-29 13:32:53 +01:00
flextile-deluxe.c Making flextile gridmode pixel perfect 2020-03-29 10:50:07 +02:00
flextile-deluxe.h Adding two new variants of gappless grid to flextile as well as making horizgrid pixel perfect 2020-03-28 21:28:17 +01:00
focusadjacenttag.c Adding focusadjacenttag patch 2019-10-02 23:57:25 +02:00
focusadjacenttag.h Adding focusadjacenttag patch 2019-10-02 23:57:25 +02:00
focusurgent.c Adding focusurgent patch 2019-10-03 00:10:08 +02:00
focusurgent.h Adding focusurgent patch 2019-10-03 00:10:08 +02:00
fsignal.c Adding fsignal patch and moved dwmc signal settings to config.def.h 2020-02-02 11:41:34 +01:00
fsignal.h Adding fsignal patch and moved dwmc signal settings to config.def.h 2020-02-02 11:41:34 +01:00
fullscreen.c Added statusallmons patch, fixed minor cross-compatibility issues for killunsel, fullscreen, noborder, tagintostack patches 2019-10-06 23:43:51 +02:00
fullscreen.h Adding fullscreen, holdbar and unfloatvisible patches 2019-10-02 00:03:21 +02:00
gapplessgrid.c Adding float border color patch 2019-09-11 00:51:37 +02:00
gapplessgrid.h Adding gappless grid layout 2019-09-09 19:11:31 +02:00
grid.c Adding horizgrid and gridmode layouts 2019-09-09 19:31:16 +02:00
grid.h Adding horizgrid and gridmode layouts 2019-09-09 19:31:16 +02:00
holdbar.c [dwm][patch] holdbar: fixed flickering caused by repeated key events 2020-03-29 12:57:07 +02:00
holdbar.h Adding fullscreen, holdbar and unfloatvisible patches 2019-10-02 00:03:21 +02:00
horizgrid.c Adding float border color patch 2019-09-11 00:51:37 +02:00
horizgrid.h Adding horizgrid and gridmode layouts 2019-09-09 19:31:16 +02:00
include.c Adding statuscmd patch ref. #23 2020-04-13 15:01:08 +02:00
include.h Adding statuscmd patch ref. #23 2020-04-13 15:01:08 +02:00
inplacerotate.c Adding inplacerotate patch 2020-01-17 09:54:23 +01:00
inplacerotate.h Adding inplacerotate patch 2020-01-17 09:54:23 +01:00
killunsel.c Added statusallmons patch, fixed minor cross-compatibility issues for killunsel, fullscreen, noborder, tagintostack patches 2019-10-06 23:43:51 +02:00
killunsel.h Adding killunsel patch 2019-10-05 22:55:46 +02:00
layout_facts.c Rewording slave --> stack 2020-03-20 16:18:58 +01:00
maximize.c Addressed some conflicts between CMDCUSTOMIZE and NODMENU patches as well as between EXRESIZE and MAXIMIZE patches 2019-11-04 15:17:19 +01:00
maximize.h Addressed some conflicts between CMDCUSTOMIZE and NODMENU patches as well as between EXRESIZE and MAXIMIZE patches 2019-11-04 15:17:19 +01:00
mdpcontrol.c Tidying style 2019-11-21 12:09:05 +01:00
mdpcontrol.h Adding mdpcontrol patch 2019-10-10 23:09:07 +02:00
monocle.c Adding option to enable gaps for monocle layout, ref. issue #11 2020-03-07 17:03:19 +01:00
monocle.h Adding cfacts, vanitygaps patches and bottomstack layouts 2019-09-09 00:18:47 +02:00
movestack.c Adding movestack patch 2019-10-04 23:13:55 +02:00
movestack.h Adding movestack patch 2019-10-04 23:13:55 +02:00
nrowgrid.c Adding nrowgrid layout 2019-09-09 19:49:41 +02:00
nrowgrid.h Adding nrowgrid layout 2019-09-09 19:49:41 +02:00
pertag.c Pertag togglegaps change ref. issue #11 2020-03-07 12:44:42 +01:00
pertag.h Replaced flextile with flextile-deluxe, refactored monitor rules to support predetermined layouts per tag 2019-09-30 23:52:51 +02:00
push_no_master.c Adding push no master variant patch 2019-09-15 00:22:24 +02:00
push_no_master.h Adding push no master variant patch 2019-09-15 00:22:24 +02:00
push.c Adding sticky and warp patches 2019-09-15 00:46:00 +02:00
push.h Adding push patch 2019-09-14 00:36:18 +02:00
restartsig.c Adding restartsig and emptyview patches 2019-10-02 23:22:04 +02:00
restartsig.h Adding restartsig and emptyview patches 2019-10-02 23:22:04 +02:00
rotatestack.c Adding rotatestack patch 2019-09-07 22:42:01 +02:00
rotatestack.h Adding rotatestack patch 2019-09-07 22:42:01 +02:00
roundedcorners.c Adding rounded corners patch 2020-03-31 10:21:45 +02:00
roundedcorners.h Adding rounded corners patch 2020-03-31 10:21:45 +02:00
scratchpad_alt_1.c Feature request to add alternative scratchpad patch by Gaspar Vardanyan ref. #8 2020-02-09 14:55:40 +01:00
scratchpad_alt_1.h Feature request to add alternative scratchpad patch by Gaspar Vardanyan ref. #8 2020-02-09 14:55:40 +01:00
scratchpad.c [dwm][PATCH] Multiple scratchpads 2020-04-16 16:39:22 +02:00
scratchpad.h [dwm][PATCH] Multiple scratchpads 2020-04-16 16:39:22 +02:00
selfrestart.c Adding winview patch 2019-09-15 23:36:05 +02:00
selfrestart.h Adding selfrestart patch 2019-09-14 23:58:04 +02:00
setborderpx.c Adding setborderpx patch 2019-09-14 23:28:04 +02:00
setborderpx.h Adding setborderpx patch 2019-09-14 23:28:04 +02:00
shiftview.c Added shiftview patch 2020-01-29 14:22:24 +01:00
shiftview.h Added shiftview patch 2020-01-29 14:22:24 +01:00
sortscreens.c Adding sortscreens patch 2019-10-07 22:56:53 +02:00
sortscreens.h Adding sortscreens patch 2019-10-07 22:56:53 +02:00
stacker.c Removing unwanted and forgotten debug line ref. #20 2020-03-23 19:03:02 +01:00
stacker.h Adding stacker patch as requested ref. #17 2020-03-23 12:15:50 +01:00
statuscmd.c Adding statuscmd patch ref. #23 2020-04-13 15:01:08 +02:00
statuscmd.h Adding statuscmd patch ref. #23 2020-04-13 15:01:08 +02:00
sticky.c Adding sticky and warp patches 2019-09-15 00:46:00 +02:00
sticky.h Adding sticky and warp patches 2019-09-15 00:46:00 +02:00
swallow.c Adding swallow patch 2019-10-24 09:33:20 +02:00
swallow.h Adding swallow patch 2019-10-24 09:33:20 +02:00
swapfocus.c Adding swapfocus patch 2020-01-29 11:31:52 +01:00
swapfocus.h Adding swapfocus patch 2020-01-29 11:31:52 +01:00
swaptags.c Adding swaptags patch 2020-02-11 11:27:39 +01:00
swaptags.h Adding swaptags patch 2020-02-11 11:27:39 +01:00
switchcol.c Adding switchcol patch 2019-10-04 00:20:47 +02:00
switchcol.h Adding switchcol patch 2019-10-04 00:20:47 +02:00
systray.c Replacing SchemeSel background for systray with that of SchemeNorm 2020-03-22 19:39:08 +01:00
systray.h Adding systray patch 2019-09-05 22:10:00 +02:00
tagall.c Adding tagall patch 2019-10-04 23:56:00 +02:00
tagall.h Adding tagall patch 2019-10-04 23:56:00 +02:00
tagallmon.c Adding tagallmon and tagswapmon patches 2019-09-05 23:59:13 +02:00
tagallmon.h Adding tagallmon and tagswapmon patches 2019-09-05 23:59:13 +02:00
taggrid.c Tidying style 2019-11-21 12:09:05 +01:00
taggrid.h Adding taggrid patch 2019-10-05 23:28:50 +02:00
tagswapmon.c Adding tagallmon and tagswapmon patches 2019-09-05 23:59:13 +02:00
tagswapmon.h Adding tagallmon and tagswapmon patches 2019-09-05 23:59:13 +02:00
tile.c Layouts - re-distributing remaining pixels after even split to address #12 2020-03-20 15:20:07 +01:00
tile.h Adding cfacts, vanitygaps patches and bottomstack layouts 2019-09-09 00:18:47 +02:00
togglefullscreen.c FAKEFULLSCREEN_PATCH takes precedence over the FAKEFULLSCREEN_CLIENT_PATCH, ref. #13 2020-03-20 16:45:20 +01:00
togglefullscreen.h Adding togglefullscreen patch 2019-09-05 23:27:33 +02:00
transfer.c Adding transfer patch 2020-01-26 15:32:14 +01:00
transfer.h Adding transfer patch 2020-01-26 15:32:14 +01:00
transferall.c Adding transferall patch 2020-02-02 11:55:19 +01:00
transferall.h Adding transferall patch 2020-02-02 11:55:19 +01:00
unfloatvisible.c Adding fullscreen, holdbar and unfloatvisible patches 2019-10-02 00:03:21 +02:00
unfloatvisible.h Adding fullscreen, holdbar and unfloatvisible patches 2019-10-02 00:03:21 +02:00
vanitygaps.c Adding option to enable gaps for monocle layout, ref. issue #11 2020-03-07 17:03:19 +01:00
vanitygaps.h Adding revamped dragmfact patch ref. #19 2020-03-27 20:46:54 +01:00
vtcolors.c Adding vtcolors patch 2020-02-11 18:31:11 +01:00
vtcolors.h Adding vtcolors patch 2020-02-11 18:31:11 +01:00
warp.c Adding sticky and warp patches 2019-09-15 00:46:00 +02:00
warp.h Adding sticky and warp patches 2019-09-15 00:46:00 +02:00
winview.c Adding winview patch 2019-09-15 23:36:05 +02:00
winview.h Adding winview patch 2019-09-15 23:36:05 +02:00
xrdb.c Adding urgentborder patch 2019-09-16 00:13:03 +02:00
xrdb.h Adding xrdb patch 2019-09-15 22:45:22 +02:00
zoomswap.c Adding zoomswap patch (pertag compatible) 2019-09-05 23:19:23 +02:00
zoomswap.h Adding zoomswap patch (pertag compatible) 2019-09-05 23:19:23 +02:00