summaryrefslogtreecommitdiff
path: root/dwm.c%252525253fid%252525253d60e9a14998bfe8666c641f7c27fec18e85ac7494%2525253...
diff options
context:
space:
mode:
authorChris Down <chris@chrisdown.name>2021-12-18 16:58:23 +0000
committerHiltjo Posthuma <hiltjo@codemadness.org>2021-12-19 16:16:30 +0100
commit8657affa2a61e85ca8df76b62e43cb02897d1d80 (patch)
tree278fac042ed0989747aea5a80b8f1f5e92db4efa /dwm.c%252525253fid%252525253d60e9a14998bfe8666c641f7c27fec18e85ac7494%2525253fid%2525253dd39e2f3441fe18aba8d1a62c08918a411ec6f237%25253fid%25253dd39e2f3441fe18aba8d1a62c08918a411ec6f237&id2%25253d8657affa2a61e85ca8df76b62e43cb02897d1d80%253fid%253dd39e2f3441fe18aba8d1a62c08918a411ec6f237&id2%253d8657affa2a61e85ca8df76b62e43cb02897d1d80%3fid%3dd39e2f3441fe18aba8d1a62c08918a411ec6f237?id=8657affa2a61e85ca8df76b62e43cb02897d1d80
parenta786211d6cb794fba0ea406d86002c7618998afc (diff)
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().
Diffstat (limited to 'dwm.c%252525253fid%252525253d60e9a14998bfe8666c641f7c27fec18e85ac7494%2525253fid%2525253dd39e2f3441fe18aba8d1a62c08918a411ec6f237%25253fid%25253dd39e2f3441fe18aba8d1a62c08918a411ec6f237&id2%25253d8657affa2a61e85ca8df76b62e43cb02897d1d80%253fid%253dd39e2f3441fe18aba8d1a62c08918a411ec6f237&id2%253d8657affa2a61e85ca8df76b62e43cb02897d1d80%3fid%3dd39e2f3441fe18aba8d1a62c08918a411ec6f237?id=8657affa2a61e85ca8df76b62e43cb02897d1d80')
0 files changed, 0 insertions, 0 deletions