summaryrefslogtreecommitdiff
path: root/openbox/event.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-10-08 18:29:12 +0000
committerDana Jansens <danakj@orodu.net>2003-10-08 18:29:12 +0000
commit723ecebc2f3d359bf1bf335702541769e895be0f (patch)
tree4499f19ce733c566d1b23205833f1a486ebda4c2 /openbox/event.c
parent735ee9368918bbe067ac9c016bd7290290fe85fa (diff)
use focus_hilite to ensure that when a wnidow thats not focused is hilighted, the hilight is removed when focus gets assigned
Diffstat (limited to 'openbox/event.c')
-rw-r--r--openbox/event.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/openbox/event.c b/openbox/event.c
index 8a15d789..11247d53 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -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);