all repos — openbox @ 3a33642be4be34d57b355b273461e49549cdf554

openbox fork - make it a bit more like ryudo

update focus_hilite appropriately for when changing desktops
Dana Jansens danakj@orodu.net
commit

3a33642be4be34d57b355b273461e49549cdf554

parent

c018e212200dfece62b49c6ed385d379eb4e45e9

2 files changed, 9 insertions(+), 2 deletions(-)

jump to
M openbox/event.copenbox/event.c

@@ -452,6 +452,7 @@ else

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 @@

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 @@ }

} /* This client is no longer focused, so show that */ + focus_hilite = NULL; frame_adjust_focus(client->frame, FALSE); client_calc_layer(client); break;
M openbox/focus.hopenbox/focus.h

@@ -30,7 +30,11 @@

/*! 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 */