diff options
author | xAlpharax <42233094+xAlpharax@users.noreply.github.com> | 2023-08-16 23:49:08 +0300 |
---|---|---|
committer | xAlpharax <42233094+xAlpharax@users.noreply.github.com> | 2023-08-16 23:49:08 +0300 |
commit | 1a9fcf5fdd6e9adccd46b0cec15ad57f77f5b6dd (patch) | |
tree | 7b2b5aac5be160dba18ebea7e209f0ae3e7d889f /patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff | |
parent | 812aa788fa06c9a48fb7b5f54d08c99cbb4f709c (diff) |
Patching better gaps with fullgaps. Everything is stable in this commit.
Changes to be committed:
modified: config.def.h
modified: config.def.h.orig
modified: config.def.h.rej
modified: config.h
modified: drw.c
modified: drw.c.orig
deleted: dwm.1.orig
modified: dwm.c
modified: dwm.c.orig
modified: dwm.c.rej
renamed: patches_new/dwm-fullgaps-6.4.diff -> patches/dwm-fullgaps-6.4.diff
deleted: patches/dwm-uselessgap-20211119-58414bee958f2.diff
renamed: patches_new/dwm-tag-preview-6.3.diff -> patches_huge/dwm-tag-preview-6.3.diff
renamed: patches_new/dwm-winicon-6.3-v2.1.diff -> patches_huge/dwm-winicon-6.3-v2.1.diff
modified: patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff
Diffstat (limited to 'patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff')
-rw-r--r-- | patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff b/patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff index e69de29..df2aeb3 100644 --- a/patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff +++ b/patches_new/dwm-noborderflicker-20211227-8657affa2a61.diff @@ -0,0 +1,42 @@ +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(); |