Merge branch 'mikabox/actions' into wip/mikabox
authorMikael Magnusson <mikachu@gmail.com>
Sat, 4 Oct 2008 22:04:58 +0000 (00:04 +0200)
committerMikael Magnusson <mikachu@gmail.com>
Sat, 4 Oct 2008 22:04:58 +0000 (00:04 +0200)
Conflicts:
openbox/actions/focus.c
openbox/event.c

1  2 
openbox/actions/focus.c
openbox/event.c

index a68a8fb08f9cdb1a879800475375e6c7b8f8819e,83b3e010d3bb437b44381b2daf4a54e55da77f09..ef173ec391b9a951d12746cd28289515a54e3496
@@@ -43,10 -43,11 +43,12 @@@ static gboolean run_func(ObActionsData 
              (data->context != OB_FRAME_CONTEXT_CLIENT &&
               data->context != OB_FRAME_CONTEXT_FRAME))
          {
-             actions_client_move(data, TRUE);
-             actions_interactive_cancel_act();
-             client_activate(data->client, o->here, FALSE, FALSE, TRUE);
-             actions_client_move(data, FALSE);
+             if (!(data->client->iconic && actions_client_locked(data))) {
+                 actions_client_move(data, TRUE);
++                actions_interactive_cancel_act();
+                 client_activate(data->client, o->here, FALSE, FALSE, TRUE);
+                 actions_client_move(data, FALSE);
+             }
          }
      } else if (data->context == OB_FRAME_CONTEXT_DESKTOP) {
          /* focus action on the root window. make keybindings work for this
diff --cc openbox/event.c
index 8540373973399c0545b7a5fa7240b59ee1260f13,e02d73302990b933ee35d5f479f0afc3fcd406fa..31f4b56706698aba2d0d1cc3898c7604842f1582
@@@ -1363,11 -1345,10 +1363,12 @@@ static void event_handle_client(ObClien
                  ob_debug_type(OB_DEBUG_APP_BUGS,
                                "_NET_ACTIVE_WINDOW message for window %s is "
                                "missing source indication");
-             client_activate(client, TRUE, TRUE, TRUE,
-                             (e->xclient.data.l[0] == 0 ||
-                              e->xclient.data.l[0] == 2));
+             if (!client->locked)
+                 client_activate(client, TRUE, TRUE, TRUE,
+                                 (e->xclient.data.l[0] == 0 ||
+                                  e->xclient.data.l[0] == 2));
 +        } else if (msgtype == OBT_PROP_ATOM(OB_FOCUS)) {
 +            client_focus(client);
          } else if (msgtype == OBT_PROP_ATOM(NET_WM_MOVERESIZE)) {
              ob_debug("net_wm_moveresize for 0x%lx direction %d",
                       client->window, e->xclient.data.l[2]);