Subject: Re: FVWM: FvwmButtons Double Clicking

From: Albrecht Kadlec <[email-masked]>
Date: 09 Mar 1998 18:10:59 +0100

Jin Ko <[email-masked]> writes:

> Can I make my FvwmButtons should be "Double-Clicked" (not
> "Single-Cliked") to launch some application? 
> (I'm sorry if it's one of usual questoins.)

short:	create a button, which, when single clicked calls a function,
	which does trigger the action, if there's (another!) single click.

long:

this is what I use:

*FvwmButtons (	Icon xterm.xpm,	\
		Action XTerm, \
		Action (Mouse 1) 'Xec "Menu Tools" "Popup Machines OnHostExec $0 $1 xterm"', \
		Action (Mouse 2) 'Xec "Menu WindowOps" "X xlock"', \
		Action (Mouse 3) 'Xec  MyWindowList	"X @@"')

the Xec function executes the second arg, if there was a click (after the
click in FvwmButtons, from which it was called, i.e: a double-click)
otherwise it executes the first argument (motion or simple after the
motion-timeout i.e: single-click -> motion-timeout) 
FYI: "I" didn't work for single-click.

DestroyFunc Xec
AddToFunc Xec		"M"	$0
+			"C"	$1

DestroyFunc X
AddToFunc X		"I"	Exec exec $0 $1 $2 $3 $4 $5 $6 $7 $8 $9

It's actually some sort of 'undocumented feature',
I've been posting this to the list several times ago.
I don't like it, but it does work for me, and I didn't have time to get
involved with FvwmButtons, too.

This undocumented feature exploits the Motion-timeout-bug (even if you don't
move the cursor, it's a motion), so if this one is fixed, my menus won't
work any more. But this bug has been around for years now.
It's almost symptomous for fvwm2. If this bug were fixed, I'd say 'The
fvwm2-code-cleanup has at last gotten to a final phase'.

cheers,
albrecht
-- 
When you say I've got a problem that's a certainty
But I put it all right down to eccentricity
It's just for the record it's just a passing phase
Just for the record I can stop any day		-- Marillion
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].