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