diff options
| author | bakkeby <[email protected]> | 2022-03-06 11:38:22 +0100 |
|---|---|---|
| committer | bakkeby <[email protected]> | 2022-03-06 11:38:22 +0100 |
| commit | adc05c2332b6267c4af5bf506ff071629d16f281 (patch) | |
| tree | 8ea1e605244b7cc46437117aaf8b85a12c956c20 /drw.c | |
| parent | 5c321794f1ffb8f395de9b58e1c165e7137df711 (diff) | |
| download | dwm-flexipatch-adc05c2332b6267c4af5bf506ff071629d16f281.tar.gz dwm-flexipatch-adc05c2332b6267c4af5bf506ff071629d16f281.zip | |
Upgrading winicon patch to v2.1 ref. #238
Diffstat (limited to 'drw.c')
| -rw-r--r-- | drw.c | 21 |
1 files changed, 20 insertions, 1 deletions
@@ -89,9 +89,15 @@ drw_create(Display *dpy, int screen, Window root, unsigned int w, unsigned int h drw->depth = depth; drw->cmap = cmap; drw->drawable = XCreatePixmap(dpy, root, w, h, depth); + #if BAR_WINICON_PATCH + drw->picture = XRenderCreatePicture(dpy, drw->drawable, XRenderFindVisualFormat(dpy, visual), 0, NULL); + #endif // BAR_WINICON_PATCH drw->gc = XCreateGC(dpy, drw->drawable, 0, NULL); #else drw->drawable = XCreatePixmap(dpy, root, w, h, DefaultDepth(dpy, screen)); + #if BAR_WINICON_PATCH + drw->picture = XRenderCreatePicture(dpy, drw->drawable, XRenderFindVisualFormat(dpy, DefaultVisual(dpy, screen)), 0, NULL); + #endif // BAR_WINICON_PATCH drw->gc = XCreateGC(dpy, root, 0, NULL); #endif // BAR_ALPHA_PATCH XSetLineAttributes(dpy, drw->gc, 1, LineSolid, CapButt, JoinMiter); @@ -107,18 +113,31 @@ drw_resize(Drw *drw, unsigned int w, unsigned int h) drw->w = w; drw->h = h; + #if BAR_WINICON_PATCH + if (drw->picture) + XRenderFreePicture(drw->dpy, drw->picture); + #endif // BAR_WINICON_PATCH if (drw->drawable) XFreePixmap(drw->dpy, drw->drawable); #if BAR_ALPHA_PATCH drw->drawable = XCreatePixmap(drw->dpy, drw->root, w, h, drw->depth); - #else + #if BAR_WINICON_PATCH + drw->picture = XRenderCreatePicture(drw->dpy, drw->drawable, XRenderFindVisualFormat(drw->dpy, drw->visual), 0, NULL); + #endif // BAR_WINICON_PATCH + #else // !BAR_ALPHA_PATCH drw->drawable = XCreatePixmap(drw->dpy, drw->root, w, h, DefaultDepth(drw->dpy, drw->screen)); + #if BAR_WINICON_PATCH + drw->picture = XRenderCreatePicture(drw->dpy, drw->drawable, XRenderFindVisualFormat(drw->dpy, DefaultVisual(drw->dpy, drw->screen)), 0, NULL); + #endif // BAR_WINICON_PATCH #endif // BAR_ALPHA_PATCH } void drw_free(Drw *drw) { + #if BAR_WINICON_PATCH + XRenderFreePicture(drw->dpy, drw->picture); + #endif // BAR_WINICON_PATCH XFreePixmap(drw->dpy, drw->drawable); XFreeGC(drw->dpy, drw->gc); drw_fontset_free(drw->fonts); |
