Commit Graph

295 Commits

Author SHA1 Message Date
bakkeby
a7d1663571 Adding bar modules which splits the dwm bar into modules allowing for re-arrangement of the bar and easier integration for new features 2020-07-19 05:01:38 +02:00
bakkeby
6961418d63 Extrabar --> extrastatus 2020-07-18 21:12:30 +02:00
bakkeby
346d7f6b1d Making bars list into linked list 2020-07-18 18:58:39 +02:00
bakkeby
664484d572 Refinement 2020-07-18 13:03:30 +02:00
bakkeby
aa70728d00 Adding BarWidthArg, BarDrawArg, BarClickArg to keep the method signatures static 2020-07-15 14:10:47 +02:00
bakkeby
903b32ac8b Major refactoring in preparation for bar modules 2020-07-15 08:57:30 +02:00
bakkeby
38c77b06f0 Fixing rawstext defined but not used warning 2020-07-15 08:31:39 +02:00
bakkeby
1d8aef2198 awesomebar: refactoring remainder logic, which seemed a bit off 2020-07-09 15:24:32 +02:00
bakkeby
fbaa215a14 staticstatus + extrabar: Allow extrabar to be static on a monitor other than that of the main staticstatus monitor 2020-07-08 14:14:07 +02:00
bakkeby
ccb275b984 Extrabar alignment, buttonclicks and other improvements 2020-07-07 17:25:48 +02:00
bakkeby
ab488abc11 Extrabar compatibility improvements 2020-07-05 21:53:36 +02:00
bakkeby
5478f99c3b extrabar compatibility updates
+ only shows on a given monitor if staticstatus patch is enabled.
+ status2d support (although extrabar status is written on the right, not on the left)
+ now clears extrabar on other monitors in a multi-monitor setup
- breaks dwmblocks in terms of registred buttonpresses
- extrabar is not clickable
2020-07-05 16:44:05 +02:00
bakkeby
9fcb63164d center patch: adding options to center transient windows 2020-07-04 21:40:29 +02:00
bakkeby
8f06f9a2d5 switchtag improvements, making the restoring of tags optional and configurable 2020-07-03 15:57:14 +02:00
bakkeby
a7763038fd switchtag improvements, making the restoring of tags optional and configurable 2020-07-03 13:30:21 +02:00
bakkeby
188f2f482f switchtag patch: do not switch tags if the tag is already shown, same with focusonnetactive patch 2020-07-02 10:09:24 +02:00
bakkeby
8120e0b858 Fixed a dwmblocks / statuscmd / systray compatibility issue where button clicks would be misaligned if systray pinning is used and systray is on another monitor 2020-07-01 16:16:19 +02:00
bakkeby
9e8d70788c Adding alternative activetagindicatorbar patch 2020-06-30 11:07:42 +02:00
bakkeby
8c07458f11 holdbar: toggle bar improvements 2020-06-30 10:15:36 +02:00
bakkeby
c14a51524b Adding cursor icons for resizecorners, resizepoint, dragmfact and dragcfact 2020-06-25 11:56:41 +02:00
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
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
bakkeby
42b66d4b29 Addressed some conflicts between CMDCUSTOMIZE and NODMENU patches as well as between EXRESIZE and MAXIMIZE patches 2019-11-04 15:17:19 +01:00
bakkeby
2112ea927f Adding exresize patch 2019-10-24 13:00:05 +02:00
bakkeby
d82be5a65d Adding nodmenu patch 2019-10-24 11:03:39 +02:00
bakkeby
4052783a63 Adding extrabar patch 2019-10-24 10:35:24 +02:00
bakkeby
9e53b46e35 Adding dragmfact patch 2019-10-24 09:52:11 +02:00
bakkeby
3726d8d1ea Adding swallow patch 2019-10-24 09:33:20 +02:00
bakkeby
71e61d180e Adding ispermanent patch 2019-10-22 14:33:22 +02:00
bakkeby
251b933b19 Adding interim patch to ignore xft errors when drawing text on the status bar 2019-10-11 19:43:02 +02:00
bakkeby
063fe26089 Adding spawn_cwd patch 2019-10-10 23:50:30 +02:00
bakkeby
2eb8bcdf15 Adding scratchpad patch 2019-10-10 23:33:04 +02:00
bakkeby
3c9eba037e Adding fakefullscreen patch 2019-10-08 23:15:11 +02:00
bakkeby
83242012da Fixed minor cross-compatibility issues for combo, holdbar, leftlayout, hidevacanttags, taggrid and activetagindicatorbar 2019-10-08 00:54:06 +02:00
bakkeby
ca8638128f Adding dwmc patch 2019-10-07 23:34:23 +02:00
bakkeby
2612060419 Adding sortscreens patch 2019-10-07 22:56:53 +02:00
bakkeby
fc28c6a7b2 Adding statuscolors patch 2019-10-07 00:46:23 +02:00
bakkeby
132ceee073 Added statusallmons patch, fixed minor cross-compatibility issues for killunsel, fullscreen, noborder, tagintostack patches 2019-10-06 23:43:51 +02:00
bakkeby
ac4269a4f2 Adding cmdcustomize patch 2019-10-05 23:56:43 +02:00
bakkeby
f096d003d9 Adding hidevacanttags patch 2019-10-05 23:44:18 +02:00
bakkeby
15a4c58924 Adding taggrid patch 2019-10-05 23:28:50 +02:00
bakkeby
a8049d86bb Adding tagintostack patch 2019-10-05 00:12:52 +02:00
bakkeby
69c6037b26 Adding noborder patch 2019-10-04 23:39:01 +02:00
bakkeby
2de0c0e307 Adding maximize patch 2019-10-04 22:46:47 +02:00
bakkeby
40000bba1c Adding quitonlyonempty patch and made monocle layout position configurable for fullscreen and warp patches 2019-10-03 22:58:58 +02:00
bakkeby
0a23ed6efd Adding restartsig and emptyview patches 2019-10-02 23:22:04 +02:00
bakkeby
37b1b54ab9 Adding fullscreen, holdbar and unfloatvisible patches 2019-10-02 00:03:21 +02:00
bakkeby
1cff033127 Adding leftlayout patch 2019-10-01 22:46:24 +02:00
bakkeby
009819e186 Replaced flextile with flextile-deluxe, refactored monitor rules to support predetermined layouts per tag 2019-09-30 23:52:51 +02:00
bakkeby
aee6e0edf6 Adding focusonclick patch 2019-09-16 00:32:28 +02:00
bakkeby
dc5d77e95f Adding urgentborder patch 2019-09-16 00:13:03 +02:00
bakkeby
49218e94b5 Adding viewontag patch 2019-09-15 23:42:47 +02:00
bakkeby
f8f67508d8 Adding xrdb patch 2019-09-15 22:45:22 +02:00
bakkeby
30e0a3b5e4 Adding sticky and warp patches 2019-09-15 00:46:00 +02:00
bakkeby
5501f81b9c Adding setborderpx patch 2019-09-14 23:28:04 +02:00
bakkeby
c5b830e6ab Adding titlecolor patch 2019-09-13 23:56:05 +02:00
bakkeby
9d82e39580 Adding activetagindicatorbar, alwaysfullscreen and autoresize patches 2019-09-13 00:06:54 +02:00
bakkeby
9e17c55d95 Adding ewmhtags patch 2019-09-12 00:48:29 +02:00
bakkeby
706e06be43 Adding combo patch 2019-09-11 23:35:43 +02:00
bakkeby
e89f262323 Adding monitor rules patch 2019-09-11 12:28:45 +02:00
bakkeby
5d33aebaaf Adding float border color patch 2019-09-11 00:51:37 +02:00
bakkeby
d0757568ee Minor tweaks to awesomebar patch (incl. alpha and systray compatibility) 2019-09-10 10:27:22 +02:00
bakkeby
d6517bf4f8 Adding awesomebar patch 2019-09-10 00:30:17 +02:00
bakkeby
4a17b880ad Adding alternativetags patch 2019-09-09 23:27:10 +02:00
bakkeby
20872921bc Adding flextile patch 2019-09-09 22:25:19 +02:00
bakkeby
e490af0eb2 Adding cfacts, vanitygaps patches and bottomstack layouts 2019-09-09 00:18:47 +02:00
bakkeby
747512af21 Adding center patch 2019-09-08 00:25:48 +02:00
bakkeby
8a71375fed Adding windowrolerule patch 2019-09-07 23:46:08 +02:00
bakkeby
c356be36b9 Adding statuspadding patch 2019-09-07 23:33:48 +02:00
bakkeby
ffe8da4273 Adding savefloats patch 2019-09-07 23:08:53 +02:00
bakkeby
2f4916a64e Adding resizecorners patch 2019-09-07 22:35:37 +02:00
bakkeby
27b6b4b024 Adding focusonnetactive and losefullscreen patches 2019-09-07 00:03:31 +02:00
bakkeby
ec546d7995 Adding fancybar patch 2019-09-06 23:47:06 +02:00
bakkeby
611460c6a6 Adding autostart patch 2019-09-06 23:37:30 +02:00
bakkeby
04a7b4de40 Adding attachabove, attachaside, attachbelow and attachbottom patches 2019-09-06 23:25:32 +02:00
bakkeby
1d7247ebb5 Adding tagmonfixfs patch 2019-09-05 23:39:25 +02:00
bakkeby
e681ab5dd9 Adding zoomswap patch (pertag compatible) 2019-09-05 23:19:23 +02:00
bakkeby
591caea975 Added pertag patch 2019-09-05 22:58:16 +02:00
bakkeby
cba0991170 Adding systray patch 2019-09-05 22:10:00 +02:00
bakkeby
2c9a889b22 Adding README.md 2019-09-05 13:35:52 +02:00
bakkeby
c34c536f3e Adding alpha patch 2019-09-05 00:16:39 +02:00