Article View: de.comp.sys.next
Article #152Aktive Applikation per Cursortasten (Hack-Repost)
From: Bjoern Kriews
Date: Thu, 03 Sep 1992 17:30
Date: Thu, 03 Sep 1992 17:30
185 lines
10525 bytes
10525 bytes
Hi !
Dieser Thread ist offenbar neulich in c.s.n. gelaufen.
Ich habe es micht mitbekommen und ich halte diesen Artikel
fuer so brauchbar (und so kurz), dass ich ihn hier nochmals
poste.
Das ganze ist ein Hack, um per Command-Alt up/down nicht nur
das Top-Window sondern auch die aktive App zu setzen.
Fehlte mir schon lange.
Dank an Jason Breckenridge, der mir den Code zukommen liess.
So long, Bjoern
----
>From rft@hulme-pc-2e.Stanford.EDU Mon Aug 31 23:32:43 1992
Return-Path: <rft@hulme-pc-2e.Stanford.EDU>
Received: from hulme-pc-2e.Stanford.EDU by skatter.usask.ca (4.1/SMI-4.1)
id AA00910; Mon, 31 Aug 92 23:32:28 CST
Received: by hulme-pc-2e.Stanford.EDU (NeXT-1.0 (From Sendmail 5.52)/inc-1.0)
id AA03794; Mon, 31 Aug 92 22:32:06 PDT
Date: Mon, 31 Aug 92 22:32:06 PDT
From: rft@hulme-pc-2e.Stanford.EDU (Robert F Tobler)
Message-Id: <9209010532.AA03794@hulme-pc-2e.Stanford.EDU>
Received: by NeXT Mailer (1.63)
To: jake@skatter.usask.ca
Subject: WindowServerHack
Status: R
At the end of this message you will find a uuencoded version of my
original post (I uuencoded it to ensure that no mailer would mangle
the 80-character formatted ps code contained in this message).
Here is some additional information if you need to know more about
the way this works.
Short description:
The blocks of three lines marked 'NEW' in handle commands check if
the alternate key was depressed after /_handleCommand checked for up
and down arrows and cycled the windows once.
/activateAppWithTopWindow searches for the topmost appwindow in a
loop, when its found it creates two mouse clicks in the title bar of
this window (one mouse-down, one mouse-up).
Robert F. Tobler
(rft@cs.stanford.edu)
begin 640 WindowServerHack
M5&AA;FMS('1O($1A=FED($MO<VMI+"!W:&\@<V5N="!M92!H:7,@4&]I;G0M
M=&\M1F]C=7,@2&%C:RP@22!W87,@86)L92!T;R!R97=R:71E(&UY($AA8VLL
M('-O('1H870@0V]M;6%N9"U!;'1E<FYA=&4M57!!<G)O=R!A;F0@0V]M;6%N
M9"U!;'1E<FYA=&4M1&]W;D%R<F]W(&YO=R!C;W)R96-T;'D@8WEC;&4@=&AR
M;W5G:"!T:&4@=VEN9&]W<RP@86-T:79A=&EN9R!T:&5M(&%N9"!T:&4@;W=N
M:6YG(&%P<&QI8V%T:6]N("AI+F4N('EO=2!D;VXG="!N965D('1O('5S92!T
M:&4@;6]U<V4@=&\@<W=I=&-H(&%P<&QI8V%T:6]N<R!A;GEM;W)E(2$I"@H*
M5T%23DE.1SH*"DEF('EO=2!I;G-T86QL('1H:7,@:&%C:RP*,2X@8F%C:W5P
M('EO=7(@;VQD("<O=7-R+VQI8B].97AT4W1E<"]W:6YD;W=086-K86=E+G!S
M)RP@86YD"C(N(&-R96%T92!A('!O<W-I8FEL:71Y('1O(&)O;W0@9G)O;2!A
M;F]T:&5R(&1R:79E+@HH5&AI<R!I;B!O<F1E<B!T;R!B92!A8FQE('1O(')E
M=F5R<V4@=&AE(&-H86YG97,@:68@>6]U('-H;W5L9"!M86ME(&$@;6ES=&%K
M92XI"@I$25-#3$%)3452.@H*36%K92!T:&4@8VAA;F=E<R!A="!Y;W4@;W=N
M(')I<VLN($D@<F5F=7-E('1O(&=I=F4@86YY('=A<G)A;G1Y(&9O<B!D86UA
M9V5S('1H870@87)I<V4@9G)O;2!A<'!L>6EN9R!T:&ES(&AA8VLN"@I42$4@
M2$%#2SH*"FQI;F5S(#$Q.#4@+2`Q,C,U(&]F("<O=7-R+VQI8B].97AT4W1E
M<"]W:6YD;W=086-K86=E+G!S)R`H5F5R<VEO;B`R+C`L($YE6%13=&5P(%9E
M<G-I;VX@,BXQ*2!"149/4D4@:&%C:R`H22!I;F-L=61E('1H92!W:&]L92!H
M96%D97(@;V8@=&AE(&-H86YG960@9G5N8W1I;VXL('-I;F-E('1H92!H86-K
M(&1E<&5N9',@;VX@=&AE('-T86-K(&%S('!R;V1U8V5D(&)Y('1H:7,@9G5N
M8W1I;VXN($EF('EO=7(@=F5R<VEO;B!O9B!T:&ES(&9U;F-T:6]N(&QO;VMS
M(&1I9F9E<F5N="!T:&4@:&%C:R!C86X@9F%I;"DZ"B4E)24E)24E)24E)24E
M)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E
M)24E)24E)24E)24E)24E)24E)0HO7VAA;F1L94-O;6UA;F0@>PDE("`\='EP
M93X@/'@^(#QY/B`\=&EM93X@"B4)("`@("`@/&9L86=S/B`\=VEN/B`\<W5B
M='EP93X@/&TQ/B`\;3(^(%]H86YD;&5#;VUM86YD"B`@)2!F:6QT97)S(&-O
M;6UA;F0@:V5Y<RX@(&-M9"!U<"!A;F0@9&]W;B!A<G)O=R!A<F4@9V]B8FQE
M9"X@(&-M9"UP97)I;V0*("`E(&=E;F5R871E<R!A('-I9VYA;"!F<F]M(%!3
M('1O('1H92!A<'`N"B`@("!M87)K(#$P(#$@<F]L;`H@("`@,2!I;F1E>"`M
M,38@8FET<VAI9G0)"0DE('-E=`H@("`@,B!I;F1E>"`V-34S-2!A;F0)"0D)
M)2!S970@8V@*("`@(&1U<"`T-B!E<0D)"0D))2!S970@8V@@:7-$;W0*("`@
M(#(@:6YD97@@,"!E<2!A;F0)"0D))2!S970@8V@@:7-$;W0*("`@(#$@:6YD
M97@@,3<S(&5Q(`D)"0DE('-E="!C:"!I<T1O="!I<T%R<F]W"B`@("`R(&EN
M9&5X(#$W-2!E<2!O<@D)"0DE('-E="!C:"!I<T1O="!I<T%R<F]W"B`@("`T
M("TQ(')O;&P@,2!E<2!A;F0)"0D))2!C:"!I<T1O="!I<T%R<F]W"B`@("`W
M(&EN9&5X("\O3G5M97)I8W!A9&UA<VL@86YD(#`@;F4@86YD"24@8V@@:7-$
M;W0@:7-!<G)O=PH@("`@;W(@>PD)"0D))2!C:"`*"3,@:6YD97@@-C4U,S4@
M86YD(#`@97$@>PD))2`A<F5P96%T/PH)("`@(&1U<"`Q-S,@97$@>PD)"0DE
M(&-H"0D)"@D)=')U92`P("]G9717:6YD;W=S('=I;F5X96,*"0EM87)K(&5X
M8V@@>PD)"0DE(&-H(%=,4R!M:R!73`H)"2`@("!M87)K(&5X8V@*"0D@("`@
M9'5P(&-U<G)E;G1W:6YD;W=L979E;"`P(&5Q('L))2!C:"!73%,@;6L@;6L@
M=VEN"@D)"61U<"!C=7)R96YT=VEN9&]W9&EC=`D))2!C:"!73%,@;6L@;6L@
M=VEN('=D"@D)"61U<"!N=6QL(&YE('L)"0DE(&-H(%=,4R!M:R!M:R!W:6X@
M=V0*"0D)("`@("]I8V]N(&=E="`Q(&YE('L)"24@8V@@5TQ3(&UK(&UK('=I
M;@H)"0D)06)O=F4@97AC:"`P(&5X8V@@;W)D97)W:6YD;W<*"0D)"6-L96%R
M=&]M87)K"@D)"0EE>&ET"@D)"2`@("!](&EF"@D)"7T@:68)"0H)"2`@("!]
M(&EF"@D)("`@(&-L96%R=&]M87)K"@D)?2`O<F5V1F]R86QL('=I;F5X96,*
M"0EC;&5A<G1O;6%R:PH)"2]R971U<FY7:6YD;W=S('=I;F5X96,)"0DE(&-H
M"@D@("`@?7L*"0ED=7`@,3<U(&5Q('L)"0D))2!C:`H)"2`@("!T<G5E(#`@
M+V=E=%=I;F1O=W,@=VEN97AE8PH)"2`@("!M87)K(&5X8V@@>PD)"0DE(&-H
M(%=,4R!M87)K(%=,"@D)"61U<"!C=7)R96YT=VEN9&]W;&5V96P@,"!E<2![
M"24@8V@@5TQ3(&UA<FL@=VEN"@D)"2`@("!D=7`@8W5R<F5N='=I;F1O=V1I
M8W0))2!C:"!73%,@;6%R:R!W:6X@=V0*"0D)("`@(&1U<"!N=6QL(&YE('L)
M"24@8V@@5TQ3(&UA<FL@=VEN('=D"@D)"0DO:6-O;B!G970@,2!N92!["24@
M8V@@5TQ3(&UA<FL@=VEN"@D)"0D@("`@0F5L;W<@97AC:"`P(&5X8V@*"0D)
M"2`@("!S>7-T96UD:6-T("]O<F1E<G=I;F1O=R!G970@97AE8PH)"0D)("`@
M(&5X:70*"0D)"7T@:68*"0D)("`@('T@:68)"0H)"0E](&EF"@D)("`@('T@
M9F]R86QL"@D)("`@(&-L96%R=&]M87)K"@D)("`@("]R971U<FY7:6YD;W=S
M('=I;F5X96,)"24@8V@*"0E]>PHE)24E)24E)24E)24E)24E)24E)24E)24E
M)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E
M)24E)24E)24*"D%&5$52(&AA8VL@*#$@861D:71I;VYA;"!P<F]C961U<F4@
M8V%L;&5D("=A8W1I=F%T94%P<%=I=&A4;W!7:6YD;W<G(&%N9"`V(&%D9&ET
M:6]N86P@;&EN97,@:6X@=&AE('!R;V-E8W5R92`G7VAA;F1L94-O;6UA;F0G
M(&UA<FME9"!B>2`E($Y%5RP@;W1H97)W:7-E(&YO(&-H86YG92P@97AC97!T
M(&EN9&5N=&%T:6]N*3H*)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E
M)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E
M)24E"B]A8W1I=F%T94%P<%=I=&A4;W!7:6YD;W<@>PDE(&YO('!A<F%M971E
M<G,@86YD(')E='5R;B!V86QU97,*("`@('1R=64@,"`O9V5T5VEN9&]W<R!W
M:6YE>&5C"0DE(%=,4R!73`H@("`@9F%L<V4@97AC:"!["@ED=7`@8W5R<F5N
M='=I;F1O=VQE=F5L"0DE(%=,4R!F86QS92!W:6X@=VEN;&5V96P*"61U<"`O
M+VUA:6Y-96YU3&5V96P@9W0@97AC:`H)+R]D;V-K3&5V96P@;'0@;W(@>PD)
M)2!73%,@9F%L<V4@=VEN"@D@("`@9'5P(&-U<G)E;G1W:6YD;W=D:6-T"24@
M5TQ3(&9A;'-E('=I;B!D:6-T"@D@("`@9'5P(&YU;&P@;F4@>PH)"2]I8V]N
M(&=E="`Q(&YE('L))2!73%,@9F%L<V4@=VEN"@D)("`@('1R=64@97AI=`D)
M)2!73%,@9F%L<V4@=VEN('1R=64*"0E](&EF"@D@("`@?7L*"0EP;W`*"2`@
M("!](&EF96QS90H)?2!I9@H)<&]P"B`@("!](&9O<F%L;`D)"0DE(%=,4R!F
M86QS92`\=VEN('1R=64^"B`@("!["@ED=7`@+V%C=&EV871E0GE7:6YD;W<@
M=VEN97AE8PD))2!73%,@=VEN"@ED=7`@8W5R<F5N='=I;F1O=V)O=6YD<R!E
M>&-H('!O<"!A9&0))2!73%,@=VEN('@@>0H),2`S(#$@<F]L;"`P(#`@-2!I
M;F1E>"`P(#`)"24@5TQ3('=I;B`Q('@@>2`P(#`@=VEN(#`@,`H),B!I;F1E
M>"!C=7)R96YT;W=N97()"0DE(%=,4R!W:6X@,2!X('D@,"`P('=I;B`P(#`@
M8W1X"@DY(&-O<'D@+W1R86YS;6ET179E;G0@=VEN97AE8PD))2!73%,@=VEN
M(#$@>"!Y(#`@,"!W:6X@,"`P(&-T>`H),B`Y(#$@<F]L;"`O=')A;G-M:71%
M=F5N="!W:6YE>&5C"24@5TQ3('=I;B`Q"@EP;W`@<&]P"B`@("!](&EF"0D)
M"24@5TQ3"B`@("`O<F5T=7)N5VEN9&]W<R!W:6YE>&5C"GT@7TY81&5F4')O
M8PH*+U]H86YD;&5#;VUM86YD('L))2`@/'1Y<&4^(#QX/B`\>3X@/'1I;64^
M(`HE"2`@("`@(#QF;&%G<SX@/'=I;CX@/'-U8G1Y<&4^(#QM,3X@/&TR/B!?
M:&%N9&QE0V]M;6%N9`H@("4@9FEL=&5R<R!C;VUM86YD(&ME>7,N("!C;60@
M=7`@86YD(&1O=VX@87)R;W<@87)E(&=O8F)L960N("!C;60M<&5R:6]D"B`@
M)2!G96YE<F%T97,@82!S:6=N86P@9G)O;2!04R!T;R!T:&4@87!P+@H@("`@
M;6%R:R`Q,"`Q(')O;&P*("`@(#$@:6YD97@@+3$V(&)I='-H:69T"0D))2!S
M970*("`@(#(@:6YD97@@-C4U,S4@86YD"0D)"24@<V5T(&-H"B`@("!D=7`@
M-#8@97$)"0D)"24@<V5T(&-H(&ES1&]T"B`@("`R(&EN9&5X(#`@97$@86YD
M"0D)"24@<V5T(&-H(&ES1&]T"B`@("`Q(&EN9&5X(#$W,R!E<2`)"0D))2!S
M970@8V@@:7-$;W0@:7-!<G)O=PH@("`@,B!I;F1E>"`Q-S4@97$@;W()"0D)
M)2!S970@8V@@:7-$;W0@:7-!<G)O=PH@("`@-"`M,2!R;VQL(#$@97$@86YD
M"0D)"24@8V@@:7-$;W0@:7-!<G)O=PH@("`@-R!I;F1E>"`O+TYU;65R:6-P
M861M87-K(&%N9"`P(&YE(&%N9`DE(&-H(&ES1&]T(&ES07)R;W<*("`@(&]R
M('L)"0D)"24@8V@@"@DS(&EN9&5X(#8U-3,U(&%N9"`P(&5Q('L)"24@(7)E
M<&5A=#\*"2`@("!D=7`@,3<S(&5Q('L)"0D))2!C:`D)"0H)"71R=64@,"`O
M9V5T5VEN9&]W<R!W:6YE>&5C"@D);6%R:R!E>&-H('L)"0D))2!C:"!73%,@
M;6L@5TP*"0D@("`@;6%R:R!E>&-H"@D)("`@(&1U<"!C=7)R96YT=VEN9&]W
M;&5V96P@,"!E<2!["24@8V@@5TQ3(&UK(&UK('=I;@H)"0ED=7`@8W5R<F5N
M='=I;F1O=V1I8W0)"24@8V@@5TQ3(&UK(&UK('=I;B!W9`H)"0ED=7`@;G5L
M;"!N92!["0D))2!C:"!73%,@;6L@;6L@=VEN('=D"@D)"2`@("`O:6-O;B!G
M970@,2!N92!["0DE(&-H(%=,4R!M:R!M:R!W:6X*"0D)"4%B;W9E(&5X8V@@
M,"!E>&-H(&]R9&5R=VEN9&]W"@D)"0EC;&5A<G1O;6%R:PH)"0D)97AI=`H)
M"0D@("`@?2!I9@H)"0E](&EF"0D*"0D@("`@?2!I9@H)"2`@("!C;&5A<G1O
M;6%R:PH)"7T@+W)E=D9O<F%L;"!W:6YE>&5C"@D)8VQE87)T;VUA<FL*"0DO
M<F5T=7)N5VEN9&]W<R!W:6YE>&5C"0D))2!C:`H)"34@:6YD97@@+R]!;'1E
M<FYA=&5M87-K(&%N9"`P(&YE('L)"0DE($Y%5PH)"2`@("`O86-T:79A=&5!
M<'!7:71H5&]P5VEN9&]W('=I;F5X96,)"0DE($Y%5PH)"7T@:68)"0D)"0D)
M)2!.15<*"2`@("!]>PH)"61U<"`Q-S4@97$@>PD)"0DE(&-H"@D)("`@('1R
M=64@,"`O9V5T5VEN9&]W<R!W:6YE>&5C"@D)("`@(&UA<FL@97AC:"!["0D)
M"24@8V@@5TQ3(&UA<FL@5TP*"0D)9'5P(&-U<G)E;G1W:6YD;W=L979E;"`P
M(&5Q('L))2!C:"!73%,@;6%R:R!W:6X*"0D)("`@(&1U<"!C=7)R96YT=VEN
M9&]W9&EC=`DE(&-H(%=,4R!M87)K('=I;B!W9`H)"0D@("`@9'5P(&YU;&P@
M;F4@>PD))2!C:"!73%,@;6%R:R!W:6X@=V0*"0D)"2]I8V]N(&=E="`Q(&YE
M('L))2!C:"!73%,@;6%R:R!W:6X*"0D)"2`@("!"96QO=R!E>&-H(#`@97AC
M:`H)"0D)("`@('-Y<W1E;61I8W0@+V]R9&5R=VEN9&]W(&=E="!E>&5C"@D)
M"0D@("`@97AI=`H)"0D)?2!I9@H)"0D@("`@?2!I9@D)"@D)"7T@:68*"0D@
M("`@?2!F;W)A;&P*"0D@("`@8VQE87)T;VUA<FL*"0D@("`@+W)E='5R;E=I
M;F1O=W,@=VEN97AE8PD))2!C:`H)"2`@("`U(&EN9&5X("\O06QT97)N871E
M;6%S:R!A;F0@,"!N92"0D))2!.15<*
M"0E]>PHE)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E
G)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24E)24*
`
end
--
bkr@drdhh.hanse.de - Bjoern Kriews - Stormsweg 6 - D-2000 Hamburg 76 - FRG
------------------------------------------------------------------------------
"Ich trinke auch nicht weniger als andere Leute." (K.H.)
Technical Details
Message-ID:
<1992Sep3.173016.27039@drdhh.hanse.de>Path:
arc1-ca.pugleaf.net!sparky!uunet!math.fu-berlin.de!zrz.tu-berlin.de!cs.tu-berlin.de!news.netmbx.de!Germany.EU.net!news.Hamburg.Germany.EU.net!abqhh!drdhh!rootShow Full Headers
Complete Article Headers
Newsgroups: de.comp.sys.next Path: arc1-ca.pugleaf.net!sparky!uunet!math.fu-berlin.de!zrz.tu-berlin.de!cs.tu-berlin.de!news.netmbx.de!Germany.EU.net!news.Hamburg.Germany.EU.net!abqhh!drdhh!root From: root@drdhh.hanse.de (Bjoern Kriews) Subject: Aktive Applikation per Cursortasten (Hack-Repost) Message-ID: <1992Sep3.173016.27039@drdhh.hanse.de> Summary: How to change active app via cursorkeys Keywords: active app, cmd-curkeys, ps Organization: Digital Island Date: Thu, 3 Sep 1992 17:30:16 GMT Lines: 186