menu_frame_hide_all();
f = NULL; /* and don't update */
- if (screen_pointer_pos(&x, &y))
- moveresize_start(c, x, y, 0,
- prop_atoms.net_wm_moveresize_move_keyboard);
+ screen_pointer_pos(&x, &y);
+ moveresize_start(c, x, y, 0,
+ prop_atoms.net_wm_moveresize_move_keyboard);
break;
case CLIENT_RESIZE:
/* this needs to grab the keyboard so hide the menu */
menu_frame_hide_all();
f = NULL; /* and don't update */
- if (screen_pointer_pos(&x, &y))
- moveresize_start(c, x, y, 0,
- prop_atoms.net_wm_moveresize_size_keyboard);
+ screen_pointer_pos(&x, &y);
+ moveresize_start(c, x, y, 0,
+ prop_atoms.net_wm_moveresize_size_keyboard);
break;
case CLIENT_CLOSE:
client_close(c);
Window w;
gint i;
guint u;
-
- return !!XQueryPointer(ob_display, RootWindow(ob_display, ob_screen),
- &w, &w, x, y, &i, &i, &u);
+ gboolean ret;
+
+ ret = !!XQueryPointer(ob_display, RootWindow(ob_display, ob_screen),
+ &w, &w, x, y, &i, &i, &u);
+ if (!ret) {
+ for (i = 0; i < ScreenCount(ob_display); ++i)
+ if (i != ob_screen)
+ if (XQueryPointer(ob_display, RootWindow(ob_display, i),
+ &w, &w, x, y, &i, &i, &u))
+ break;
+ }
+ return ret;
}
gotta call it to let it know it should change. */
void screen_set_root_cursor();
+/*! Gives back the pointer's position in x and y. Returns TRUE if the pointer
+ is on this screen and FALSE if it is on another screen. */
gboolean screen_pointer_pos(gint *x, gint *y);
#endif