aboutsummaryrefslogtreecommitdiff
path: root/monsterwm.c
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2012-01-23 03:05:58 +0200
committerIvan Kanakarakis <ivan.kanak@gmail.com>2012-01-23 03:05:58 +0200
commit011840f8c5933c34b709a37acd7f5031dae1f47e (patch)
treeaff5c819176449a4175e186306dc5aba52e8ffe8 /monsterwm.c
parent0feb435548fdc6710a458c3b64072d447f9cb67d (diff)
keep client's properties when moving to another desktop
Diffstat (limited to 'monsterwm.c')
-rw-r--r--monsterwm.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/monsterwm.c b/monsterwm.c
index 93a2787..f89dbbf 100644
--- a/monsterwm.c
+++ b/monsterwm.c
@@ -285,19 +285,24 @@ 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;
+ Window w = current->win;
+ Bool wfloating = current->isfloating;
+ Bool wfullscrn = current->isfullscrn;
+
XUnmapWindow(dis, current->win);
- if (current->isfullscrn) setfullscreen(current, False);
removeclient(current);
select_desktop(arg->i);
current = addwindow(w);
+ current->isfloating = wfloating;
+ current->isfullscrn = wfullscrn;
select_desktop(cd);
tile();
update_current(current);
+
if (FOLLOW_WINDOW) change_desktop(arg);
desktopinfo();
}