[comp.sys.amiga] ClickToFront executable

bryce@COGSCI.BERKELEY.EDU (Bryce Nesbitt) (06/22/87)

After ~two weeks waiting for the problems with comp.binaries to be resolved,
I give up.  Perhaphs a relay to a reliable site, Craig?

This is ClickToFront.  It extends the Amiga user-interface so that:

A single-click into a window works as always.
A double-click info a window brings it to the front.

No more hunting for page gadgets!!

---- cut here ---
begin 777 ClickToFront
M```#\P`````````!``````````````#=```#Z0```-TL>``$*FX!%'``(BT`Q
MK&800>T`7$ZN_H!![0!<3J[^C"\`?A1A``#N9P``V"I`80`!7F<``+HH27``Q
M(@!!^@);3J[^1$J`9@``H$/Z`CM.KOYH+`!G``",2I=G,"Q&D<A#^@%@1?H!D
MA$?Z`91P`'(`)#P```(P=D1.KOZD+'@`!$J`9@@B1DZN_F)@5"`\````S"(\$
M``$``4ZN_SHD0")`2H!G/D'Z`@)R,B+84<G__$'J`!8E2``.)4@`$D'J`+8E?
M2``*)48`DB5&`%XB3#-\``D`'"-*`"A.KOXX2H!F`GX`(DQ.KOX^(DQA``#"(
M(DUA``!^2H=G"B)N`11P9R-``)0D'V<*3J[_?")"3J[^AB`'3G4O"B(\``$`4
M`7`B3J[_.B1`2H!G%'#_3J[^MG+_LH!F#")*<").KO\N<`!@+!5```\5?```]
M``X5?``$``A"*@`))6X!%``00>H`%""(6)!"J``$(4@`""`*)%].=2\)</\3P
M0``((T``%'``$"D`#TZN_K`B7W`B3N[_+B\`<#`B/``!``%.KO\Z(D!*@&<*>
M$WP`!0`((U\`#DYU</\30``((T``%"-``!AP,$[N_RX``0$``!0`!@``````0
M``(2```!U@`!`0``%``1`````````D4```````$!```&``,````````">```>
M`````0$```8``P````````*``````$-L:6-K5&]&<F]N="!I;G-T86QL97(@-
M=C$N,2X@(""I,3DX-R!"<GEC92!.97-B:71T`$1O=6)L92UC;&EC:VEN9R!W'
M:6QL(&)R:6YG(&%N>2!W:6YD;W<@=&\@=&AE(&9R;VYT`$EN<W1A;&P`0V%NI
M8V5L`&EN='5I=&EO;BYL:6)R87)Y`&EN<'5T+F1E=FEC90``````````````(
M`#,````````````````@"`QH`@``!&<&(A!F&$YU(B@`!@)!,``,@0!H``!G4
M("(09@).=2!!#&@"```$9O`B*``&`D$P``R!`&@``&;@2.>P0B\(+'S_____H
M(#H`8"(Z`&`D*``.)B@`$DZN_YH@7T/Z`$HBZ``.(N@`$DJ`3-]"#6>J2.>`#
M`BQ\_____W``3J[^8B\`("X`-&<&($!.KO[((%].KOY<3-]``4YU0VQI8VM4P
M;T9R;VYT`````````````````^P````%`````````@H```'V```!X@```=(`E
+``'.`````````_(`$
``
end
--- and here ---

begin 777 ClickToFront.info
MXQ```0``````,@`M`#0`$``%``,``0`#8F``````````````````````````E
M`````_0``````````````"X````E```````````````````````T``\``@`#2
M8G@#`````````````````````"JJJL``-555=5550``JJJK@``!``"```"``W
M`$``(```(```0``@```@``!``"```#___\``(````P,$```@```/`^0``#__;
M__\#!`````!'_P,$`````'\'QYP`````?____`````````````````#____PA
M`/___\```#``P```````,`#````````P`,```````#``P```````,`#`````M
M```P`,```````#``P````0,#\`#````!`^,``,````$#`P``__^'_P,#````/
7`;\'QX,````!@````P````'_____```!3
``
end
--- end ---

The executable should end up at 956 bytes.  It is much smaller when actually
installed in memory.  A "uudecode" program to decode the above binaries can
be found on FISH disk #53.
If you use this, adjust the preferences "click rate" slider upwards for
best results (make double-click less sensitive).
Source has been posted to comp.sources.amiga.  Sadly this is also comp.
bitbucket.amiga at this time. 

---------
	Ack!  (NAK,EOT,SOH)
|\ /|  .
{o O} . bryce@cogsci.berkeley.EDU -or- ucbvax!cogsci!bryce
( " ) 
  U	Single tasking?  Just say *NO!*

kim@amdahl.amdahl.com (Kim DeVaughn) (06/22/87)

In article <8706220556.AA06685@cogsci.berkeley.edu>, bryce@COGSCI.BERKELEY.EDU (Bryce Nesbitt) writes:
> 
> After ~two weeks waiting for the problems with comp.binaries to be resolved,
> I give up.  Perhaphs a relay to a reliable site, Craig?

ClickToFront is really nice, Bryce!  I've been using it for a week or so
(got it from the FAUG BBS), and sent it off to comp.bitbucket.amiga just
in case you were too modest to :-)!

Looks like it's time for me to (once again) suggest that people post their
code here in comp.sys.amiga ... last time, it was down for several months
(not an exageration).  Hope that everyone who has been sending stuff to
Craig also sent a copy to Fred Fish (fnf@mcdsun) ...

Here's a warning for ClickToFront'ers ... if you have Facc, and are using
AutoFacc, you'll have to decide if you want to use ClickToFront *or*
AutoFacc.  AutoFacc won't work properly if ClickToFront is installed,
because of the way it (AutoFacc) "cheats", faking the mouse input.  Sigh.

Oh well, it won't be long until Perry has Facc II out, all nicely daemonized!

Hmmmm ... Brown-Wagh/Micro-Systems Software is supposed to have a program
coming out (RSN) that records mouse movements, clicks, keyboard entries, and
such, and lets you make "macros" out of them.  Wonder if there will be any
interference with ClickToFront ... Bryce?

/kim


P.S.  Thanks for the pronunciation of Facc, Perry!  I also had some mail
      from a fellow in Australia wondering what name Facc is marketed under
      in Germany, since "Facc" in German has an unambiguous pronunciation :-)




-- 
UUCP:  kim@amdahl.amdahl.com
  or:  {sun,decwrl,hplabs,pyramid,ihnp4,seismo,oliveb,cbosgd}!amdahl!kim
DDD:   408-746-8462
USPS:  Amdahl Corp.  M/S 249,  1250 E. Arques Av,  Sunnyvale, CA 94086
CIS:   76535,25

bryce@COGSCI.BERKELEY.EDU (Bryce Nesbitt) (06/22/87)

In article <>, kim@ahmdal.ahmdal.COM writes:
>In article <>, bryce@COGSCI.BERKELEY.EDU (Bryce Nesbitt) writes:
>> 
>> After ~two weeks waiting for the problems with comp.binaries to be resolved,
>> I give up.  [ClickToFront executable]
>
> ClickToFront is really nice, Bryce!  I've been using it for a week or so [...]
>
> Here's a warning for ClickToFront'ers ... if you have Facc, and are using
> AutoFacc, you'll have to decide if you want to use ClickToFront *or*
> AutoFacc.  AutoFacc won't work properly if ClickToFront is installed,
> because of the way it (AutoFacc) "cheats", faking the mouse input.  Sigh.

Just start ClickToFront *after* autofacc.

ClickToFront sees AutoFacc's "Mouse" movements, and responds just like
if the user had made them.


> Hmmmm ... Brown-Wagh/Micro-Systems Software is supposed to have a program
> coming out (RSN) that records mouse movements, clicks, keyboard entries, and
> such, and lets you make "macros" out of them.  Wonder if there will be any
> interference with ClickToFront ... Bryce?

Why, you could just look at the source in comp.bitbucket.amiga !! :-) :-) :-)

ClickToFront hooks into the input.device stream at priority 51, just before
Intuition.  This means it sees all real mouse events, and all fake mouse
events added by sneaky software.
If two of these are mouse down events over windows, and meet the double-click
time the current window will be poped to the front.  Avoid doing that while
recording, and everything will go as planned.  Even if a double-click event
is generated, it often will be harmless.
This precludes use with "SunMouse" or "AutoPoint" since these generate
fake mouse down events for EVERY KEYBOARD KEY that is pressed. 
Two solutions are possible:
1> Ignore mouse double-clicks that have a keyboard event interspersed
   (a good idea in any case...)
2> Add "AutoPoint" to "ClickToFront", as an option.  Too bad for all you
   AutoPoint fans that I just don't like AutoPoint...

------------
	Ack!  (NAK,EOT,SOH)
|\ /|  .
{o O} . bryce@cogsci.berkeley.EDU -or- ucbvax!cogsci!bryce
( " ) 
  U	Lattice V3.03?  Just say **ARGHHAHAHAHHHHHH!**   yank, pull hair, etc.

kim@amdahl.amdahl.com (Kim DeVaughn) (06/22/87)

In article <8706221319.AA12365@cogsci.berkeley.edu>, bryce@COGSCI.BERKELEY.EDU (Bryce Nesbitt) writes:
> In article <>, kim@ahmdal.ahmdal.COM writes:
                     ^^^^^^^^^^^^^^^^^
Never try getting a job as a mailer daemon Bryce, or are you gonna blame
it on the lineeater?  That should be amdahl.amdahl.COM ... :-) :-) :-)!

> >
> > Here's a warning for ClickToFront'ers ... if you have Facc, and are using
> > AutoFacc, you'll have to decide if you want to use ClickToFront *or*
> > AutoFacc.  AutoFacc won't work properly if ClickToFront is installed,
> > because of the way it (AutoFacc) "cheats", faking the mouse input.  Sigh.
>
> Just start ClickToFront *after* autofacc.

Yeah, this will work fine for the initial startup invocation of Facc
(followed by AutoFacc), but doesn't help later on down the road with
subsequent Facc-fiddling using AutoFacc.  Actually, subsequent use
will at least push the Facc window to the back, but the +/- feature
won't do it's thing to the buffer count, nor will it cause the Facc
window to shrink.


> ClickToFront sees AutoFacc's "Mouse" movements, and responds just like
> if the user had made them.

I suspect (not having the sources to it) that AutoFacc fakes clicking
on Facc's More and Fewer buttons once for each buffer to add/delete,
instead of trying to fake "holding" the mouse button down.

Since these are issued at a *very* rapid rate, ClickToFront sees them
as "double-clicks" and keeps bringing the Facc window to the front over-
and-over again.  I think I only tried to add/delete an even number of
buffers ... have to try an odd number and see if it'll still recognize
the push-to-back "click".  Or maybe try adjusting the double-click
sensitivity in Preferences (though I think AutoFacc issues it's clicks
way too fast for that to make a difference).

In any case, all this is a kluge that will go away soon.  In the meantime,
I'll just use AutoFacc in the startup-sequence (ahead of ClickToFront) for
IPL'ing the machine, and deal with Facc manually after that.


> > Hmmmm ... Brown-Wagh/Micro-Systems Software is supposed to have a program
> > coming out (RSN) that records mouse movements, clicks, keyboard entries, and
> > such, and lets you make "macros" out of them.  Wonder if there will be any
> > interference with ClickToFront ... Bryce?
>
> ClickToFront hooks into the input.device stream at priority 51, just before
> Intuition.  This means it sees all real mouse events, and all fake mouse
> events added by sneaky software.
> If two of these are mouse down events over windows, and meet the double-click
> time the current window will be poped to the front.  Avoid doing that while
> recording, and everything will go as planned.  Even if a double-click event
> is generated, it often will be harmless.

Based on the above (which could well be wrong), seems like ClickToFront
eats (removes from the input food chain) anything it interprets as a
double-click [alas, the source is somewhere in Purdue, so I can't check].

Not a problem for most real-time playback of recorded sequences, but the
MSS product I mentioned above had several playback modes ... one of which
was a time-compressed mode (dat ol' mouse can really whiz around, clickin'
here, clickin' there)!  Seems like this could be a real problem, not to
mention rapid "extended selects" and such.  Would it be a problem for
ClickToFront to pass the mouse events on down the line after it's done
it's WindowToFront thing?


> This precludes use with "SunMouse" or "AutoPoint" since these generate
> fake mouse down events for EVERY KEYBOARD KEY that is pressed.

Whoa ... hold on there!  ClickToFront works just fine for me running
jimm's AutoPoint2.  I haven't tried SunMouse or MoonMouse to see what
happens with them though.


> Two solutions are possible:
>
> 2> Add "AutoPoint" to "ClickToFront", as an option.  Too bad for all you
>    AutoPoint fans that I just don't like AutoPoint...

Ah, but we do have the source, Bryce (or at least "doc" does, anyway) :-)!


/kim


-- 
UUCP:  kim@amdahl.amdahl.com
  or:  {sun,decwrl,hplabs,pyramid,ihnp4,seismo,oliveb,cbosgd}!amdahl!kim
DDD:   408-746-8462
USPS:  Amdahl Corp.  M/S 249,  1250 E. Arques Av,  Sunnyvale, CA 94086
CIS:   76535, Ba

bryce@COGSCI.BERKELEY.EDU (Bryce Nesbitt) (06/23/87)

>In article <>, bryce@COGSCI.BERKELEY.EDU (Bryce Nesbitt) writes:
>> In article <>, kim@ahmdal.ahmdal.COM writes:
>                     ^^^^^^^^^^^^^^^^^
> Never try getting a job as a mailer daemon Bryce, or are you gonna blame
> it on the lineeater?  That should be amdahl.amdahl.COM ... :-) :-) :-)!

Ahhh, but I *DO* have a job as a mailer daemon!!  *NOW* you know where
all your undelivered mail goes...  :-)


> [It] seems like ClickToFront
> eats (removes from the input food chain) anything it interprets as a
> double-click 

V1.0 would do that, but I did not think anyone had that??  To see
what version you have try starting it from the workbench.  If new, you get
a requester. 
V1.1 is the current version.


> [alas, the source is somewhere in Purdue, so I can't check].

The distribution I made contained source in the ARC file.  comp.sys.amiga
is a special case because the {sources,binaries} groups = {bitbucket}
groups. 


> Would it be a problem for
> ClickToFront to pass the mouse events on down the line after it's done
> it's WindowToFront thing?

It was work to *PREVENT* that in V1.0.


>> [This] precludes use with "SunMouse" or "AutoPoint" since these generate
>> fake mouse down events for EVERY KEYBOARD KEY that is pressed.
>
> Whoa ... hold on there!  ClickToFront works just fine for me running
> jimm's AutoPoint2.  I haven't tried SunMouse or MoonMouse...

My guess is that "Intuition" JimM knows how to twiddle Intuition
better, and does not need such kludges.
If you have source to AutoPoint2 please post a copy to ha, aha... heee heee..
giggle... comp.sources.amiga.  :-) :-) :-)

Please don't be offended, doc.  (doc is the comp.sources moderator)
---------
	Ack!  (NAK,EOT,SOH)
|\ /|  .
{o O} . bryce@cogsci.berkeley.EDU -or- ucbvax!cogsci!bryce
( " ) 
  U	Single tasking?  Just say *NO!*

scott@applix.UUCP (Scott Evernden) (06/23/87)

In article <8706221319.AA12365@cogsci.berkeley.edu> bryce@COGSCI.BERKELEY.EDU (Bryce Nesbitt) writes:
>This precludes use with "SunMouse" or "AutoPoint" since these generate
>fake mouse down events for EVERY KEYBOARD KEY that is pressed. 

I can't talk for AutoPoint, but SunMouse only generates the fake mouse events
just before the FIRST KEYBOARD KEY after any MOUSE MOTION.  It also *tries* to
be smart about screen change events.

-scott