PageSourceSearch

https://johnjohnston.info/oddsandends/autocomplete-gifs.html

html johnjohnston.info collected 2026-09-24 18:07:15 UTC 16,101 bytes, 119 lines download raw bytes

1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2<html>
3<head>
4  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5  <meta http-equiv="Content-Style-Type" content="text/css">
6  <title></title>
7  <meta name="Generator" content="Cocoa HTML Writer">
8  <meta name="CocoaVersion" content="1343.16">
9  <style type="text/css">
10    p.p1 {margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; color: #5e6161}
11    p.p2 {margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; min-height: 15.0px}
12    p.p3 {margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana}
13    p.p4 {margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; color: #4f8f00}
14    p.p5 {margin: 0.0px 0.0px 0.0px 78.5px; text-indent: -78.6px; font: 12.0px Verdana; color: #012fbe}
15    p.p6 {margin: 0.0px 0.0px 0.0px 78.5px; text-indent: -78.6px; font: 12.0px Verdana; color: #0433ff}
16    p.p7 {margin: 0.0px 0.0px 0.0px 78.5px; text-indent: -78.6px; font: 12.0px Verdana}
17    p.p8 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana}
18    p.p9 {margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.2px; font: 12.0px Verdana}
19    p.p10 {margin: 0.0px 0.0px 0.0px 78.5px; text-indent: -78.6px; font: 12.0px Verdana; min-height: 15.0px}
20    p.p11 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; color: #0433ff}
21    p.p12 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; min-height: 15.0px}
22    p.p13 {margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.2px; font: 12.0px Verdana; min-height: 15.0px}
23    p.p14 {margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.2px; font: 12.0px Verdana; color: #0433ff}
24    p.p15 {margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.2px; font: 12.0px Verdana; color: #012fbe}
25    p.p16 {margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; color: #012fbe}
26    p.p17 {margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; color: #4f8f00}
27    span.s1 {font-variant-ligatures: no-common-ligatures}
28    span.s2 {font-variant-ligatures: no-common-ligatures; color: #4f8f00}
29    span.s3 {font-variant-ligatures: no-common-ligatures; color: #5730be}
30    span.s4 {font-variant-ligatures: no-common-ligatures; color: #012fbe}
31    span.s5 {font-variant-ligatures: no-common-ligatures; color: #000000}
32    span.s6 {font-variant-ligatures: no-common-ligatures; color: #812fdc}
33    span.s7 {font-variant-ligatures: no-common-ligatures; color: #0433ff}
34    span.Apple-tab-span {white-space:pre}
35  </style>
36</head>
37<body>
38	<p class="p1"><span class="s1">--this is an applescript for generating animated gifs from a series of screenshots automatically snapped through safari of the google autocomplete for a search. Some examples: <a href="http://johnjohnston.info/oddsandends/social-media-is/index.html">Social Media is</a></span></p>
39	
40<p class="p1"><span class="s1">--needs gifsicle http://www.lcdf.org/gifsicle/</span></p>
41<p class="p2"><span class="s1"></span><br></p>
42<p class="p3"><span class="s1"><b>set</b> </span><span class="s2">thetext</span><span class="s1"> <b>to</b> </span><span class="s3">text returned</span><span class="s1"> <b>of</b> (</span><span class="s4"><b>display dialog</b></span><span class="s1"> "What do you want to autocomplete?" </span><span class="s4">default answer</span><span class="s1"> "I hate")</span></p>
43<p class="p4"><span class="s5"><b>set</b> </span><span class="s1">theFileName</span><span class="s5"> <b>to</b> </span><span class="s1">change_case_of</span><span class="s5">(</span><span class="s1">thetext</span><span class="s5">, "lower") &amp; ".gif"</span></p>
44<p class="p2"><span class="s1"></span><br></p>
45<p class="p3"><span class="s1"><b>set</b> </span><span class="s2">tempdir</span><span class="s1"> <b>to</b> </span><span class="s6">POSIX path</span><span class="s1"> <b>of</b> (</span><span class="s4"><b>path to</b></span><span class="s1"> </span><span class="s3"><i>temporary items</i></span><span class="s1"> </span><span class="s4">from</span><span class="s1"> </span><span class="s3"><i>user domain</i></span><span class="s1">) &amp; "autogifs/"</span></p>
46<p class="p3"><span class="s1"><b>try</b></span></p>
47<p class="p5"><span class="s5"><span class="Apple-tab-span">	</span></span><span class="s1"><b>do shell script</b></span><span class="s5"> "mkdir " &amp; </span><span class="s2">
47tempdir</span></p>
48<p class="p3"><span class="s1"><b>end</b> <b>try</b></span></p>
49<p class="p2"><span class="s1"></span><br></p>
50<p class="p2"><span class="s1"></span><br></p>
51<p class="p2"><span class="s1"></span><br></p>
52<p class="p2"><span class="s1"></span><br></p>
53<p class="p2"><span class="s1"></span><br></p>
54<p class="p3"><span class="s1"><b>set</b> </span><span class="s2">alphabet</span><span class="s1"> <b>to</b> {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}</span></p>
55<p class="p3"><span class="s1"><b>set</b> </span><span class="s2">vowels</span><span class="s1"> <b>to</b> "aeiou"</span></p>
56<p class="p2"><span class="s1"></span><br></p>
57<p class="p2"><span class="s1"></span><br></p>
58<p class="p3"><span class="s1"><b>tell</b> </span><span class="s7"><i>application</i></span><span class="s1"> "Safari"</span></p>
59<p class="p6"><span class="s5"><span class="Apple-tab-span">	</span></span><span class="s1"><b>activate</b></span></p>
60<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>tell</b> </span><span class="s7"><i>application</i></span><span class="s1"> "System Events"</span></p>
61<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>tell</b> </span><span class="s7"><i>process</i></span><span class="s1"> "Safari"</span></p>
62<p class="p9"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span><span class="s7"><b>click</b></span><span class="s1"> </span><span class="s7"><i>menu item</i></span><span class="s1"> "New Window" <b>of</b> </span><span class="s7"><i>menu</i></span><span class="s1"> "File" <b>of</b> </span><span class="s7"><i>menu bar</i></span><span class="s1"> 1</span></p>
63<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>end</b> <b>tell</b></span></p>
64<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>end</b> <b>tell</b></span></p>
65<p class="p10"><span class="s1"><span class="Apple-tab-span">	</span></span></p>
66<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>set</b> <b>the</b> </span><span class="s6">URL</span><span class="s1"> <b>of</b> <b>the</b> <b>front</b> </span><span class="s7"><i>document</i></span><span class="s1"> <b>to</b> "http://google.co.uk"</span></p>
67<p class="p6"><span class="s5"><span class="Apple-tab-span">	</span></span><span class="s1"><b>delay</b></span><span class="s5"> 5</span></p>
68<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>tell</b> </span><span class="s7"><i>application</i></span><span class="s1"> "System Events"</span></p>
69<p class="p11"><span class="s5"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span><span class="s1"><b>keystroke</b></span><span class="s5"> </span><span class="s2">thetext</span></p>
70<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>end</b> <b>tell</b></span></p>
71<p class="p10"><span class="s1"><span class="Apple-tab-span">	</span></span></p>
72<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>repeat</b> <b>with</b> </span><span class="s2">letter</span><span class="s1"> <b>in</b> </span><span class="s2">alphabet</span></p>
73<p class="p12"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span></p>
74<p class="p12"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span></p>
75<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>set</b> </span><span class="s2">typing</span><span class="s1"> <b>to</b> " " &amp; </span><span class="s2">letter</span></p>
76<p class="p12"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span></p>
77<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>set</b> </span><span class="s2">tfile</span><span class="s1"> <b>to</b> </span><span class="s2">
77tempdir</span><span class="s1"> &amp; </span><span class="s2">letter</span><span class="s1"> &amp; ".gif"</span></p>
78<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>tell</b> </span><span class="s7"><i>application</i></span><span class="s1"> "System Events"</span></p>
79<p class="p13"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span></p>
80<p class="p14"><span class="s5"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span><span class="s1"><b>keystroke</b></span><span class="s5"> </span><span class="s2">typing</span></p>
81<p class="p9"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span><span class="s7"><b>delay</b></span><span class="s1"> 1</span></p>
82<p class="p9"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span><span class="s4"><b>do shell script</b></span><span class="s1"> "screencapture<span class="Apple-converted-space">  </span>-t GIF " &amp; </span><span class="s2">tfile</span></p>
83<p class="p15"><span class="s5"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span><span class="s7"><b>keystroke</b></span><span class="s5"> (</span><span class="s1"><b>ASCII character</b></span><span class="s5"> 8)</span></p>
84<p class="p15"><span class="s5"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span><span class="s7"><b>keystroke</b></span><span class="s5"> (</span><span class="s1"><b>ASCII character</b></span><span class="s5"> 8)</span></p>
85<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>end</b> <b>tell</b></span></p>
86<p class="p12"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span></span></p>
87<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>end</b> <b>repeat</b></span></p>
88<p class="p10"><span class="s1"><span class="Apple-tab-span">	</span></span></p>
89<p class="p3"><span class="s1"><b>end</b> <b>tell</b></span></p>
90<p class="p2"><span class="s1"></span><br></p>
91<p class="p3"><span class="s4"><b>do shell script</b></span><span class="s1"> "/usr/local/bin/gifsicle --delay 90 --colors 128 --loopcount --crop 0,100+800x160 " &amp; </span><span class="s2">tempdir</span><span class="s1"> &amp; "* &gt; ~/Desktop/" &amp; </span><span class="s2">theFileName</span></p>
92<p class="p1"><span class="s1">--</span></p>
93<p class="p1"><span class="s1">--clean up</span></p>
94<p class="p16"><span class="s1"><b>do shell script</b></span><span class="s5"> "rm -rf " &amp; </span><span class="s2">tempdir</span></p>
95<p class="p1"><span class="s1">--do shell script "open " &amp; tempdir</span></p>
96<p class="p2"><span class="s1"></span><br></p>
97<p class="p2"><span class="s1"></span><br></p>
98<p class="p2"><span class="s1"></span><br></p>
99<p class="p4"><span class="s5"><b>on</b> </span><span class="s1">change_case_of</span><span class="s5">(</span><span class="s1">this_text</span><span class="s5">, </span><span class="s1">this_case</span><span class="s5">)</span></p>
100<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>if</b> </span><span class="s2">this_case</span><span class="s1"> <b>is</b> "lower" <b>then</b></span></p>
101<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>set</b> <b>the</b> </span><span class="s2">comparison_string</span><span class="s1"> <b>to</b> "ABCDEFGHIJKLMNOPQRSTUVWXYZ "</span></p>
102<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>set</b> <b>the</b> </span><span class="s2">source_string</span><span class="s1"> <b>to</b> "abcdefghijklmnopqrstuvwxyz_"</span></p>
103<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>else</b></span></p>
104<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>set</b> <b>the</b> </span><span class="s2">comparison_string</span><span class="s1"> <b>to</b> "abcdefghijklmnopqrstuvwxyz"</span></p>
105<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>set</b> <b>the</b> </span><span class="s2">source_string</span><span class="s1"> <b>to</b> "ABCDEFGHIJKLMNOPQRSTUVWXYZ"</span></p>
106<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>end</b> <b>if</b></span></p>
107<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>set</b> <b>the</b> </span><span class="s2">new_text</span><span class="s1"> <b>to</b> ""</span></p>
108<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>repeat</b> <b>with</b> </span><span class="s2">thisChar</span><span class="s1"> <b>in</b> </span><span class="s2">this_text</span></p>
109<p class="p17"><span class="s5"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>set</b> </span><span class="s1">x</span><span class="s5"> <b>to</b> <b>the</b> </span><span class="s4"><b>offset</b></span><span class="s5"> </span><span class="s4">
109of</span><span class="s5"> </span><span class="s1">thisChar</span><span class="s5"> </span><span class="s4">in</span><span class="s5"> <b>the</b> </span><span class="s1">comparison_string</span></p>
110<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>if</b> </span><span class="s2">x</span><span class="s1"> <b>is</b> <b>not</b> 0 <b>then</b></span></p>
111<p class="p9"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>set</b> <b>the</b> </span><span class="s2">new_text</span><span class="s1"> <b>to</b> (<b>the</b> </span><span class="s2">new_text</span><span class="s1"> &amp; </span><span class="s7"><i>character</i></span><span class="s1"> </span><span class="s2">x</span><span class="s1"> <b>of</b> <b>the</b> </span><span class="s2">source_string</span><span class="s1">) <b>as</b> </span><span class="s7"><i>string</i></span></p>
112<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>else</b></span></p>
113<p class="p9"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>set</b> <b>the</b> </span><span class="s2">new_text</span><span class="s1"> <b>to</b> (<b>the</b> </span><span class="s2">new_text</span><span class="s1"> &amp; </span><span class="s2">thisChar</span><span class="s1">) <b>as</b> </span><span class="s7"><i>string</i></span></p>
114<p class="p8"><span class="s1"><span class="Apple-tab-span">	</span><span class="Apple-tab-span">	</span><b>end</b> <b>if</b></span></p>
115<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>end</b> <b>repeat</b></span></p>
116<p class="p7"><span class="s1"><span class="Apple-tab-span">	</span><b>return</b> <b>the</b> </span><span class="s2">new_text</span></p>
117<p class="p4"><span class="s5"><b>end</b> </span><span class="s1">change_case_of</span></p>
118</body>
119</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.