]> Dogcows Code - chaz/openbox/blobdiff - openbox/action.c
focus... works...? i have all cases of mozilla working, with RevertToPointerRoot...
[chaz/openbox] / openbox / action.c
index ce96ad41e144dc08b525985a1288aa7452d6e8ff..6eb06298f7cec4dc8c99166f0ed673ba2ad33cea 100644 (file)
@@ -235,7 +235,7 @@ void action_toggle_omnipresent(union ActionData *data)
     if (data->client.c)
         client_set_desktop(data->client.c,
                            data->client.c->desktop == DESKTOP_ALL ?
-                           screen_desktop : DESKTOP_ALL);
+                           screen_desktop : DESKTOP_ALL, FALSE);
 }
 
 void action_move_relative_horz(union ActionData *data)
@@ -336,7 +336,7 @@ void action_send_to_desktop(union ActionData *data)
     if (data->sendto.c)
         if (data->sendto.desktop < screen_num_desktops ||
             data->sendto.desktop == DESKTOP_ALL)
-            client_set_desktop(data->sendto.c, data->sendto.desktop);
+            client_set_desktop(data->sendto.c, data->sendto.desktop, TRUE);
 }
 
 void action_send_to_next_desktop(union ActionData *data)
@@ -350,7 +350,7 @@ void action_send_to_next_desktop(union ActionData *data)
         if (!data->sendtonextprev.wrap) return;
         d = 0;
     }
-    client_set_desktop(data->sendtonextprev.c, d);
+    client_set_desktop(data->sendtonextprev.c, d, data->sendtonextprev.follow);
     if (data->sendtonextprev.follow) screen_set_desktop(d);
 }
 
@@ -365,7 +365,7 @@ void action_send_to_previous_desktop(union ActionData *data)
         if (!data->sendtonextprev.wrap) return;
         d = screen_num_desktops - 1;
     }
-    client_set_desktop(data->sendtonextprev.c, d);
+    client_set_desktop(data->sendtonextprev.c, d, data->sendtonextprev.follow);
     if (data->sendtonextprev.follow) screen_set_desktop(d);
 }
 
@@ -592,13 +592,15 @@ void action_move(union ActionData *data)
 void action_resize(union ActionData *data)
 {
     Client *c = data->resize.c;
-    int w = data->resize.x - c->frame->size.left - c->frame->size.right;
-    int h = data->resize.y - c->frame->size.top - c->frame->size.bottom;
+    int w = data->resize.x;
+    int h = data->resize.y;
  
     if (!c || !client_normal(c)) return;
 
-    /* XXX window snapping/struts */
-
+    dispatch_resize(c, &w, &h, data->resize.corner);
+    
+    w -= c->frame->size.left + c->frame->size.right;
+    h -= c->frame->size.top + c->frame->size.bottom;
     client_configure(c, data->resize.corner, c->area.x, c->area.y, w, h,
                      TRUE, data->resize.final);
 }
This page took 0.021704 seconds and 4 git commands to generate.