Just switched to using ctwm (from tvtwm). One thing that annoys me is the
way the cursor is warped to the menu title if the menu won't fit on the
screen below the current cursor position. The attached patch (against 3.6)
adds a "NoWarpToMenuTitle" keyword to turn this off.
J
---8<---------------------------- Cut here ---------------------------->8---
--- ctwm.c.orig 2001-12-11 15:38:52.000000000 +0000
+++ ctwm.c 2004-02-07 23:11:32.000000000 +0000
@@ -1116,6 +1116,7 @@
Scr->IgnoreModifier = 0;
Scr->IgnoreCaseInMenuSelection = False;
Scr->PackNewWindows = False;
+ Scr->NoWarpToMenuTitle = FALSE;
Scr->BorderTop = 0;
Scr->BorderBottom = 0;
--- ctwm.man.orig 2001-12-11 15:38:52.000000000 +0000
+++ ctwm.man 2004-02-07 23:10:14.000000000 +0000
@@ -1039,6 +1039,10 @@
will not have highlight areas. This and the \fBSqueezeTitle\fP options
can be set to substantially reduce the amount of screen space required by
titlebars.
+.IP "\fBNoWarpToMenuTitle\fP" 8
+This variable indicates that the cursor should not be warped to the title
+of a menu which does not have room to drop down below the current cursor
+position.
.IP "\fBOccupy\fP { \fIoccupy-list\fP }" 8
This variable specifies which windows occupy which workspaces at startup.
.IP
--- menus.c.orig 2001-12-11 15:38:52.000000000 +0000
+++ menus.c 2004-02-07 23:11:37.000000000 +0000
@@ -1639,7 +1639,7 @@
XRaiseWindow (dpy, menu->shadow);
}
XMapRaised(dpy, menu->w);
- if (clipped && center) {
+ if (!Scr->NoWarpToMenuTitle && clipped && center) {
xl = x + (menu->width / 2);
yt = y + (Scr->EntryHeight / 2);
XWarpPointer (dpy, Scr->Root, Scr->Root, x, y, menu->width, menu->height, xl,
yt);
--- parse.c.orig 2004-01-12 18:58:06.000000000 +0000
+++ parse.c 2004-02-07 23:11:56.000000000 +0000
@@ -631,6 +631,7 @@
#define kw0_PackNewWindows 61
#define kw0_IgnoreCaseInMenuSelection 62
#define kw0_SloppyFocus 63
+#define kw0_NoWarpToMenuTitle 64
#define kws_UsePPosition 1
#define kws_IconFont 2
@@ -977,6 +978,7 @@
{ "notitlefocus", KEYWORD, kw0_NoTitleFocus },
{ "notitlehighlight", NO_TITLE_HILITE, 0 },
{ "noversion", KEYWORD, kw0_NoVersion },
+ { "nowarptomenutitle", KEYWORD, kw0_NoWarpToMenuTitle },
{ "occupy", OCCUPYLIST, 0 },
{ "occupyall", OCCUPYALL, 0 },
{ "opaquemove", OPAQUEMOVE, 0 },
@@ -1352,6 +1354,10 @@
Scr->SloppyFocus = TRUE;
return 1;
+ case kw0_NoWarpToMenuTitle:
+ Scr->NoWarpToMenuTitle = TRUE;
+ return 1;
+
}
return 0;
}
--- screen.h.orig 2001-12-11 15:38:52.000000000 +0000
+++ screen.h 2004-02-07 23:12:04.000000000 +0000
@@ -386,6 +386,7 @@
short IgnoreLockModifier; /* Should we ignore the lock modifier */
unsigned int IgnoreModifier;
short IgnoreCaseInMenuSelection; /* Should we ignore case in menu selection */
+ short NoWarpToMenuTitle; /* warp cursor to clipped menu title */
FuncKey FuncKeyRoot;
FuncButton FuncButtonRoot;
---8<---------------------------- Cut here ---------------------------->8---
--
My other computer also runs NetBSD / Sailing at Newbiggin
http://www.netbsd.org/ / http://www.newbigginsailingclub.org/