summaryrefslogtreecommitdiffhomepage
path: root/patch
diff options
context:
space:
mode:
authorbakkeby <[email protected]>2020-02-09 15:17:05 +0100
committerbakkeby <[email protected]>2020-02-09 15:17:05 +0100
commit8cb609fa1ed1ead8afce4b6003bdd59c9e17226b (patch)
treebcbd1e1f0994c1310d01a33d3bddabcc7b2f7a5e /patch
parented20fd9c611ebeca0221e4e88a29c859bccb9797 (diff)
downloaddwm-flexipatch-8cb609fa1ed1ead8afce4b6003bdd59c9e17226b.tar.gz
dwm-flexipatch-8cb609fa1ed1ead8afce4b6003bdd59c9e17226b.zip
Fix for systray flickering ref. #9
Diffstat (limited to 'patch')
-rw-r--r--patch/systray.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/patch/systray.c b/patch/systray.c
index 27610f3..26d3de0 100644
--- a/patch/systray.c
+++ b/patch/systray.c
@@ -62,7 +62,11 @@ updatesystray(void)
Client *i;
Monitor *m = systraytomon(NULL);
unsigned int x = m->mx + m->mw;
- unsigned int w = 1;
+ unsigned int w = 1, xpad = 0, ypad = 0;
+ #if BARPADDING_PATCH
+ xpad = sp;
+ ypad = vp;
+ #endif // BARPADDING_PATCH
if (!showsystray)
return;
@@ -79,11 +83,11 @@ updatesystray(void)
.colormap = cmap,
.event_mask = ButtonPressMask|ExposureMask
};
- systray->win = XCreateWindow(dpy, root, x, m->by, w, bh, 0, depth,
+ systray->win = XCreateWindow(dpy, root, x - xpad, m->by + ypad, w, bh, 0, depth,
InputOutput, visual,
CWOverrideRedirect|CWBackPixel|CWBorderPixel|CWColormap|CWEventMask, &wa);
#else
- systray->win = XCreateSimpleWindow(dpy, root, x, m->by, w, bh, 0, 0, scheme[SchemeSel][ColBg].pixel);
+ systray->win = XCreateSimpleWindow(dpy, root, x - xpad, m->by + ypad, w, bh, 0, 0, scheme[SchemeSel][ColBg].pixel);
#endif // ALPHA_PATCH
XSelectInput(dpy, systray->win, SubstructureNotifyMask);
XChangeProperty(dpy, systray->win, netatom[NetSystemTrayOrientation], XA_CARDINAL, 32,
@@ -121,14 +125,9 @@ updatesystray(void)
}
w = w ? w + systrayspacing : 1;
x -= w;
- XMoveResizeWindow(dpy, systray->win, x, m->by, w, bh);
- #if BARPADDING_PATCH
- wc.x = x - sp;
- wc.y = m->by + vp;
- #else
- wc.x = x;
- wc.y = m->by;
- #endif // BARPADDING_PATCH
+ XMoveResizeWindow(dpy, systray->win, x - xpad, m->by + ypad, w, bh);
+ wc.x = x - xpad;
+ wc.y = m->by + ypad;
wc.width = w;
wc.height = bh;
wc.stack_mode = Above; wc.sibling = m->barwin;