Commit Graph

125 Commits

Author SHA1 Message Date
bakkeby
5a4c350b9c Updating sendmon_keepfocus to only keep focus if the client had focus 2020-06-25 10:28:31 +02:00
bakkeby
9574035849 Adding sendmon_keepfocus patch 2020-06-24 17:12:54 +02:00
bakkeby
ce12e07163 Adding statusbutton patch ref. #33 2020-06-24 16:36:51 +02:00
bakkeby
04906b4ddf Adding resizepoint patch 2020-06-24 14:49:30 +02:00
bakkeby
9ae251791d floatpos: correction 2020-06-23 11:55:55 +02:00
bakkeby
c3d368f193 Adding bar_height patch 2020-06-21 20:04:56 +02:00
bakkeby
6a683c729e Adding floatpos patch. 2020-06-21 15:33:29 +02:00
bakkeby
5e0a9c49f8 Adding sizehints patch 2020-06-15 21:01:05 +02:00
bakkeby
cac3e7d2c9 Rule macro improvements + rule macro helper macros 2020-06-15 15:34:44 +02:00
bakkeby
a7b226de41 Make EWMH windows float
Move updatewindowtype() functionality into applyrules(), and also make
following EWMH windows float: DIALOG, UTILITY, TOOLBAR, SPLASH.

This is taking the proposed patch to add window type to the rule matching
options for dwm, allowing dialog, utility, toolbar and splash windows
to be configured to float by default.

This patch is intended to be merged into the main dwm build.

In effect the intermediate EWMH_WINDOWS_FLOAT_PATCH has also been removed.
2020-06-15 13:24:23 +02:00
bakkeby
f315188728 Autostart: Make autostart conform to XDG Base Directory specification (upgrade) 2020-06-14 19:56:52 +02:00
bakkeby
6f20203975 Added RULE macro to replace rules setup making the default config less of an abomination and making it simpler to include new rules based patches 2020-06-14 15:52:47 +02:00
bakkeby
8c4eaccf16 Adding pango patch (ref. #10)
Text from original patch:

Using pango markup for status text

Use a single font. Removed some code utf8 code from drw.
Created for pango 1.44. Older versions might not have getter
for font height, ascent + descent can be used instead.
All texts are rendered with pango but only status is with
markup. Increased stext size (in case a lot of markup is used).
MIN/MAX is already defined (didn't redefine them).
2020-06-11 16:44:43 +02:00
bakkeby
e355c49833 noborder: The noborder patch had a bug in it such that if moving the window in floating layout then the window would continuously grow, adding the fix for that 2020-06-10 12:24:46 +02:00
bakkeby
a5e74cd720 staticstatus: Adding note about systray pinning 2020-06-10 12:08:37 +02:00
bakkeby
164095db40 Adding staticstatus patch 2020-06-10 11:52:35 +02:00
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