QuickWho

Check-in [bc7443adb5]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Cleanup for Mac NSServices
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:bc7443adb519548259f66d1eaf89d1e390882911
User & Date: kevin 2018-03-02 04:37:31
Context
2018-03-02
04:55
Add Wish sdef check-in: 068a1d9f57 user: kevin tags: trunk
04:37
Cleanup for Mac NSServices check-in: bc7443adb5 user: kevin tags: trunk
2018-02-24
23:16
Updates for Windows check-in: ab476807e5 user: kevin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Added QuickWho - Get Domain Info.workflow/Contents/Info.plist.













































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>NSServices</key>
	<array>
		<dict>
			<key>NSMenuItem</key>
			<dict>
				<key>default</key>
				<string>QuickWho - Get Domain Info</string>
			</dict>
			<key>NSMessage</key>
			<string>runWorkflowAsService</string>
			<key>NSSendTypes</key>
			<array>
				<string>public.utf8-plain-text</string>
			</array>
		</dict>
	</array>
</dict>
</plist>

Added QuickWho - Get Domain Info.workflow/Contents/QuickLook/Thumbnail.png.

cannot compute difference between binary files

Added QuickWho - Get Domain Info.workflow/Contents/document.wflow.











































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>AMApplicationBuild</key>
	<string>444.4</string>
	<key>AMApplicationVersion</key>
	<string>2.8</string>
	<key>AMDocumentVersion</key>
	<string>2</string>
	<key>actions</key>
	<array>
		<dict>
			<key>action</key>
			<dict>
				<key>AMAccepts</key>
				<dict>
					<key>Container</key>
					<string>List</string>
					<key>Optional</key>
					<true/>
					<key>Types</key>
					<array>
						<string>com.apple.cocoa.string</string>
					</array>
				</dict>
				<key>AMActionVersion</key>
				<string>2.0.3</string>
				<key>AMApplication</key>
				<array>
					<string>Automator</string>
				</array>
				<key>AMParameterProperties</key>
				<dict>
					<key>COMMAND_STRING</key>
					<dict/>
					<key>CheckedForUserDefaultShell</key>
					<dict/>
					<key>inputMethod</key>
					<dict/>
					<key>shell</key>
					<dict/>
					<key>source</key>
					<dict/>
				</dict>
				<key>AMProvides</key>
				<dict>
					<key>Container</key>
					<string>List</string>
					<key>Types</key>
					<array>
						<string>com.apple.cocoa.string</string>
					</array>
				</dict>
				<key>ActionBundlePath</key>
				<string>/System/Library/Automator/Run Shell Script.action</string>
				<key>ActionName</key>
				<string>Run Shell Script</string>
				<key>ActionParameters</key>
				<dict>
					<key>COMMAND_STRING</key>
					<string>domain=$1; osascript -e "tell app \"QuickWho\" to do script \"getDomain $domain\""</string>
					<key>CheckedForUserDefaultShell</key>
					<true/>
					<key>inputMethod</key>
					<integer>1</integer>
					<key>shell</key>
					<string>/bin/bash</string>
					<key>source</key>
					<string></string>
				</dict>
				<key>BundleIdentifier</key>
				<string>com.apple.RunShellScript</string>
				<key>CFBundleVersion</key>
				<string>2.0.3</string>
				<key>CanShowSelectedItemsWhenRun</key>
				<false/>
				<key>CanShowWhenRun</key>
				<true/>
				<key>Category</key>
				<array>
					<string>AMCategoryUtilities</string>
				</array>
				<key>Class Name</key>
				<string>RunShellScriptAction</string>
				<key>InputUUID</key>
				<string>F8F6FD91-7B52-4292-B7A4-362537C13811</string>
				<key>Keywords</key>
				<array>
					<string>Shell</string>
					<string>Script</string>
					<string>Command</string>
					<string>Run</string>
					<string>Unix</string>
				</array>
				<key>OutputUUID</key>
				<string>279AF479-66AB-4EE4-992C-0F7D947A9ABD</string>
				<key>UUID</key>
				<string>3E73C973-ACA2-4384-B306-E7A9AC52DA99</string>
				<key>UnlocalizedApplications</key>
				<array>
					<string>Automator</string>
				</array>
				<key>arguments</key>
				<dict>
					<key>0</key>
					<dict>
						<key>default value</key>
						<integer>0</integer>
						<key>name</key>
						<string>inputMethod</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>0</string>
					</dict>
					<key>1</key>
					<dict>
						<key>default value</key>
						<string></string>
						<key>name</key>
						<string>source</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>1</string>
					</dict>
					<key>2</key>
					<dict>
						<key>default value</key>
						<false/>
						<key>name</key>
						<string>CheckedForUserDefaultShell</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>2</string>
					</dict>
					<key>3</key>
					<dict>
						<key>default value</key>
						<string></string>
						<key>name</key>
						<string>COMMAND_STRING</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>3</string>
					</dict>
					<key>4</key>
					<dict>
						<key>default value</key>
						<string>/bin/sh</string>
						<key>name</key>
						<string>shell</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>4</string>
					</dict>
				</dict>
				<key>isViewVisible</key>
				<true/>
				<key>location</key>
				<string>309.000000:253.000000</string>
				<key>nibPath</key>
				<string>/System/Library/Automator/Run Shell Script.action/Contents/Resources/English.lproj/main.nib</string>
			</dict>
			<key>isViewVisible</key>
			<true/>
		</dict>
	</array>
	<key>connectors</key>
	<dict/>
	<key>workflowMetaData</key>
	<dict>
		<key>serviceInputTypeIdentifier</key>
		<string>com.apple.Automator.text</string>
		<key>serviceOutputTypeIdentifier</key>
		<string>com.apple.Automator.nothing</string>
		<key>serviceProcessesInput</key>
		<integer>0</integer>
		<key>workflowTypeIdentifier</key>
		<string>com.apple.Automator.servicesMenu</string>
	</dict>
