update focus_hilite appropriately for when changing desktops
This commit is contained in:
parent
c018e21220
commit
3a33642be4
2 changed files with 9 additions and 2 deletions
|
@ -452,6 +452,7 @@ static void event_process(const XEvent *ec, gpointer data)
|
|||
ob_debug("UNKNOWN FOCUS %s (d %d, m %d) window 0x%x\n",
|
||||
(e->type == FocusIn ? "IN" : "OUT"),
|
||||
detail, mode, window);
|
||||
}
|
||||
#endif
|
||||
|
||||
event_set_lasttime(e);
|
||||
|
@ -523,13 +524,14 @@ static void event_process(const XEvent *ec, gpointer data)
|
|||
if (e->type == ButtonPress || e->type == ButtonRelease ||
|
||||
e->type == MotionNotify)
|
||||
mouse_event(client, e);
|
||||
else if (e->type == KeyPress)
|
||||
else if (e->type == KeyPress) {
|
||||
keyboard_event((focus_cycle_target ? focus_cycle_target :
|
||||
(focus_hilite ? focus_hilite : client)),
|
||||
e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void event_handle_root(XEvent *e)
|
||||
|
@ -678,6 +680,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
|
|||
}
|
||||
|
||||
/* This client is no longer focused, so show that */
|
||||
focus_hilite = NULL;
|
||||
frame_adjust_focus(client->frame, FALSE);
|
||||
client_calc_layer(client);
|
||||
break;
|
||||
|
|
|
@ -30,7 +30,11 @@ struct _ObClient;
|
|||
/*! The client which is currently focused */
|
||||
extern struct _ObClient *focus_client;
|
||||
/*! The client which is being decorated as focused, not always matching the
|
||||
real focus, but this is used to track it so that it can be resolved to match
|
||||
real focus, but this is used to track it so that it can be resolved to match.
|
||||
|
||||
This is for when you change desktops. We know which window is *going to be*
|
||||
focused, so we hilight it. But since it's hilighted, we also want
|
||||
keybindings to go to it, which is really what this is for.
|
||||
*/
|
||||
extern struct _ObClient *focus_hilite;
|
||||
/*! The client which appears focused during a focus cycle operation */
|
||||
|
|
Loading…
Reference in a new issue