Commit Graph

109 Commits

Author SHA1 Message Date
bakkeby
622c4bc0d6 EWMH window float patch: Floating window x, y coordinates may be negative in a multi-monitor setup 2020-06-10 11:22:48 +02:00
bakkeby
6321b52a30 Renamed SCRATCHPAD_PATCH --> SCRATCHPADS_PATCH to match the naming of the suckless patches as the multiple scratchpads patch has its own location now 2020-06-05 11:23:22 +02:00
bakkeby
bad53d2cc4 Upgrading Gaspar Vardanyan's scratchpad patch to the 20200510 version.
https://github.com/GasparVardanyan/dwm-scratchpad/blob/master/dwm-scratchpad-20200510-f09418b.diff
2020-06-05 09:43:27 +02:00
bakkeby
af96d4c358 Adding keymodes patch 2020-05-31 15:14:29 +02:00
bakkeby
643ea4d84f Awesomebar: patch to prevent visual glitches from uneven tabs count 2020-05-28 10:50:33 +02:00
bakkeby
2c9ff7453a dwmblocks and status2d compatibility fix for barpadding patch 2020-05-28 10:31:10 +02:00
bakkeby
66a32a0e48 fancybar: renaming tw variable to ftw due to clash with upstream sw --> tw variable rename 2020-05-28 10:26:01 +02:00
bakkeby
8236f1940b dwmblocks and status2d buttonpress adjustments for awesomebar and statuspadding 2020-05-28 10:15:15 +02:00
bakkeby
2e30bddc16 Fixing status2d and statuscmd / dwmblocks compatibility issues.
Text width calculations when using status2d strings resulted in
statuscmd button placement calculations to be way off. Fixed by
introducing a separate function status2dtextlength to get an
approximate correct text width.
2020-05-27 21:04:22 +02:00
bakkeby
1bf50728a7 Awesomebar: dwm crashes on bar click with 0 clients
Clicking on the bar before any clients have been started results
in dwm crashing. This fix addresses that.
2020-05-27 14:10:51 +02:00
bakkeby
e79aec52c2 Adding status2d patch 2020-05-26 20:53:53 +02:00
bakkeby
df118dc046 Switchtag patch, lose switchtag feature for client if the client is moved to another tag 2020-05-20 16:43:09 +02:00
bakkeby
5e281dcd44 Adding (temporary?) EWMH_WINDOWS_FLOAT_PATCH 2020-05-20 15:25:07 +02:00
bakkeby
1a4b3632d1 Removing redundant lastbutton variable when both statuscmd and dwmblocks patches are enabled 2020-05-05 19:59:21 +02:00
bakkeby
91291ceb9f Removing redundant statuscmds logic when both statuscmd and dwmblocks patches are applied 2020-05-05 19:50:28 +02:00
bakkeby
f028377c98 Adding dwmblocks patch 2020-05-02 14:58:23 +02:00
bakkeby
5911a9b7d7 Upgrade of the tagmonfixfs patch, allows e.g. fullscreen YouTube videos to be moved to an adjacent screen 2020-04-27 20:45:24 +02:00
bakkeby
14b7edd911 Expanded monitor rules patch to include nmaster, showbar and topbar options. 2020-04-26 16:29:44 +02:00
bakkeby
5848460fff Improved swallow and switchtag compatibility 2020-04-23 17:19:17 +02:00
bakkeby
7c4a0c347f Adding if conditions before freeing res_class and res_name in applyrules 2020-04-23 13:16:13 +02:00
bakkeby
1bed3b0093 drawbar: Don't shadow sw global
This jarred me a bit while reading the code, since "sw" usually refers
to the global screen geometry, but in drawbar() only it refers to
text-related geometry. Renaming it makes it more obvious that these are
not related.
2020-04-23 08:07:29 +02:00
bakkeby
2d8d5a0931 getatomprop: Add forward declaration
No functional changes, but for every other function we have a forward
declaration here. getatomprop should be no exception.
2020-04-23 08:00:22 +02:00
bakkeby
11b47dda99 setmfact: Unify bounds for compile-time and runtime mfact
There are two places that mfact can be set:

- In the mfact global, which is defined at compile time and passed
  into m->mfact during monitor setup. No bounds checks are performed,
  but the comment alongside it says that valid values are [0.05..0.95]:

      static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */

