code-style: simplify some checks - dwm - dynamic window manager | |
git clone git://git.suckless.org/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 5e76e7e21da042c493c59235ca82d7275f20a7e4 | |
parent 5b2e5e7a4001479e4dc3e245f96e49f7ea0da658 | |
Author: NRK <[email protected]> | |
Date: Sat, 6 Aug 2022 04:27:13 +0600 | |
code-style: simplify some checks | |
main change here is making the `zoom()` logic saner. the rest of the | |
changes are just small stuff which accumulated on my local branch. | |
pop() must not be called with NULL. and `zoom()` achieves this, but in a | |
very (unnecessarily) complicated way: | |
if c == NULL then nexttiled() will return NULL as well, so we enter this | |
branch: | |
if (c == nexttiled(selmon->clients)) | |
in here the !c check fails and the function returns before calling pop() | |
if (!c || !(c = nexttiled(c->next))) | |
return; | |
however, none of this was needed. we can simply return early if c was NULL. | |
Also `c` is set to `selmon->sel` so we can use `c` in the first check | |
instead which makes things shorter. | |
Diffstat: | |
M dwm.c | 23 ++++++++--------------- | |
1 file changed, 8 insertions(+), 15 deletions(-) | |
--- | |
diff --git a/dwm.c b/dwm.c | |
@@ -918,13 +918,11 @@ gettextprop(Window w, Atom atom, char *text, unsigned int… | |
text[0] = '\0'; | |
if (!XGetTextProperty(dpy, w, &name, atom) || !name.nitems) | |
return 0; | |
- if (name.encoding == XA_STRING) | |
+ if (name.encoding == XA_STRING) { | |
strncpy(text, (char *)name.value, size - 1); | |
- else { | |
- if (XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Succes… | |
- strncpy(text, *list, size - 1); | |
- XFreeStringList(list); | |
- } | |
+ } else if (XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success… | |
+ strncpy(text, *list, size - 1); | |
+ XFreeStringList(list); | |
} | |
text[size - 1] = '\0'; | |
XFree(name.value); | |
@@ -1099,9 +1097,7 @@ maprequest(XEvent *e) | |
static XWindowAttributes wa; | |
XMapRequestEvent *ev = &e->xmaprequest; | |
- if (!XGetWindowAttributes(dpy, ev->window, &wa)) | |
- return; | |
- if (wa.override_redirect) | |
+ if (!XGetWindowAttributes(dpy, ev->window, &wa) || wa.override_redirec… | |
return; | |
if (!wintoclient(ev->window)) | |
manage(ev->window, &wa); | |
@@ -1603,7 +1599,6 @@ setup(void) | |
focus(NULL); | |
} | |
- | |
void | |
seturgent(Client *c, int urg) | |
{ | |
@@ -2124,12 +2119,10 @@ zoom(const Arg *arg) | |
{ | |
Client *c = selmon->sel; | |
- if (!selmon->lt[selmon->sellt]->arrange | |
- || (selmon->sel && selmon->sel->isfloating)) | |
+ if (!selmon->lt[selmon->sellt]->arrange || !c || c->isfloating) | |
+ return; | |
+ if (c == nexttiled(selmon->clients) && !(c = nexttiled(c->next))) | |
return; | |
- if (c == nexttiled(selmon->clients)) | |
- if (!c || !(c = nexttiled(c->next))) | |
- return; | |
pop(c); | |
} | |