[comp.windows.x] twm/tvtwm popup menu fix

Harald.Eikrem@delab.sintef.no (03/17/91)

Always being annoyed that popup menus in these window managers tend to
show up at unwanted times when sliding down menu panes, I came up with
the following simple fix.  Instead of switching to the popup menu left
to the half of the menu width, this fix makes them switch left of 9/10'th
of the width.  It also (I think) solves the problem of unstable menu
areas, in which popup menus show up and diappear at high frequency.

The following diff is from tvtwm rev. 8.0 PL4 menus.c, but applies eqally
well to X11R4 twm (using `patch' of course).  I would like to see
something like this done to the twm and tvtwm distributions.

--Harald E

Save the following to e.g. /tmp/twmpatch, then run "patch < /tmp/twmpatch"
in the tvtwm (or twm) source directory.


*** menus.c.ORIG	Fri Nov 16 04:13:12 1990
--- menus.c	Thu Mar 14 03:28:16 1991
***************
*** 566,570 ****
  	/* now check to see if we were over the arrow of a pull right entry */
  	if (ActiveItem->func == F_MENU && 
! 	    ((ActiveMenu->width - x) < (ActiveMenu->width >> 1)))
  	{
  	    MenuRoot *save = ActiveMenu;
--- 566,570 ----
  	/* now check to see if we were over the arrow of a pull right entry */
  	if (ActiveItem->func == F_MENU && 
! 	    ((ActiveMenu->width - x) < (ActiveMenu->width /10)))
  	{
  	    MenuRoot *save = ActiveMenu;
***************
*** 573,579 ****
  
  	    if (MenuDepth < MAXMENUDEPTH) {
! 		PopUpMenu (ActiveItem->sub, (savex + (ActiveMenu->width >> 1)),
  			   (savey + ActiveItem->item_num * Scr->EntryHeight +
! 			    (Scr->EntryHeight >> 1)), False);
  	    } else if (!badItem) {
  		XBell (dpy, 0);
--- 573,579 ----
  
  	    if (MenuDepth < MAXMENUDEPTH) {
! 		PopUpMenu (ActiveItem->sub, (savex + (ActiveMenu->width *8/10)),
  			   (savey + ActiveItem->item_num * Scr->EntryHeight +
! 			    (Scr->EntryHeight /10)), False);
  	    } else if (!badItem) {
  		XBell (dpy, 0);

Harald.Eikrem@delab.sintef.no (03/18/91)

I said:
| the following simple fix.  Instead of switching to the popup menu left
| to the half of the menu width, this fix makes them switch left of 9/10'th
| of the width.  It also (I think) solves the problem of unstable menu

Left, right, no... I must have been asleep.  Isn't right right here? -----> .

--Harald E

meo@Dixie.Com (Miles ONeal) (03/18/91)

You know, it seems twm used to work more you like describe
(altho the description wasn't quite clear to me). At the
time, it was a minor nuisance to always have to be thafar over!

Guess you can't please everyone. Perhaps a .twmrc option?
AIIEEE!

-Miles

jpe@egr.duke.edu (John P. Eisenmenger) (03/18/91)

Just a quick idea/question:

Is it possible to set up a menu that is always on the screen, as
opposed to requiring some event to bring it up.  It'd be nice
for a default twmrc to have this option so the uninitiated could
find the menus easily.

-John

jc@raven.bu.edu (James Cameron) (03/20/91)

>>>>> On 18 Mar 91 15:53:04 GMT, jpe@egr.duke.edu (John P. Eisenmenger) said:

John> Just a quick idea/question:

John> Is it possible to set up a menu that is always on the screen, as
John> opposed to requiring some event to bring it up.  It'd be nice
John> for a default twmrc to have this option so the uninitiated could
John> find the menus easily.

John> -John

Yes, but not in TV/TWM   The current WM's that support pin-ups
are OLWM (OpenLook Window Manager) and SWM (Solbourne Window Manager)

JC

--
James Cameron  -  jc@raven.bu.edu        |  "But to risk we must, for the 
Signal Processing and Interpretation Lab |  greatest hazard in life is to risk
ECS Engineering Dept.                    |  nothing.  For the man or woman who
	Boston University, Boston MA     |  risks nothing, has nothing, does
	Work: 617 353-2879               |  nothing, is nothing."
Information Technology                   |
	Boston University, Boston MA     |  (Quote from the eulogy for the late
	work: 617 353-2780 ext. 338      |   Christa McAuliffe.)