- By setmfact, which adjusts m->mfact at runtime. It also does some
  minimum and maximum bounds checks, allowing [0.1..0.9]. Values outside
  of that range are ignored, and mfact is not adjusted.

These different thresholds mean that one cannot setmfact 0.95 or 0.05,
despite the comment above that lists the legal range for mfact.

Clarify this by enforcing the same bounds in setmfact at runtime as
those listed for mfact at compile time.
2020-04-20 18:40:25 +02:00
bakkeby
ec32a28380 [dwm][PATCH] statuscolors, fix status text width computation
This is an updated version of the statuscolors patch that fixes the
computation of the text width. The previous version of the patch
inculded all the byte codes that are used to select the color schemes
when computing the width, obaining a width that is larger than the real
width. This patch fixes that by adding up the widths of the individual
chunks, separated by the codes that select the color schemes.
2020-04-16 20:22:23 +02:00
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
bakkeby
525dc0d107 Adding statuscmd patch ref. #23 2020-04-13 15:01:08 +02:00
bakkeby
c5e257d442 Simplifying the lose fullscreen patch 2020-04-05 11:10:38 +02:00
bakkeby
674c00594b Proposed fix for fake fullscreen clients ref. #15 2020-04-03 16:57:19 +02:00
bakkeby
a560b9cb53 Adding rounded corners patch 2020-03-31 10:21:45 +02:00
bakkeby
e9e32d28c7 Adding revamped dragmfact patch ref. #19 2020-03-27 20:46:54 +01:00
bakkeby
7bc3cf765e Adding stacker patch as requested ref. #17 2020-03-23 12:15:50 +01:00
bakkeby
39df3ca2ec Replacing SchemeSel background for systray with that of SchemeNorm 2020-03-22 19:39:08 +01:00
bakkeby
873b856428 FAKEFULLSCREEN_PATCH takes precedence over the FAKEFULLSCREEN_CLIENT_PATCH, ref. #13 2020-03-20 16:45:20 +01:00
bakkeby
e75decf7de Pertag togglegaps change ref. issue #11 2020-03-07 12:44:42 +01:00
bakkeby
4b45c6071f Adding vtcolors patch 2020-02-11 18:31:11 +01:00
bakkeby
69a7b2ad6b Fixing overlapping window name area when using barpadding patch ref. #9 2020-02-09 13:26:14 +01:00
bakkeby
4ddfdab30e Adding fsignal patch and moved dwmc signal settings to config.def.h 2020-02-02 11:41:34 +01:00
bakkeby
8f53248a0f [dwm][patch] swapfocus just focus next client after tag or toggletag 2020-01-30 09:43:10 +01:00
bakkeby
0da53e1e9b Correcting minor compilation errors in relation to hidevacanttags, barpadding and centeredwindowname patches 2020-01-29 13:17:15 +01:00
bakkeby
5e75da8dd1 Adding swapfocus patch 2020-01-29 11:31:52 +01:00
bakkeby
21ba1d7bb3 [dwm][PATCH] remember to free everything we create 2020-01-27 09:15:20 +01:00
bakkeby
3567e59e20 [dwm][PATCH] remove NULL guards for XFree 2020-01-27 09:13:13 +01:00
bakkeby
60209c98d7 Fixing minor annoyance with the switchtag patch. When closing a window the tag switches back to the previous tag. This fix prevents that from happening when the client has since moved to another monitor. 2020-01-25 18:37:35 +01:00
bakkeby
fa6e3d9500 Holdbar compatibility with barpadding, extrabar and statuspadding. 2020-01-24 20:41:08 +01:00
bakkeby
d04b3899fd Fix for using pertagbar patch, but no zoomswap patch 2020-01-24 11:25:32 +01:00
bakkeby
b866bf5319 Adding barpadding patch and moving patches.h to paches.def.h 2020-01-24 10:52:40 +01:00
bakkeby
bf4fdc6484 Fixes for missleading variable? #2 2020-01-15 13:23:51 +01:00
bakkeby
462445a378 Added [dwm][patch][dragmfact] Fix patch to work with multiple monitors 2019-12-15 09:31:52 +01:00
bakkeby
ab2c5fe5da Adding switchtag improvements 2019-11-26 20:23:58 +01:00
bakkeby
9b85650c1d Adding fakefullscreeenclient patch 2019-11-21 12:23:38 +01:00