</dict>
</plist>

Changes to QuickWho.py.

cannot compute difference between binary files

Changes to QuickWho.sdef.

Changes to buildapp.

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
..
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112

113
114
115
116
117
118
119
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleDisplayName</key>
	<string>QuickWho</string>
	<key>CFBundleExecutable</key>
	<string>_quickWho</string>
	<key>CFBundleGetInfoString</key>
	<string>QuickWho $1</string>
	<key>CFBundleIconFile</key>
	<string>QuickWho.icns</string>
	<key>CFBundleIdentifier</key>
	<string>com.codebykevin.quickwho</string>
	<key>CFBundleInfoDictionaryVersion</key>
................................................................................
	<string>YES</string>
	<key>NSHumanReadableCopyright</key>
	<string>Copyright (c) 2018 WordTech Communications LLC</string>
	<key>NSMainNibFile</key>
	<string>MainMenu</string>
	<key>NSPrincipalClass</key>
	<string>NSApplication</string>
	<key>NSServices</key>
	<array>
		<dict>
			<key>NSMenuItem</key>
			<dict>
				<key>default</key>
				<string>QuickWho: Display Domain Information</string>
			</dict>
			<key>NSMessage</key>
			<string>provideService</string>
			<key>NSPortName</key>
			<string>QuickWho</string>
			<key>NSSendTypes</key>
			<array>
				<string>NSStringPboardType</string>
			</array>
		</dict>
	</array>
	<key>OSAScriptingDefinition</key>
	<string>QuickWho.sdef</string>
</dict>
</plist>
EOT

gcc main.m -o _quickwho -framework Carbon -framework Cocoa

mkdir dist
mkdir dist/QuickWho.app
mkdir dist/QuickWho.app/Contents
mkdir dist/QuickWho.app/Contents/MacOS
mkdir dist/QuickWho.app/Contents/Resources
mkdir dist/QuickWho.app/Contents/Frameworks

cp Info.plist dist/QuickWho.app/Contents/Info.plist
cp _quickwho dist/QuickWho.app/Contents/MacOS/_quickwho
cp launcher dist/QuickWho.app/Contents/Resources/launcher
cp QuickWho.icns dist/QuickWho.app/Contents/Resources/QuickWho.icns
cp QuickWho.sdef dist/QuickWho.app/Contents/Resources/QuickWho.sdef
cp QuickWho.py  dist/QuickWho.app/Contents/Resources/QuickWho.py
cp ToolTip.py  dist/QuickWho.app/Contents/Resources/ToolTip.py


#copy the frameworks
cp -R -f /Library/Frameworks/Tcl.framework  dist/QuickWho.app/Contents/Frameworks/Tcl.framework
cp -R -f /Library/Frameworks/Tk.framework  dist/QuickWho.app/Contents/Frameworks/Tk.framework
cp -R -f /Library/Frameworks/Python.framework  dist/QuickWho.app/Contents/Frameworks/Python.framework
cp -f dist/QuickWho.app/Contents/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python dist/QuickWho.app/Contents/Resources/QuickWho
cp -f /usr/local/lib/libcrypto.42.dylib  dist/QuickWho.app/Contents/Frameworks/libcrypto.42.dylib







