From 3a33642be4be34d57b355b273461e49549cdf554 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 12 Mar 2007 05:44:16 +0000 Subject: [PATCH] update focus_hilite appropriately for when changing desktops --- openbox/event.c | 5 ++++- openbox/focus.h | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/openbox/event.c b/openbox/event.c index cfc823b2..5d19e897 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -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,10 +524,11 @@ 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); + } } } } @@ -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; diff --git a/openbox/focus.h b/openbox/focus.h index ab13fc5e..81cd5ffe 100644 --- a/openbox/focus.h +++ b/openbox/focus.h @@ -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 */ -- 2.45.2