]> Dogcows Code - chaz/openbox/commitdiff
add back focusLast
authorDana Jansens <danakj@orodu.net>
Mon, 22 Sep 2003 04:17:43 +0000 (04:17 +0000)
committerDana Jansens <danakj@orodu.net>
Mon, 22 Sep 2003 04:17:43 +0000 (04:17 +0000)
openbox/config.c
openbox/config.h
openbox/focus.c

index 0c15b0916deec2f146961c5672ee7de6cd6d8fb4..6163c12c00be8eb557c220220120515b898362cb 100644 (file)
@@ -26,6 +26,7 @@
 
 gboolean config_focus_new;
 gboolean config_focus_follow;
+gboolean config_focus_last;
 guint    config_focus_delay;
 guint    config_focus_raise;
 
@@ -196,6 +197,8 @@ static void parse_focus(ObParseInst *i, xmlDocPtr doc, xmlNodePtr 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;
 
index 582da9542a9ca8b4662db812ea09b8a5cfa32628..c228871e170c3339424a04e667450412d9f4e966 100644 (file)
@@ -30,6 +30,9 @@ struct _ObParseInst;
 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
index 22036917a85a2719fc9de5701db976b8c7599af5..541cf0101453b461e45726aa42424c7c0cef7d83 100644 (file)
@@ -167,8 +167,9 @@ void focus_fallback(ObFocusFallbackType type)
     */
     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 */
This page took 0.033495 seconds and 4 git commands to generate.