diff options
| author | NRK <nrk@disroot.org> | 2022-08-06 04:27:13 +0600 | 
|---|---|---|
| committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2022-08-06 16:09:01 +0200 | 
| commit | 5e76e7e21da042c493c59235ca82d7275f20a7e4 (patch) | |
| tree | ec24d53824887428d186c7d38776f155ebc9b892 | |
| parent | 5b2e5e7a4001479e4dc3e245f96e49f7ea0da658 (diff) | |
| download | dwm-5e76e7e21da042c493c59235ca82d7275f20a7e4.tar.gz dwm-5e76e7e21da042c493c59235ca82d7275f20a7e4.zip | |
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.
| -rw-r--r-- | dwm.c | 23 | 
1 files changed, 8 insertions, 15 deletions
| @@ -918,13 +918,11 @@ gettextprop(Window w, Atom atom, char *text, unsigned int size)  	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) >= Success && n > 0 && *list) { -			strncpy(text, *list, size - 1); -			XFreeStringList(list); -		} +	} else if (XmbTextPropertyToTextList(dpy, &name, &list, &n) >= Success && n > 0 && *list) { +		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_redirect)  		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);  } | 
