]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
let windows move themselves off the screen somewhat, but don't let them resize themse...
[chaz/openbox] / openbox / event.c
index daf87f54a1f8fed0a1df463258d24ac0c481ba7e..2c243882a079b71b57ee2b32f247d73ed245e717 100644 (file)
@@ -597,10 +597,10 @@ static void event_handle_root(XEvent *e)
         } else if (msgtype == prop_atoms.net_showing_desktop) {
             screen_show_desktop(e->xclient.data.l[0] != 0);
         } else if (msgtype == prop_atoms.ob_control) {
-            if ((Atom)e->xclient.data.l[0] == prop_atoms.ob_reconfigure)
-                action_run_string("reconfigure", NULL);
-            else if ((Atom)e->xclient.data.l[0] == prop_atoms.ob_restart)
-                action_run_string("restart", NULL);
+            if (e->xclient.data.l[0] == 1)
+                ob_reconfigure();
+            else if (e->xclient.data.l[0] == 2)
+                ob_restart();
         }
         break;
     case PropertyNotify:
@@ -858,8 +858,13 @@ static void event_handle_client(ObClient *client, XEvent *e)
                      client->frame->size.left + client->frame->size.right;
                 gint fh = h +
                      client->frame->size.top + client->frame->size.bottom;
+                /* make this rude for size-only changes but not for position
+                   changes.. */
+                gboolean moving = ((e->xconfigurerequest.value_mask & CWX) ||
+                                   (e->xconfigurerequest.value_mask & CWY));
+
                 client_find_onscreen(client, &newx, &newy, fw, fh,
-                                     FALSE);
+                                     !moving);
                 if (e->xconfigurerequest.value_mask & CWX)
                     x = newx;
                 if (e->xconfigurerequest.value_mask & CWY)
This page took 0.02275 seconds and 4 git commands to generate.