]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus.c
Better placement of the client window. Might need some tweaking.
[chaz/openbox] / openbox / focus.c
index 6177bc9a68455946c1557cd0a9ba42572cc6cd8f..a04e4d401e64a4e6e12c1f6db7cb282447467fc8 100644 (file)
@@ -17,7 +17,7 @@
 #include <glib.h>
 #include <assert.h>
 
-ObClient *focus_client = NULL;
+ObClient *focus_client;
 GList **focus_order = NULL; /* these lists are created when screen_startup
                                sets the number of desktops */
 
@@ -27,8 +27,6 @@ static Popup *focus_cycle_popup = NULL;
 void focus_startup()
 {
 
-    focus_client = NULL;
-
     focus_cycle_popup = popup_new(TRUE);
 
     /* start with nothing focused */
@@ -42,10 +40,8 @@ void focus_shutdown()
     for (i = 0; i < screen_num_desktops; ++i)
         g_list_free(focus_order[i]);
     g_free(focus_order);
-    focus_order = NULL;
 
     popup_free(focus_cycle_popup);
-    focus_cycle_popup = NULL;
 
     /* reset focus to root */
     XSetInputFocus(ob_display, PointerRoot, RevertToPointerRoot,
@@ -94,7 +90,7 @@ void focus_set_client(ObClient *client)
         push_to_top(client);
 
     /* set the NET_ACTIVE_WINDOW hint, but preserve it on shutdown */
-    if (ob_state != OB_STATE_EXITING) {
+    if (ob_state() != OB_STATE_EXITING) {
         active = client ? client->window : None;
         PROP_SET32(RootWindow(ob_display, ob_screen),
                    net_active_window, window, active);
@@ -111,7 +107,7 @@ static gboolean focus_under_pointer()
     int x, y;
     GList *it;
 
-    if (ob_pointer_pos(&x, &y)) {
+    if (screen_pointer_pos(&x, &y)) {
         for (it = stacking_list; it != NULL; it = it->next) {
             if (WINDOW_IS_CLIENT(it->data)) {
                 ObClient *c = WINDOW_AS_CLIENT(it->data);
This page took 0.024352 seconds and 4 git commands to generate.