Commit Graph

526 Commits (1920595795be273d36584e3fa884b9abcf85a92c)
 

Author SHA1 Message Date
bakkeby 1920595795 drawbar: Don't expend effort drawing bar if it is occluded
I noticed that a non-trivial amount of dwm's work on my machine was from
drw_text, which seemed weird, because I have the bar disabled and we
only use drw_text as part of bar drawing.

Looking more closely, I realised that while we use m->showbar when
updating the monitor bar margins, but don't skip actually drawing the
bar if it is hidden. This patch skips drawing it entirely if that is the
case.

On my machine, this takes 10% of dwm's on-CPU time, primarily from
restack() and focus().

When the bar is toggled on again, the X server will generate an Expose
event, and we'll redraw the bar as normal as part of expose().

Ref. https://git.suckless.org/dwm/commit/8657affa2a61e85ca8df76b62e43cb02897d1d80.html
2 years ago
bakkeby aa1a7ff708 Fix for infinite loop when there is only one client and pushup is run twice 2 years ago
Utkarsh Verma 6667f1030b
Make sure it plays well with pertag patch 3 years ago
Utkarsh Verma 3d081ef5f9
Loop through all bars 3 years ago
Utkarsh Verma 0cd25db5af
Fix resizing of bar 3 years ago
Utkarsh Verma 8f401e1d81
Add a new patch to integrate vanity gaps with bar padding 3 years ago
bakkeby 40d30e5d1b Adding the one line of bloat that would have saved a lot of time for a lot of people 3 years ago
bakkeby a9078fdb4d Adding underlinetags patch ref. #199 3 years ago
bakkeby 63fed59d19 Adding taglabels patch ref. #199 3 years ago
bakkeby c7af5c6b67 winicon: Fix potential integer overflow 3 years ago
bakkeby efb9cc721e onlyquitonempty: fix for compilation error when not using the restart sig patch ref. #196 3 years ago
bakkeby 67fc80803d onlyquitonempty: refactoring patch to only take client windows into
consideration when deciding whether or not to allow dwm to quit

As per the original patch
https://dwm.suckless.org/patches/onlyquitonempty/

it used XQueryTree to get a count of the number of windows open to
determine whether to allow the window manager to exit.

This meant that the empty quit count variable would have to take
into account background windows such as the bar, which has side
effects like plugging in another monitor could mean that you would
not longer be allowed to quit dwm until the monitor is removed.

Likewise a systray and each systray icon would give a +1 to the
number of windows in the system.

This is unintuitive to understand and convoluted to explain, hence
the refactoring here to use the more sane approach of only counting
the number of client windows that the window manager manages.

This is an old idea which was intentionally not added to
dwm-flexipatch due to the aim of staying true to the original patch
(as in if you were to patch that manually you would get the same
experience as you had when trying the patch out in dwm-flexipatch).

This is ref. discussion in #194.
3 years ago
bakkeby ec6a64a64f onlyquitonempty + cool_autostart: adding proposed compatibility improvements ref. #194 3 years ago
bakkeby 297412adf4 noborder: addressing issue reported in #193 3 years ago
bakkeby 84355a6d90 fodcusadjacenttag: Add selmon->sel guards for tagandviewtoleft/right to prevent segmentation faults ref. #191 3 years ago
Stein Gunnar Bakkeby ce270a320e
Merge pull request #190 from UtkarshVerma/dwmblocks
Use 'pgrep -o' instead of 'pidof -s' to get the PID of status bar
3 years ago
Utkarsh Verma e39062e543
Use 'pgrep -o' instead of 'pidof -s' to get the PID of status bar 3 years ago
bakkeby e68f434944 Add a statusallmons and staticstatus easily toggleable in patches.h ref. #188 3 years ago
bakkeby a42a81a711 Expanding directives ref. #182 3 years ago
bakkeby 7de6ee8375 savefloats: save centered float position for tiled windows when centered or alwayscentered patches are used ref. #182 3 years ago
bakkeby 22bbf1cb13 Adding alwayscenter patch ref. #182 3 years ago
bakkeby 036421845f Adding separate statuscolors bar module ref. #180 3 years ago
bakkeby c2e4fed918 swallow: new window to respect border of parent terminal 3 years ago
bakkeby f8ae6714db Adding winicon patch 3 years ago
bakkeby d72bc90cdc rioresize: apply an arrange if changing monitors 3 years ago
bakkeby 73a29521e4 Correcting short hash 3 years ago
Stein Gunnar Bakkeby 59eb825b7a
Merge pull request #161 from Ultrahalf/master
Fix typo
3 years ago
Muhamad Althaf 65724b211a
Fix typo 3 years ago
Stein Gunnar Bakkeby 9b3cdeb929
Merge pull request #158 from pepper-jelly/master
portability(gcc and clang agnostic)
3 years ago
pepper-jelly b0070eac02 use portable macro 3 years ago
pepper-jelly 0733c39e0c sed source files to end with 1 new line 3 years ago
bakkeby c968fd9aae Renaming VIEW_SAME_TAG_GIVES_PREVIOUS_TAG_PATCH to TOGGLETAG_PATCH 3 years ago
bakkeby 246f8f7260 Adding togglelayout patch 3 years ago
bakkeby a76fb54d79 focusadjacenttag: for correctness should probably also update current desktop when EWMH patch is enabled 3 years ago
bakkeby 75b0c4f86b focusadjacenttag: adding pertag compatibiltiy ref. #152 3 years ago
bakkeby 9072ef28a4 Splitting SchemeHid to SchemeHidNorm and SchemeHidSel given that a hidden client may still be the selected client ref. #148 3 years ago
bakkeby 9a0fb6c83b vanitygaps: PERTAG_VANITYGAPS_PATCH to control both gaps and whether gaps are enabled per tag ref. #147 3 years ago
bakkeby e1f28aae25 vanitygaps: fix for gaps not being enabled by default when pertag is used ref. #147 3 years ago
bakkeby 28c4d0eab2 Adding note about the Known Issues discussion category 3 years ago
bakkeby cde98665a2 Updating the link for Mitch Weaver's rounded corners patch 3 years ago
bakkeby 7fe81a6280 fakefullscreen vs fakefullscreenclient compatibility, let fakefullscreen take precedence 3 years ago
bakkeby 0b5bc76eef toggelfullscreen: addressing focus change issue when exiting fullscreen properly 3 years ago
bakkeby ef89eb7c71 nodmenu: updating link 3 years ago
bakkeby 2938bf448c config.mk: added build options for FreeBSD 3 years ago
bakkeby fd958dc631 floatpos: allowing window size hints to be updated (this may interfere with window float positions) 3 years ago
bakkeby 9edce6b606 scratchpad_alt_1: upgrading and simplifying patch ref. #124 3 years ago
bakkeby df9533f1eb ipc: get_tags - do not dump tag if the tag is null 3 years ago
bakkeby 579f8f892b ipc: get_tags - do not dump tag if the tag is null ref. #123 3 years ago
Stein Gunnar Bakkeby 3bf6eeca75
Create FUNDING.yml 3 years ago
bakkeby e4c92733f2 IPC: dump_monitor - do not dump bar if there is no bar ref. #118 3 years ago