summaryrefslogtreecommitdiff
path: root/patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff
diff options
context:
space:
mode:
Diffstat (limited to 'patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff')
-rw-r--r--patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff42
1 files changed, 0 insertions, 42 deletions
diff --git a/patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff b/patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff
deleted file mode 100644
index df2aeb3..0000000
--- a/patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff
+++ /dev/null
@@ -1,42 +0,0 @@
-diff --git dwm.c dwm.c
-index a96f33c..34d1321 100644
---- dwm.c
-+++ dwm.c
-@@ -236,6 +236,7 @@ static int xerrorstart(Display *dpy, XErrorEvent *ee);
- static void zoom(const Arg *arg);
-
- /* variables */
-+static Client *lastfocused = NULL;
- static const char broken[] = "broken";
- static char stext[256];
- static int screen;
-@@ -799,7 +800,11 @@ focus(Client *c)
- detachstack(c);
- attachstack(c);
- grabbuttons(c, 1);
-+ /* set new focused border first to avoid flickering */
- XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel);
-+ /* lastfocused may be us if another window was unmanaged */
-+ if (lastfocused && lastfocused != c)
-+ XSetWindowBorder(dpy, lastfocused->win, scheme[SchemeNorm][ColBorder].pixel);
- setfocus(c);
- } else {
- XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
-@@ -1758,7 +1763,7 @@ unfocus(Client *c, int setfocus)
- if (!c)
- return;
- grabbuttons(c, 0);
-- XSetWindowBorder(dpy, c->win, scheme[SchemeNorm][ColBorder].pixel);
-+ lastfocused = c;
- if (setfocus) {
- XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
- XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
-@@ -1784,6 +1789,8 @@ unmanage(Client *c, int destroyed)
- XSetErrorHandler(xerror);
- XUngrabServer(dpy);
- }
-+ if (lastfocused == c)
-+ lastfocused = NULL;
- free(c);
- focus(NULL);
- updateclientlist();