- /*!
- When this focus_client check is not used, you can end up with races, as
- demonstrated with gnome-panel, sometmies the window you click on on
- another desktop ends up losing focus cuz of the fallback.
- */
- if (!focus_client)
- focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS);
+ focus_hilite = focus_fallback_target(OB_FOCUS_FALLBACK_NOFOCUS);
+ if (focus_hilite) {
+ frame_adjust_focus(focus_hilite->frame, TRUE);
+
+ /*!
+ When this focus_client check is not used, you can end up with races,
+ as demonstrated with gnome-panel, sometmies the window you click on
+ another desktop ends up losing focus cuz of the focus change here.
+ */
+ /*if (!focus_client)*/
+ client_focus(focus_hilite);
+ }