We already have ClipRaiseKey, ClipLowerKey, and ClipRaiseLowerKey. Why
not DockRaiseKey, DockLowerKey, and DockRaiseLowerKey too? I sometimes
put a window over part of the dock, and I find myself missing a
raise-dock shortcut.

This patch seems to handle it.
diff -r e6e5940e0589 WPrefs.app/KeyboardShortcuts.c
--- a/WPrefs.app/KeyboardShortcuts.c    Thu Sep 24 13:59:35 2009 -0700
+++ b/WPrefs.app/KeyboardShortcuts.c    Wed Jan 06 12:09:25 2010 -0500
@@ -118,6 +118,9 @@
     "VirtualEdgeUpKey",
     "VirtualEdgeDownKey",
 #endif
+    "DockRaiseKey",
+    "DockLowerKey",
+    "DockRaiseLowerKey",
     "ClipRaiseKey",
     "ClipLowerKey",
 #ifndef XKB_MODELOCK
@@ -546,6 +549,9 @@
     WMAddListItem(panel->actLs, _("Move VirtualDesktop to next top edge"));
     WMAddListItem(panel->actLs, _("Move VirtualDesktop to next bottom edge"));
 #endif
+    WMAddListItem(panel->actLs, _("Raise Dock"));
+    WMAddListItem(panel->actLs, _("Lower Dock"));
+    WMAddListItem(panel->actLs, _("Raise/Lower Dock"));
     WMAddListItem(panel->actLs, _("Raise Clip"));
     WMAddListItem(panel->actLs, _("Lower Clip"));
     WMAddListItem(panel->actLs, _("Raise/Lower Clip"));
diff -r e6e5940e0589 WindowMaker/Defaults/WindowMaker.in
--- a/WindowMaker/Defaults/WindowMaker.in       Thu Sep 24 13:59:35 2009 -0700
+++ b/WindowMaker/Defaults/WindowMaker.in       Wed Jan 06 12:09:25 2010 -0500
@@ -99,9 +99,12 @@
   MiniaturizeKey = "Mod1+M";
   NextWorkspaceLayerKey = None;
   PrevWorkspaceLayerKey = None;
+  DockLowerKey = None;
+  DockRaiseKey = None;
   ClipLowerKey = None;
   ClipRaiseKey = None;
   ConstrainWindowSize = NO;
+  DockRaiseLowerKey = None;
   ClipRaiseLowerKey = None;
   TitleJustify = center;
   WindowTitleFont = "Trebuchet MS,Luxi Sans:bold:pixelsize=12";
diff -r e6e5940e0589 src/defaults.c
--- a/src/defaults.c    Thu Sep 24 13:59:35 2009 -0700
+++ b/src/defaults.c    Wed Jan 06 12:09:25 2010 -0500
@@ -682,6 +682,15 @@
     {"WindowMenuKey",  "None",                 (void*)WKBD_WINDOWMENU,
     NULL,                              getKeybind,     setKeyGrab
     },
+    {"DockLowerKey",   "None",                 (void*)WKBD_DOCKLOWER,
+    NULL,                              getKeybind,     setKeyGrab
+    },
+    {"DockRaiseKey",   "None",                 (void*)WKBD_DOCKRAISE,
+    NULL,                              getKeybind,     setKeyGrab
+    },
+    {"DockRaiseLowerKey", "None",               (void*)WKBD_DOCKRAISELOWER,
+    NULL,                              getKeybind,     setKeyGrab
+    },
     {"ClipLowerKey",   "None",                 (void*)WKBD_CLIPLOWER,
     NULL,                              getKeybind,     setKeyGrab
     },
diff -r e6e5940e0589 src/event.c
--- a/src/event.c       Thu Sep 24 13:59:35 2009 -0700
+++ b/src/event.c       Wed Jan 06 12:09:25 2010 -0500
@@ -1687,6 +1687,18 @@
             }
         }
         break;
+    case WKBD_DOCKLOWER:
+        if (!wPreferences.flags.nodock)
+            wDockLower(scr->dock);
+        break;
+    case WKBD_DOCKRAISE:
+        if (!wPreferences.flags.nodock)
+            wDockRaise(scr->dock);
+        break;
+    case WKBD_DOCKRAISELOWER:
+        if (!wPreferences.flags.nodock)
+            wDockRaiseLower(scr->dock);
+        break;
     case WKBD_CLIPLOWER:
         if (!wPreferences.flags.noclip)
             wDockLower(scr->workspaces[scr->current_workspace]->clip);
