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

@@@ -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
@@@ -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]);