|







 







<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<

|




|












|


>







24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
..
66
67
68
69
70
71
72


















73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleDisplayName</key>
	<string>QuickWho</string>
	<key>CFBundleExecutable</key>
	<string>_quickwho</string>
	<key>CFBundleGetInfoString</key>
	<string>QuickWho $1</string>
	<key>CFBundleIconFile</key>
	<string>QuickWho.icns</string>
	<key>CFBundleIdentifier</key>
	<string>com.codebykevin.quickwho</string>
	<key>CFBundleInfoDictionaryVersion</key>
................................................................................
	<string>YES</string>
	<key>NSHumanReadableCopyright</key>
	<string>Copyright (c) 2018 WordTech Communications LLC</string>
	<key>NSMainNibFile</key>
	<string>MainMenu</string>
	<key>NSPrincipalClass</key>
	<string>NSApplication</string>


















	<key>OSAScriptingDefinition</key>
	<string>Wish.sdef</string>
</dict>
</plist>
EOT

gcc main.m -o _quickwho -framework Carbon -framework Cocoa -framework CoreFoundation

mkdir dist
mkdir dist/QuickWho.app
mkdir dist/QuickWho.app/Contents
mkdir dist/QuickWho.app/Contents/MacOS
mkdir dist/QuickWho.app/Contents/Resources
mkdir dist/QuickWho.app/Contents/Frameworks

cp Info.plist dist/QuickWho.app/Contents/Info.plist
cp _quickwho dist/QuickWho.app/Contents/MacOS/_quickwho
cp launcher dist/QuickWho.app/Contents/Resources/launcher
cp QuickWho.icns dist/QuickWho.app/Contents/Resources/QuickWho.icns
cp Wish.sdef dist/QuickWho.app/Contents/Resources/Wish.sdef
cp QuickWho.py  dist/QuickWho.app/Contents/Resources/QuickWho.py
cp ToolTip.py  dist/QuickWho.app/Contents/Resources/ToolTip.py
cp -R  -f "QuickWho - Get Domain Info.workflow" dist/QuickWho.app/Contents/Resources/"QuickWho - Get Domain Info.workflow"

#copy the frameworks
cp -R -f /Library/Frameworks/Tcl.framework  dist/QuickWho.app/Contents/Frameworks/Tcl.framework
cp -R -f /Library/Frameworks/Tk.framework  dist/QuickWho.app/Contents/Frameworks/Tk.framework
cp -R -f /Library/Frameworks/Python.framework  dist/QuickWho.app/Contents/Frameworks/Python.framework
cp -f dist/QuickWho.app/Contents/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python dist/QuickWho.app/Contents/Resources/QuickWho
cp -f /usr/local/lib/libcrypto.42.dylib  dist/QuickWho.app/Contents/Frameworks/libcrypto.42.dylib

Changes to scriptlibs/machelp/help.txt.

62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
   end tell

Then, run the script in Script Editor or as part of a larger AppleScript package.

As an example of integrating a QuickWho AppleScript with other applications, here is another sample script:
 
   tell application "QuickWho"
      set thetext to (get domain "apple.com")
      tell application "TextEdit"
         make new document with properties {text:thetext}
      end tell
   end tell

QuickWho can also be called from the Mac's Services menu. To call QuickWho from the services menu, highlight a domain name in a Services-aware application (such as Safari, Mail or TextEdit) and select "QuickWho: Display Domain Information" from the Services menu. That domain name will be passed to QuickWho and the domain information displayed in QuickWho's main window.








|







62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
   end tell

Then, run the script in Script Editor or as part of a larger AppleScript package.

As an example of integrating a QuickWho AppleScript with other applications, here is another sample script:
 
   tell application "QuickWho"
      set thetext to (do script "getDomain \"apple.com\"")
      tell application "TextEdit"
         make new document with properties {text:thetext}
      end tell
   end tell

QuickWho can also be called from the Mac's Services menu. To call QuickWho from the services menu, highlight a domain name in a Services-aware application (such as Safari, Mail or TextEdit) and select "QuickWho: Display Domain Information" from the Services menu. That domain name will be passed to QuickWho and the domain information displayed in QuickWho's main window.