From: Daniel Déchelotte <[email protected]>

The options are ClipAutoraiseDelay, ClipAutolowerDelay, ClipAutoexpandDelay, 
ClipAutocollapseDelay

The default values are weird but merely represent the previously
hard-coded ones. They are repeated in Defaults/WindowMaker to avoid a
WPrefs crash (but it's a good idea to make them "visible", too)

WPrefs change coming up
---
 WindowMaker/Defaults/WindowMaker.in |    4 ++++
 src/WindowMaker.h                   |    6 ++++++
 src/defaults.c                      |    8 ++++++++
 src/dock.c                          |    8 ++++----
 src/wconfig.h.in                    |   14 --------------
 5 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/WindowMaker/Defaults/WindowMaker.in 
b/WindowMaker/Defaults/WindowMaker.in
index 3e576be..500046e 100644
--- a/WindowMaker/Defaults/WindowMaker.in
+++ b/WindowMaker/Defaults/WindowMaker.in
@@ -131,4 +131,8 @@
   MenuTitleBack = (solid, black);
   MenuTextBack = (solid, "rgb:aa/aa/aa");
   IconBack = (dgradient, "rgb:a6/a6/b6", "rgb:51/55/61");
+  ClipAutocollapseDelay = 1000;
+  ClipAutolowerDelay = 1000;
+  ClipAutoexpandDelay = 600;
+  ClipAutoraiseDelay = 600;
 }
diff --git a/src/WindowMaker.h b/src/WindowMaker.h
index 039a67b..25e1a75 100644
--- a/src/WindowMaker.h
+++ b/src/WindowMaker.h
@@ -419,6 +419,12 @@ typedef struct WPreferences {
     char cycle_active_head_only;        /* Cycle only windows on the active 
head */
     char cycle_ignore_minimized;        /* Ignore minimized windows when 
cycling */
 
+    /* All delays here are in ms. 0 means instant auto-action. */
+    int clip_auto_raise_delay;         /* Delay after which the clip will be 
raised when entered */
+    int clip_auto_lower_delay;         /* Delay after which the clip will be 
lowered when leaved */
+    int clip_auto_expand_delay;        /* Delay after which the clip will 
expand when entered */
+    int clip_auto_collapse_delay;      /* Delay after which the clip will 
collapse when leaved */
+
     RImage *swtileImage;
     RImage *swbackImage[9];
 
diff --git a/src/defaults.c b/src/defaults.c
index f04e9be..3119aeb 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -394,6 +394,14 @@ WDefaultEntry optionList[] = {
            &wPreferences.do_not_make_appicons_bounce, getBool, NULL, NULL, 
NULL},
        {"DoubleClickTime", "250", (void *)&wPreferences.dblclick_time,
            &wPreferences.dblclick_time, getInt, setDoubleClick, NULL, NULL},
+       {"ClipAutoraiseDelay", "600", NULL,
+            &wPreferences.clip_auto_raise_delay, getInt, NULL, NULL, NULL},
+       {"ClipAutolowerDelay", "1000", NULL,
+           &wPreferences.clip_auto_lower_delay, getInt, NULL, NULL, NULL},
+       {"ClipAutoexpandDelay", "600", NULL,
+           &wPreferences.clip_auto_expand_delay, getInt, NULL, NULL, NULL},
+       {"ClipAutocollapseDelay", "1000", NULL,
+           &wPreferences.clip_auto_collapse_delay, getInt, NULL, NULL, NULL},
        {"AlignSubmenus", "NO", NULL,
            &wPreferences.align_menus, getBool, NULL, NULL, NULL},
        {"ViKeyMenus", "NO", NULL,
diff --git a/src/dock.c b/src/dock.c
index 443c09e..9c2f35e 100644
--- a/src/dock.c
+++ b/src/dock.c
@@ -3792,7 +3792,7 @@ static void clipEnterNotify(WObjDescriptor *desc, XEvent 
*event)
                dock->auto_lower_magic = NULL;
        }
        if (dock->auto_raise_lower && !dock->auto_raise_magic)
-               dock->auto_raise_magic = WMAddTimerHandler(AUTO_RAISE_DELAY, 
clipAutoRaise, (void *)dock);
+               dock->auto_raise_magic = 
WMAddTimerHandler(wPreferences.clip_auto_raise_delay, clipAutoRaise, (void 
*)dock);
 
        /* The auto expand/collapse code */
        if (dock->auto_collapse_magic) {
@@ -3800,7 +3800,7 @@ static void clipEnterNotify(WObjDescriptor *desc, XEvent 
*event)
                dock->auto_collapse_magic = NULL;
        }
        if (dock->auto_collapse && !dock->auto_expand_magic)
-               dock->auto_expand_magic = WMAddTimerHandler(AUTO_EXPAND_DELAY, 
clipAutoExpand, (void *)dock);
+               dock->auto_expand_magic = 
WMAddTimerHandler(wPreferences.clip_auto_expand_delay, clipAutoExpand, (void 
*)dock);
 }
 
 static void clipLeave(WDock *dock)
@@ -3832,14 +3832,14 @@ static void clipLeave(WDock *dock)
                dock->auto_raise_magic = NULL;
        }
        if (dock->auto_raise_lower && !dock->auto_lower_magic)
-               dock->auto_lower_magic = WMAddTimerHandler(AUTO_LOWER_DELAY, 
clipAutoLower, (void *)dock);
+               dock->auto_lower_magic = 
WMAddTimerHandler(wPreferences.clip_auto_lower_delay, clipAutoLower, (void 
*)dock);
 
        if (dock->auto_expand_magic) {
                WMDeleteTimerHandler(dock->auto_expand_magic);
                dock->auto_expand_magic = NULL;
        }
        if (dock->auto_collapse && !dock->auto_collapse_magic)
-               dock->auto_collapse_magic = 
WMAddTimerHandler(AUTO_COLLAPSE_DELAY, clipAutoCollapse, (void *)dock);
+               dock->auto_collapse_magic = 
WMAddTimerHandler(wPreferences.clip_auto_collapse_delay, clipAutoCollapse, 
(void *)dock);
 }
 
 static void clipLeaveNotify(WObjDescriptor *desc, XEvent *event)
diff --git a/src/wconfig.h.in b/src/wconfig.h.in
index c21638d..58b0044 100644
--- a/src/wconfig.h.in
+++ b/src/wconfig.h.in
@@ -301,20 +301,6 @@
  * a docked icon must be dragged out to detach it */
 #define DOCK_DETTACH_THRESHOLD 3
 
-/* Delay (in ms) after which the clip will autocollapse when leaved */
-#define AUTO_COLLAPSE_DELAY     1000
-
-/* Delay (in ms) after which the clip will autoexpand when entered.
- * Set this to zero if you want instant expanding. */
-#define AUTO_EXPAND_DELAY       600
-
-/* Delay (in ms) after which the clip will be lowered when leaved */
-#define AUTO_LOWER_DELAY        1000
-
-/* Delay (in ms) after which the clip will be raised when entered.
- * Set this to zero if you want instant raise. */
-#define AUTO_RAISE_DELAY        600
-
 /* Max. number of icons the dock and clip can have */
 #define DOCK_MAX_ICONS         32
 
-- 
1.7.10.4


-- 
To unsubscribe, send mail to [email protected].

Reply via email to