Merge branch 'mikabox/personal' into wip/mikabox
authorMikael Magnusson <mikachu@gmail.com>
Wed, 17 Apr 2013 10:55:53 +0000 (12:55 +0200)
committerMikael Magnusson <mikachu@gmail.com>
Wed, 17 Apr 2013 10:55:53 +0000 (12:55 +0200)
Conflicts:
obt/prop.c
openbox/event.c
openbox/screen.c

1  2 
obrender/theme.c
obt/prop.c
obt/prop.h
openbox/client.c
openbox/client_list_combined_menu.c
openbox/client_list_menu.c
openbox/client_menu.c
openbox/event.c
openbox/menuframe.c
openbox/mouse.c
openbox/screen.c

Simple merge
diff --cc obt/prop.c
index b71a71252bb5efbedd1f0127cf799d90beb2ded6,517803f7b06d2e1f3c10dd2e390aee9532083dea..1ec6e23ae0b1301baf2f6bd555dd7942d57de3e2
@@@ -191,7 -190,7 +192,8 @@@ void obt_prop_startup(void
      CREATE_(OB_CONFIG_FILE);
      CREATE_(OB_WM_ACTION_UNDECORATE);
      CREATE_(OB_WM_STATE_UNDECORATED);
 +    CREATE_(OB_WM_STATE_LOCKED);
+     CREATE_(OB_LAST_DESKTOP);
      CREATE_(OB_CONTROL);
      CREATE_(OB_VERSION);
      CREATE_(OB_APP_ROLE);
diff --cc obt/prop.h
index 6260a7a97253360f6700246b85bd3c9acdc8fbb4,28cd7225e21568a0342501c52b716ce62788c4b4..6909b174d8c4dc3c53cccc94ffdf3a4ba20508f7
@@@ -208,9 -205,9 +208,10 @@@ typedef enum 
  
      /* Openbox specific atoms */
  
+     OBT_PROP_OB_FOCUS,
      OBT_PROP_OB_WM_ACTION_UNDECORATE,
      OBT_PROP_OB_WM_STATE_UNDECORATED,
 +    OBT_PROP_OB_WM_STATE_LOCKED,
      OBT_PROP_OPENBOX_PID, /* this is depreecated in favour of ob_control */
      OBT_PROP_OB_THEME,
      OBT_PROP_OB_CONFIG_FILE,
index 41ed4c62242d21f0639cb0127d9f491365b72a80,028c82f351a96f6482d7dc00135273fc2de3a907..095870b31801be73f1e7e75f16f13e986fea401e
@@@ -2814,15 -2686,9 +2818,15 @@@ gboolean client_helper(ObClient *self
              self->type == OB_CLIENT_TYPE_TOOLBAR);
  }
  
 +gboolean client_occupies_space(ObClient *self)
 +{
 +    return !(self->type == OB_CLIENT_TYPE_DESKTOP ||
 +             self->type == OB_CLIENT_TYPE_SPLASH);
 +}
 +
  gboolean client_mouse_focusable(ObClient *self)
  {
-     return !(self->type == OB_CLIENT_TYPE_MENU ||
+     return !(/*self->type == OB_CLIENT_TYPE_MENU ||*/
               self->type == OB_CLIENT_TYPE_TOOLBAR ||
               self->type == OB_CLIENT_TYPE_SPLASH ||
               self->type == OB_CLIENT_TYPE_DOCK);
Simple merge
Simple merge
Simple merge
diff --cc openbox/event.c
index a1aa594048be2cffe24812a16ab7cd21d3742848,4ab0a1c59926dd11bbb98525aa9a69d3c82f222c..518c6b237223ff9c919ce6ec8e3e29a33f17eaa4
@@@ -815,10 -813,7 +817,10 @@@ void event_enter_client(ObClient *clien
          return;
      }
  
-     if (client_enter_focusable(client) && client_can_focus(client)) {
 +    ob_debug_type(OB_DEBUG_FOCUS, "using enter event with serial %lu "
 +                  "on client 0x%x", event_curserial, client->window);
 +
+     if (client_enter_focusable(client) && client_can_focus(client) && (!config_focus_delay || event_time_after(client_left_focused, event_curtime - config_focus_delay /*milliseconds here, so not *1000 */))) {
          if (config_focus_delay) {
              ObFocusDelayData *data;
  
@@@ -1459,10 -1447,11 +1463,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->title);
 -            client_activate(client, FALSE, FALSE, TRUE, TRUE,
 -                            (e->xclient.data.l[0] == 0 ||
 -                             e->xclient.data.l[0] == 2));
 +            if (!client->locked)
 +                client_activate(client, FALSE, FALSE, 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]);
Simple merge
diff --cc openbox/mouse.c
Simple merge
index 33acb4a16a2828f62bcd5bb769807be32f0eeff3,d4244af0ade570d681d8d4c62234d3ea03940d76..34f46a7efe9471bcee1a349d3ceaa05fdca884f9
@@@ -314,10 -312,10 +315,10 @@@ gboolean screen_annex(void
                      NET_SUPPORTED, ATOM, supported, num_support);
      g_free(supported);
  
 -    OBT_PROP_SETS(RootWindow(obt_display, ob_screen), OB_VERSION, utf8,
 +    OBT_PROP_SETS(RootWindow(obt_display, ob_screen), OB_VERSION,
                    OPENBOX_VERSION);
  
-     screen_tell_ksplash();
+     //screen_tell_ksplash();
  
      return TRUE;
  }
@@@ -498,13 -505,12 +503,12 @@@ void screen_resize(void
      if (ob_state() != OB_STATE_RUNNING)
          return;
  
 -    screen_update_areas();
 +    /* this calls screen_update_areas(), which we need ! */
      dock_configure();
  
 -    // bug: this is done in screen_update_areas() already
 -//    for (it = client_list; it; it = g_list_next(it))
 -//        client_move_onscreen(it->data, FALSE);
 +    for (it = client_list; it; it = g_list_next(it)) {
-         client_move_onscreen(it->data, FALSE);
 +        client_reconfigure(it->data, FALSE);
 +    }
  }
  
  void screen_set_num_desktops(guint num)