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;
|
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) {
|
||||||
if (focus_in != focus_client) {
|
if (focus_in != focus_client) {
|
||||||
focus_set_client(focus_in);
|
focus_set_client(focus_in);
|
||||||
|
@ -341,6 +350,8 @@ static void event_done(gpointer data)
|
||||||
client_calc_layer(focus_out);
|
client_calc_layer(focus_out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
focus_hilite = focus_in;
|
||||||
|
|
||||||
if (focus_client != last) {
|
if (focus_client != last) {
|
||||||
if (!focus_client)
|
if (!focus_client)
|
||||||
focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS);
|
focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS);
|
||||||
|
|
Loading…
Reference in a new issue