diff options
| author | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2012-01-05 00:16:00 +0200 |
|---|---|---|
| committer | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2012-01-05 00:16:00 +0200 |
| commit | cfad65db2d9c742c6385ba4c1400288a5e555e93 (patch) | |
| tree | a30e00479530f5cdc40528791e1be018a60447de | |
| parent | 6936dfd02b6e474a646ec90866de0493c9624fcf (diff) | |
rework client_to_desktop() function
| -rw-r--r-- | monsterwm.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/monsterwm.c b/monsterwm.c index a2adc4f..7529527 100644 --- a/monsterwm.c +++ b/monsterwm.c @@ -192,14 +192,17 @@ void cleanup(void) { void client_to_desktop(const Arg *arg) { if (arg->i == current_desktop || !current) return; + Window w = current->win; int cd = current_desktop; - client *c = current; - if (c->isfullscreen) setfullscreen(c, False); + + XUnmapWindow(dis, current->win); + if (current->isfullscreen) setfullscreen(current, False); + removeclient(current); + select_desktop(arg->i); - addwindow(c->win); + addwindow(w); + select_desktop(cd); - XUnmapWindow(dis, c->win); - removeclient(c); tile(); update_current(); if (FOLLOW_WINDOW) change_desktop(arg); |
