]> Dogcows Code - chaz/openbox/blobdiff - openbox/moveresize.c
don't reload the session on restart
[chaz/openbox] / openbox / moveresize.c
index 3d9914c5ffae4b48710fc8ddb20ceaebcb59a09c..837f3e92feec451dd59993944d42fa9f785fc36e 100644 (file)
@@ -162,10 +162,36 @@ void moveresize_start(ObClient *c, gint x, gint y, guint b, guint32 cnr)
           (c->functions & OB_CLIENT_FUNC_RESIZE)))
         return;
 
-    if (!grab_pointer(TRUE, FALSE, cur))
+    if (cnr == prop_atoms.net_wm_moveresize_size_topleft)
+        cur = OB_CURSOR_NORTHWEST;
+    else if (cnr == prop_atoms.net_wm_moveresize_size_top)
+        cur = OB_CURSOR_NORTH;
+    else if (cnr == prop_atoms.net_wm_moveresize_size_topright)
+        cur = OB_CURSOR_NORTHEAST;
+    else if (cnr == prop_atoms.net_wm_moveresize_size_right)
+        cur = OB_CURSOR_EAST;
+    else if (cnr == prop_atoms.net_wm_moveresize_size_bottomright)
+        cur = OB_CURSOR_SOUTHEAST;
+    else if (cnr == prop_atoms.net_wm_moveresize_size_bottom)
+        cur = OB_CURSOR_SOUTH;
+    else if (cnr == prop_atoms.net_wm_moveresize_size_bottomleft)
+        cur = OB_CURSOR_SOUTHWEST;
+    else if (cnr == prop_atoms.net_wm_moveresize_size_left)
+        cur = OB_CURSOR_WEST;
+    else if (cnr == prop_atoms.net_wm_moveresize_size_keyboard)
+        cur = OB_CURSOR_SOUTHEAST;
+    else if (cnr == prop_atoms.net_wm_moveresize_move)
+        cur = OB_CURSOR_MOVE;
+    else if (cnr == prop_atoms.net_wm_moveresize_move_keyboard)
+        cur = OB_CURSOR_MOVE;
+    else
+        g_assert_not_reached();
+
+    /* keep the pointer bounded to the screen for move/resize */
+    if (!grab_pointer(FALSE, TRUE, cur))
         return;
-    if (!grab_keyboard(TRUE)) {
-        grab_pointer(FALSE, FALSE, OB_CURSOR_NONE);
+    if (!grab_keyboard()) {
+        ungrab_pointer();
         return;
     }
 
@@ -204,31 +230,6 @@ void moveresize_start(ObClient *c, gint x, gint y, guint b, guint32 cnr)
 
     moveresize_in_progress = TRUE;
 
-    if (corner == prop_atoms.net_wm_moveresize_size_topleft)
-        cur = OB_CURSOR_NORTHWEST;
-    else if (corner == prop_atoms.net_wm_moveresize_size_top)
-        cur = OB_CURSOR_NORTH;
-    else if (corner == prop_atoms.net_wm_moveresize_size_topright)
-        cur = OB_CURSOR_NORTHEAST;
-    else if (corner == prop_atoms.net_wm_moveresize_size_right)
-        cur = OB_CURSOR_EAST;
-    else if (corner == prop_atoms.net_wm_moveresize_size_bottomright)
-        cur = OB_CURSOR_SOUTHEAST;
-    else if (corner == prop_atoms.net_wm_moveresize_size_bottom)
-        cur = OB_CURSOR_SOUTH;
-    else if (corner == prop_atoms.net_wm_moveresize_size_bottomleft)
-        cur = OB_CURSOR_SOUTHWEST;
-    else if (corner == prop_atoms.net_wm_moveresize_size_left)
-        cur = OB_CURSOR_WEST;
-    else if (corner == prop_atoms.net_wm_moveresize_size_keyboard)
-        cur = OB_CURSOR_SOUTHEAST;
-    else if (corner == prop_atoms.net_wm_moveresize_move)
-        cur = OB_CURSOR_MOVE;
-    else if (corner == prop_atoms.net_wm_moveresize_move_keyboard)
-        cur = OB_CURSOR_MOVE;
-    else
-        g_assert_not_reached();
-
 #ifdef SYNC
     if (config_resize_redraw && !moving && extensions_shape &&
         moveresize_client->sync_request && moveresize_client->sync_counter)
@@ -275,8 +276,8 @@ void moveresize_end(gboolean cancel)
 {
     gint x, y;
 
-    grab_keyboard(FALSE);
-    grab_pointer(FALSE, FALSE, OB_CURSOR_NONE);
+    ungrab_keyboard();
+    ungrab_pointer();
 
     popup_hide(popup);
 
This page took 0.023111 seconds and 4 git commands to generate.