Blob Blame History Raw
--- a/main.c	
+++ a/main.c	
@@ -681,7 +681,7 @@ static int window_to_desktop (Display *disp, Window win, int desktop) {/*{{{*/
     unsigned long *cur_desktop = NULL;
     Window root = DefaultRootWindow(disp);
    
-    if (desktop == -1) {
+    if (desktop == -2) {
         if (! (cur_desktop = (unsigned long *)get_property(disp, root,
                 XA_CARDINAL, "_NET_CURRENT_DESKTOP", NULL))) {
             if (! (cur_desktop = (unsigned long *)get_property(disp, root,
@@ -897,7 +897,7 @@ static int action_window (Display *disp, Window win, char mode) {/*{{{*/
         
         case 'R':
             /* move the window to the current desktop and activate it => -r */
-            if (window_to_desktop(disp, win, -1) == EXIT_SUCCESS) {
+            if (window_to_desktop(disp, win, -2) == EXIT_SUCCESS) {
                 usleep(100000); /* 100 ms - make sure the WM has enough
                     time to move the window, before we activate it */
                 return activate_window(disp, win, FALSE);
--- a/wmctrl.1	
+++ a/wmctrl.1	
@@ -258,7 +258,8 @@ Include WM_CLASS in the window list or interpret <WIN> as the WM_CLASS name.
 .TP
 .I <DESK>
 A Desktop is always specified by an integer which represents the
-desktop numbers. Desktop numbers start at 0.
+desktop numbers. Desktop numbers start at 0. Use -1 to pin to all
+desktops.
 
 .TP
 .I <MVARG>