You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wmctrl/wmctrl-sticky-workspace.patch

33 lines
1.3 KiB

--- 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>