Commit Graph

662 Commits (master)
 

Author SHA1 Message Date
bakkeby 904cc5962f No real reason for using Bool here, we use ints everywhere else 4 years ago
bakkeby 14b7edd911 Expanded monitor rules patch to include nmaster, showbar and topbar options. 4 years ago
bakkeby 5848460fff Improved swallow and switchtag compatibility 4 years ago
bakkeby 7c4a0c347f Adding if conditions before freeing res_class and res_name in applyrules 4 years ago
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 a84f1b01d2 Adding fix for attachbottom patch 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 d258c3bb69 Updating patch location for moved patches 4 years ago
bakkeby e6f9b592ee Adding reference to dragcfact patch 4 years ago
bakkeby c5e257d442 Simplifying the lose fullscreen patch 4 years ago
bakkeby b3d6a47f4f config.mk: fix POSIX_C_SOURCE macro for feature test for snprintf()
The feature test was incorrect:
_POSIX_C_SOURCE=2

"The value 2 or greater additionally exposes definitions for POSIX.2-1992."
http://man7.org/linux/man-pages/man7/feature_test_macros.7.html

A higher value is needed (atleast 1995):
https://pubs.opengroup.org/onlinepubs/9699919799/functions/snprintf.html

FreeBSD feature test macro:
on
https://github.com/freebsd/freebsd/blob/master/include/stdio.h line 297

This was already fixed in dmenu.

This fixes a warning on FreeBSD, reported by Plasmoduck on IRC, thanks.
4 years ago
bakkeby 674c00594b Proposed fix for fake fullscreen clients ref. #15 4 years ago
bakkeby 9440e76936 The Xrender library does not need to be included by default, only include when alpha patch is enabled. 4 years ago
bakkeby 32030e4b2c Correcting link to patches.h following move to patches.def.h 4 years ago
bakkeby d9337195f3 Rounded corners patch, add 0 borderpx by default 4 years ago
bakkeby 692affcff7 dragcfact and dragmfact improvements 4 years ago
bakkeby a560b9cb53 Adding rounded corners patch 4 years ago
bakkeby f2673fec53 [dwm][patch] holdbar: fixed flickering caused by repeated key events 4 years ago
bakkeby 7094852845 Making flextile gridmode pixel perfect 4 years ago
bakkeby 1bd0871daf Adding two new variants of gappless grid to flextile as well as making horizgrid pixel perfect 4 years ago
bakkeby e9e32d28c7 Adding revamped dragmfact patch ref. #19 4 years ago
bakkeby cf2e0c1d70 dragcfact - if the window is floating, then fall back to resizing the window rather than doing nothing, #19 4 years ago
bakkeby 32d3d2b7c3 Adding dragcfact patch, ref. #19 4 years ago
bakkeby d17a306a94 Removing workaround to ensure that floating master stays on top, ref. #20 4 years ago
bakkeby becbb9bfbf Removing unwanted and forgotten debug line ref. #20 4 years ago
bakkeby 52db51175b Bug failing to close the last window using the centered floating master layout, ref. #20 4 years ago
bakkeby ceed6813d3 Styling 4 years ago
bakkeby 7bc3cf765e Adding stacker patch as requested ref. #17 4 years ago
bakkeby cd818c14bb Update about layout updates 4 years ago
bakkeby 39df3ca2ec Replacing SchemeSel background for systray with that of SchemeNorm 4 years ago
bakkeby 9344ff61dd Alternative fix which is more in line with the original diff, ref. #18 4 years ago
bakkeby f401a51fa8 Fix broken client when using systray without the alpha patch, ref. #18 4 years ago
bakkeby 9bc39c02b2 Fixing bugs in relation to #12 4 years ago
bakkeby 873b856428 FAKEFULLSCREEN_PATCH takes precedence over the FAKEFULLSCREEN_CLIENT_PATCH, ref. #13 4 years ago
bakkeby 2541d38d2c Rewording slave --> stack 4 years ago
bakkeby 8047fe257b Layouts - re-distributing remaining pixels after even split to address #12 4 years ago
bakkeby 143f94cbc2 Fix for 0 nmaster for tile layout 4 years ago
bakkeby 58ab50845d Adding option to enable gaps for monocle layout, ref. issue #11 4 years ago
bakkeby e75decf7de Pertag togglegaps change ref. issue #11 4 years ago
bakkeby 4b45c6071f Adding vtcolors patch 4 years ago
bakkeby 9ef44a0bc1 Config definition fix for swaptags 4 years ago
bakkeby 90a848d608 Adding swaptags patch 4 years ago
bakkeby 8cb609fa1e Fix for systray flickering ref. #9 4 years ago
bakkeby ed20fd9c61 Feature request to add alternative scratchpad patch by Gaspar Vardanyan ref. #8 4 years ago
bakkeby 69a7b2ad6b Fixing overlapping window name area when using barpadding patch ref. #9 4 years ago
bakkeby ecd64a9769 Fix systray position when barpadding patch is enabled, ref. #9 4 years ago