add back focusLast
Dana Jansens danakj@orodu.net
3 files changed,
10 insertions(+),
2 deletions(-)
M
openbox/config.c
→
openbox/config.c
@@ -26,6 +26,7 @@ #include "openbox.h"
gboolean config_focus_new; gboolean config_focus_follow; +gboolean config_focus_last; guint config_focus_delay; guint config_focus_raise;@@ -196,6 +197,8 @@ if ((n = parse_find_node("focusNew", node)))
config_focus_new = parse_bool(doc, n); if ((n = parse_find_node("followMouse", node))) config_focus_follow = parse_bool(doc, n); + if ((n = parse_find_node("focusLast", node))) + config_focus_last = parse_bool(doc, n); if ((n = parse_find_node("focusDelay", node))) config_focus_delay = parse_int(doc, n) * 1000; if ((n = parse_find_node("raiseOnFocus", node)))@@ -479,6 +482,7 @@ void config_startup(ObParseInst *i)
{ config_focus_new = TRUE; config_focus_follow = FALSE; + config_focus_last = TRUE; config_focus_delay = 0; config_focus_raise = FALSE;
M
openbox/config.h
→
openbox/config.h
@@ -30,6 +30,9 @@ /*! Should new windows be focused */
extern gboolean config_focus_new; /*! Focus windows when the mouse enters them */ extern gboolean config_focus_follow; +/*! Should focus stay under the mouse when there is nothing focused or go to + the last used window */ +extern gboolean config_focus_last; /*! Timeout for focusing windows on focus follows mouse, in microseconds */ extern guint config_focus_delay; /*! If windows should automatically be raised when they are focused in
M
openbox/focus.c
→
openbox/focus.c
@@ -167,8 +167,9 @@ at all for them.
*/ focus_set_client(NULL); - if (config_focus_follow && focus_under_pointer()) - return; + if (!config_focus_last && config_focus_follow) + if (focus_under_pointer()) + return; if (type == OB_FOCUS_FALLBACK_UNFOCUSING && old) { /* try for transient relations */