diff -r e6e5940e0589 src/keybind.h
--- a/src/keybind.h     Thu Sep 24 13:59:35 2009 -0700
+++ b/src/keybind.h     Wed Jan 06 12:09:25 2010 -0500
@@ -33,56 +33,60 @@
 #define WKBD_VMAXIMIZE          7
 #define WKBD_HMAXIMIZE          8
 #define WKBD_SELECT             9
+/* Dock */
+#define WKBD_DOCKLOWER          10
+#define WKBD_DOCKRAISE         11
+#define WKBD_DOCKRAISELOWER    12
 /* Clip */
-#define WKBD_CLIPLOWER          10
-#define WKBD_CLIPRAISE         11
-#define WKBD_CLIPRAISELOWER    12
+#define WKBD_CLIPLOWER          13
+#define WKBD_CLIPRAISE         14
+#define WKBD_CLIPRAISELOWER    15
 /* window */
-#define WKBD_RAISE             13
-#define WKBD_LOWER             14
-#define WKBD_RAISELOWER                15
-#define WKBD_MOVERESIZE                16
-#define WKBD_SHADE             17
+#define WKBD_RAISE             16
+#define WKBD_LOWER             17
+#define WKBD_RAISELOWER                18
+#define WKBD_MOVERESIZE                19
+#define WKBD_SHADE             20
 /* window, menu */
-#define WKBD_CLOSE             18
+#define WKBD_CLOSE             21
 /* window */
-#define WKBD_FOCUSNEXT         19
-#define WKBD_FOCUSPREV          20
+#define WKBD_FOCUSNEXT         22
+#define WKBD_FOCUSPREV          23
 
-#define WKBD_WORKSPACE1                21
-#define WKBD_WORKSPACE2                22
-#define WKBD_WORKSPACE3                23
-#define WKBD_WORKSPACE4                24
-#define WKBD_WORKSPACE5                25
-#define WKBD_WORKSPACE6                26
-#define WKBD_WORKSPACE7                27
-#define WKBD_WORKSPACE8                28
-#define WKBD_WORKSPACE9                29
-#define WKBD_WORKSPACE10       30
-#define WKBD_NEXTWORKSPACE     31
-#define WKBD_PREVWORKSPACE     32
-#define WKBD_NEXTWSLAYER       33
-#define WKBD_PREVWSLAYER       34
+#define WKBD_WORKSPACE1                24
+#define WKBD_WORKSPACE2                25
+#define WKBD_WORKSPACE3                26
+#define WKBD_WORKSPACE4                27
+#define WKBD_WORKSPACE5                28
+#define WKBD_WORKSPACE6                29
+#define WKBD_WORKSPACE7                30
+#define WKBD_WORKSPACE8                31
+#define WKBD_WORKSPACE9                32
+#define WKBD_WORKSPACE10       33
+#define WKBD_NEXTWORKSPACE     34
+#define WKBD_PREVWORKSPACE     35
+#define WKBD_NEXTWSLAYER       36
+#define WKBD_PREVWSLAYER       37
 
 /* window shortcuts */
-#define WKBD_WINDOW1           35
-#define WKBD_WINDOW2           36
-#define WKBD_WINDOW3           37
-#define WKBD_WINDOW4           38
-#define WKBD_WINDOW5           39
-#define WKBD_WINDOW6           40
-#define WKBD_WINDOW7           41
-#define WKBD_WINDOW8           42
-#define WKBD_WINDOW9           43
-#define WKBD_WINDOW10          44
+#define WKBD_WINDOW1           38
+#define WKBD_WINDOW2           39
+#define WKBD_WINDOW3           40
+#define WKBD_WINDOW4           41
+#define WKBD_WINDOW5           42
+#define WKBD_WINDOW6           43
+#define WKBD_WINDOW7           44
+#define WKBD_WINDOW8           45
+#define WKBD_WINDOW9           46
+#define WKBD_WINDOW10          47
 
-#define WKBD_SWITCH_SCREEN      45
+#define WKBD_SWITCH_SCREEN      48
 
 #ifdef KEEP_XKB_LOCK_STATUS
-# define WKBD_TOGGLE           46
-# define WKBD_TMP              47
+# define WKBD_TOGGLE           49
+# define WKBD_TMP              50
 #else
-# define WKBD_TMP              46
+# define WKBD_TMP              49
 #endif
 
 #ifdef VIRTUAL_DESKTOP

Reply via email to