aboutsummaryrefslogtreecommitdiff
path: root/monsterwm.c
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2012-06-28 20:40:30 +0300
committerIvan Kanakarakis <ivan.kanak@gmail.com>2012-06-28 20:40:30 +0300
commit8752aedfa608386f3472999b204d3abcb6335af8 (patch)
tree1ed46dc89b6dc17d2d0ce4af6e8e040756dfbd49 /monsterwm.c
parent7ce7b7b5d4b2bc5e79bbb7d23fb2e6096ce97f56 (diff)
no need to tile if the moved client is floating and there are more than one clients on the desktop
Diffstat (limited to 'monsterwm.c')
-rw-r--r--monsterwm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/monsterwm.c b/monsterwm.c
index 22bf802..5a3f602 100644
--- a/monsterwm.c
+++ b/monsterwm.c
@@ -254,7 +254,7 @@ void client_to_desktop(const Arg *arg) {
focus(prev);
if (FOLLOW_WINDOW) change_desktop(arg);
- else if (!c->isfloating && !c->istransient) tile();
+ else if ((!c->isfloating && !c->istransient) || (head && !head->next)) tile();
desktopinfo();
}
@@ -710,7 +710,8 @@ void removeclient(Client *c) {
*p = c->next;
if (c == prev) prev = prevclient(curr);
if (c == curr || (head && !head->next)) focus(prev);
- if (cd != nd) selectdesktop(cd); else if (!c->isfloating && !c->istransient) tile();
+ if (cd != nd) selectdesktop(cd);
+ else if ((!c->isfloating && !c->istransient) || (head && !head->next)) tile();
free(c); c = NULL;
}