Commit Graph

89 Commits (1bed3b0093773974f435a23f7b280269b7092c1c)

Author SHA1 Message Date
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.
4 years ago
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.
4 years ago
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.
4 years ago
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.
4 years ago
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).
4 years ago
bakkeby 525dc0d107 Adding statuscmd patch ref. #23 4 years ago
bakkeby c5e257d442 Simplifying the lose fullscreen patch 4 years ago
bakkeby 674c00594b Proposed fix for fake fullscreen clients ref. #15 4 years ago
bakkeby a560b9cb53 Adding rounded corners patch 4 years ago
bakkeby e9e32d28c7 Adding revamped dragmfact patch ref. #19 4 years ago
bakkeby 7bc3cf765e Adding stacker patch as requested ref. #17 4 years ago
bakkeby 39df3ca2ec Replacing SchemeSel background for systray with that of SchemeNorm 4 years ago
bakkeby 873b856428 FAKEFULLSCREEN_PATCH takes precedence over the FAKEFULLSCREEN_CLIENT_PATCH, ref. #13 4 years ago
bakkeby e75decf7de Pertag togglegaps change ref. issue #11 4 years ago
bakkeby 4b45c6071f Adding vtcolors patch 4 years ago
bakkeby 69a7b2ad6b Fixing overlapping window name area when using barpadding patch ref. #9 4 years ago
bakkeby 4ddfdab30e Adding fsignal patch and moved dwmc signal settings to config.def.h 4 years ago
bakkeby 8f53248a0f [dwm][patch] swapfocus just focus next client after tag or toggletag 4 years ago
bakkeby 0da53e1e9b Correcting minor compilation errors in relation to hidevacanttags, barpadding and centeredwindowname patches 4 years ago
bakkeby 5e75da8dd1 Adding swapfocus patch 4 years ago
bakkeby 21ba1d7bb3 [dwm][PATCH] remember to free everything we create 4 years ago
bakkeby 3567e59e20 [dwm][PATCH] remove NULL guards for XFree 4 years ago
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. 4 years ago
bakkeby fa6e3d9500 Holdbar compatibility with barpadding, extrabar and statuspadding. 4 years ago
bakkeby d04b3899fd Fix for using pertagbar patch, but no zoomswap patch 4 years ago
bakkeby b866bf5319 Adding barpadding patch and moving patches.h to paches.def.h 4 years ago
bakkeby bf4fdc6484 Fixes for missleading variable? #2 5 years ago
bakkeby 462445a378 Added [dwm][patch][dragmfact] Fix patch to work with multiple monitors 5 years ago
bakkeby ab2c5fe5da Adding switchtag improvements 5 years ago
bakkeby 9b85650c1d Adding fakefullscreeenclient patch 5 years ago
bakkeby 42b66d4b29 Addressed some conflicts between CMDCUSTOMIZE and NODMENU patches as well as between EXRESIZE and MAXIMIZE patches 5 years ago
bakkeby 2112ea927f Adding exresize patch 5 years ago
bakkeby d82be5a65d Adding nodmenu patch 5 years ago
bakkeby 4052783a63 Adding extrabar patch 5 years ago
bakkeby 9e53b46e35 Adding dragmfact patch 5 years ago
bakkeby 3726d8d1ea Adding swallow patch 5 years ago
bakkeby 71e61d180e Adding ispermanent patch 5 years ago
bakkeby 251b933b19 Adding interim patch to ignore xft errors when drawing text on the status bar 5 years ago
bakkeby 063fe26089 Adding spawn_cwd patch 5 years ago
bakkeby 2eb8bcdf15 Adding scratchpad patch 5 years ago
bakkeby 3c9eba037e Adding fakefullscreen patch 5 years ago
bakkeby 83242012da Fixed minor cross-compatibility issues for combo, holdbar, leftlayout, hidevacanttags, taggrid and activetagindicatorbar 5 years ago
bakkeby ca8638128f Adding dwmc patch 5 years ago
bakkeby 2612060419 Adding sortscreens patch 5 years ago
bakkeby fc28c6a7b2 Adding statuscolors patch 5 years ago
bakkeby 132ceee073 Added statusallmons patch, fixed minor cross-compatibility issues for killunsel, fullscreen, noborder, tagintostack patches 5 years ago
bakkeby ac4269a4f2 Adding cmdcustomize patch 5 years ago
bakkeby f096d003d9 Adding hidevacanttags patch 5 years ago
bakkeby 15a4c58924 Adding taggrid patch 5 years ago
bakkeby a8049d86bb Adding tagintostack patch 5 years ago