use focus_hilite to ensure that when a wnidow thats not focused is hilighted, the hilight is removed when focus gets assigned
This commit is contained in:
parent
735ee93689
commit
723ecebc2f
1 changed files with 11 additions and 0 deletions
|
@ -327,6 +327,15 @@ static void event_done(gpointer data)
|
|||
{
|
||||
static ObClient *last = NULL;
|
||||
|
||||
/* sometimes focus_hilite can be on an unfocused window, this make sure
|
||||
it loses its focus hilite when focus moves */
|
||||
if (focus_hilite &&
|
||||
(focus_in && focus_hilite != focus_in) &&
|
||||
(focus_out && focus_hilite != focus_out))
|
||||
{
|
||||
frame_adjust_focus(focus_hilite->frame, FALSE);
|
||||
}
|
||||
|
||||
if (focus_in) {
|
||||
if (focus_in != focus_client) {
|
||||
focus_set_client(focus_in);
|
||||
|
@ -341,6 +350,8 @@ static void event_done(gpointer data)
|
|||
client_calc_layer(focus_out);
|
||||
}
|
||||
|
||||
focus_hilite = focus_in;
|
||||
|
||||
if (focus_client != last) {
|
||||
if (!focus_client)
|
||||
focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS);
|
||||
|
|
Loading…
Reference in a new issue