]> Dogcows Code - chaz/openbox/blobdiff - openbox/focus.c
>:| I put old code back somehow.. thanks mika. hooray peer review :)
[chaz/openbox] / openbox / focus.c
index 9de0c80833e41f010b4bf7227af7ccca564a1b03..e21e8b5ba8233809efd5a0d51c7b18df5c95ec34 100644 (file)
@@ -87,25 +87,20 @@ void focus_startup(gboolean reconfig)
         focus_indicator.right.obwin.type = Window_Internal;
         focus_indicator.bottom.obwin.type = Window_Internal;
 
-        attr.save_under = True;
         attr.override_redirect = True;
         attr.background_pixel = BlackPixel(ob_display, ob_screen);
         focus_indicator.top.win =
             createWindow(RootWindow(ob_display, ob_screen),
-                         CWOverrideRedirect | CWBackPixel | CWSaveUnder,
-                         &attr);
+                         CWOverrideRedirect | CWBackPixel, &attr);
         focus_indicator.left.win =
             createWindow(RootWindow(ob_display, ob_screen),
-                         CWOverrideRedirect | CWBackPixel | CWSaveUnder,
-                         &attr);
+                         CWOverrideRedirect | CWBackPixel, &attr);
         focus_indicator.right.win =
             createWindow(RootWindow(ob_display, ob_screen),
-                         CWOverrideRedirect | CWBackPixel | CWSaveUnder,
-                         &attr);
+                         CWOverrideRedirect | CWBackPixel, &attr);
         focus_indicator.bottom.win =
             createWindow(RootWindow(ob_display, ob_screen),
-                         CWOverrideRedirect | CWBackPixel | CWSaveUnder,
-                         &attr);
+                         CWOverrideRedirect | CWBackPixel, &attr);
 
         stacking_add(INTERNAL_AS_WINDOW(&focus_indicator.top));
         stacking_add(INTERNAL_AS_WINDOW(&focus_indicator.left));
@@ -206,6 +201,10 @@ void focus_set_client(ObClient *client)
         active = client ? client->window : None;
         PROP_SET32(RootWindow(ob_display, ob_screen),
                    net_active_window, window, active);
+
+        /* remove hiliting from the window when it gets focused */
+        if (client != NULL)
+            client_hilite(client, FALSE);
     }
 }
 
@@ -396,8 +395,9 @@ void focus_cycle_draw_indicator()
         gint wt, wl, wr, wb;
 
         wt = wl = wr = wb = MAX(3,
-                                ob_rr_theme->handle_height +
-                                ob_rr_theme->bwidth * 2);
+                                MAX(1, MAX(ob_rr_theme->paddingx,
+                                           ob_rr_theme->paddingy)) * 2 +
+                                ob_rr_theme->fbwidth * 2);
 
         x = focus_cycle_target->frame->area.x;
         y = focus_cycle_target->frame->area.y;
@@ -525,7 +525,7 @@ static gboolean valid_focus_target(ObClient *ft)
            ft->type == OB_CLIENT_TYPE_MENU ||
            ft->type == OB_CLIENT_TYPE_UTILITY))) &&
         ((ft->can_focus || ft->focus_notify) &&
-         !ft->skip_taskbar &&
+         !ft->skip_pager &&
          (ft->desktop == screen_desktop || ft->desktop == DESKTOP_ALL)) &&
         ft == client_focus_target(ft))
         return TRUE;
This page took 0.021848 seconds and 4 git commands to generate.