<?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">
<array>
	<dict>
		<key>Activate</key>
		<string>Normal</string>
		<key>IsActive</key>
		<true/>
		<key>Macros</key>
		<array>
			<dict>
				<key>Actions</key>
				<array>
					<dict>
						<key>IsActive</key>
						<true/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>Comment</string>
						<key>Text</key>
						<string>Author: Tim Dellas
http://www.ithoughts.de
@ObjT on Twitter

Description:
At System Wake (or a hotkey):

1. wait until a known Network is found (at home I have iShodanHive and ShodanHive; at work it's AscoraKabel; replace accordingly)

2. check if the location has *changed*, and set flags appropriately (I arrived a work or home)

3. When I'm at work, call Setup basic Work layout, 
else call Setup basic Home layout</string>
						<key>Title</key>
						<string>About</string>
					</dict>
					<dict>
						<key>Action</key>
						<string>CancelAllOtherMacros</string>
						<key>IsActive</key>
						<false/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>Cancel</string>
					</dict>
					<dict>
						<key>IsActive</key>
						<true/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>SetVariableToText</string>
						<key>Text</key>
						<string></string>
						<key>Variable</key>
						<string>NetworkSSID</string>
					</dict>
					<dict>
						<key>IsActive</key>
						<false/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>Comment</string>
						<key>Text</key>
						<string>... the following steps can be used to simulate the LastSSID to be something it actually was not</string>
						<key>Title</key>
						<string>For testing ...</string>
					</dict>
					<dict>
						<key>IsActive</key>
						<false/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>SetVariableToText</string>
						<key>Text</key>
						<string>ShodanHive</string>
						<key>Variable</key>
						<string>LastSSID</string>
					</dict>
					<dict>
						<key>IsActive</key>
						<false/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>SetVariableToText</string>
						<key>Text</key>
						<string>AscoraKabel</string>
						<key>Variable</key>
						<string>LastSSID</string>
					</dict>
					<dict>
						<key>IsActive</key>
						<false/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>SetVariableToText</string>
						<key>Text</key>
						<string>ShodanHive</string>
						<key>Variable</key>
						<string>NetworkSSID</string>
					</dict>
					<dict>
						<key>IsActive</key>
						<false/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>SetVariableToText</string>
						<key>Text</key>
						<string>AscoraKabel</string>
						<key>Variable</key>
						<string>NetworkSSID</string>
					</dict>
					<dict>
						<key>Actions</key>
						<array>
							<dict>
								<key>IsActive</key>
								<true/>
								<key>IsDisclosed</key>
								<true/>
								<key>MacroActionType</key>
								<string>Pause</string>
								<key>Time</key>
								<string>2</string>
								<key>TimeOutAbortsMacro</key>
								<true/>
							</dict>
							<dict>
								<key>DisplayKind</key>
								<string>Variable</string>
								<key>IsActive</key>
								<true/>
								<key>IsDisclosed</key>
								<true/>
								<key>MacroActionType</key>
								<string>ExecuteShellScript</string>
								<key>Path</key>
								<string></string>
								<key>Text</key>
								<string>/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'</string>
								<key>TimeOutAbortsMacro</key>
								<true/>
								<key>TrimResults</key>
								<true/>
								<key>TrimResultsNew</key>
								<true/>
								<key>UseText</key>
								<true/>
								<key>Variable</key>
								<string>NetworkSSID</string>
							</dict>
						</array>
						<key>Conditions</key>
						<dict>
							<key>ConditionList</key>
							<array>
								<dict>
									<key>ConditionType</key>
									<string>Variable</string>
									<key>Variable</key>
									<string>NetworkSSID</string>
									<key>VariableConditionType</key>
									<string>IsNot</string>
									<key>VariableValue</key>
									<string>SSID:</string>
								</dict>
								<dict>
									<key>ConditionType</key>
									<string>Variable</string>
									<key>Variable</key>
									<string>NetworkSSID</string>
									<key>VariableConditionType</key>
									<string>IsNotEmpty</string>
									<key>VariableValue</key>
									<string>value</string>
								</dict>
							</array>
							<key>ConditionListMatch</key>
							<string>All</string>
						</dict>
						<key>IsActive</key>
						<true/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>Until</string>
						<key>TimeOutAbortsMacro</key>
						<true/>
					</dict>
					<dict>
						<key>Conditions</key>
						<dict>
							<key>ConditionList</key>
							<array>
								<dict>
									<key>ConditionType</key>
									<string>Variable</string>
									<key>Variable</key>
									<string>NetworkSSID</string>
									<key>VariableConditionType</key>
									<string>DoesNotContain</string>
									<key>VariableValue</key>
									<string>%LastSSID%</string>
								</dict>
								<dict>
									<key>ConditionType</key>
									<string>Variable</string>
									<key>Variable</key>
									<string>NetworkSSID</string>
									<key>VariableConditionType</key>
									<string>IsNotEmpty</string>
									<key>VariableValue</key>
									<string>value</string>
								</dict>
							</array>
							<key>ConditionListMatch</key>
							<string>All</string>
						</dict>
						<key>ElseActions</key>
						<array/>
						<key>IsActive</key>
						<true/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>IfThenElse</string>
						<key>ThenActions</key>
						<array>
							<dict>
								<key>Conditions</key>
								<dict>
									<key>ConditionList</key>
									<array>
										<dict>
											<key>ConditionType</key>
											<string>Variable</string>
											<key>Variable</key>
											<string>NetworkSSID</string>
											<key>VariableConditionType</key>
											<string>Contains</string>
											<key>VariableValue</key>
											<string>AscoraKabel</string>
										</dict>
									</array>
									<key>ConditionListMatch</key>
									<string>All</string>
								</dict>
								<key>ElseActions</key>
								<array>
									<dict>
										<key>Conditions</key>
										<dict>
											<key>ConditionList</key>
											<array>
												<dict>
													<key>ConditionType</key>
													<string>Variable</string>
													<key>Variable</key>
													<string>NetworkSSID</string>
													<key>VariableConditionType</key>
													<string>Contains</string>
													<key>VariableValue</key>
													<string>Shodan</string>
												</dict>
											</array>
											<key>ConditionListMatch</key>
											<string>All</string>
										</dict>
										<key>ElseActions</key>
										<array/>
										<key>IsActive</key>
										<true/>
										<key>IsDisclosed</key>
										<true/>
										<key>MacroActionType</key>
										<string>IfThenElse</string>
										<key>ThenActions</key>
										<array>
											<dict>
												<key>Action</key>
												<string>DisplayBriefly</string>
												<key>IsActive</key>
												<true/>
												<key>IsDisclosed</key>
												<true/>
												<key>MacroActionType</key>
												<string>InsertText</string>
												<key>Paste</key>
												<false/>
												<key>Text</key>
												<string>Found %Variable%NetworkSSID% ...

Network location change detected, resetting flags.
</string>
											</dict>
											<dict>
												<key>IsActive</key>
												<true/>
												<key>IsDisclosed</key>
												<true/>
												<key>MacroActionType</key>
												<string>SetVariableToText</string>
												<key>Text</key>
												<string>1</string>
												<key>Variable</key>
												<string>justArrivedAtHome</string>
											</dict>
											<dict>
												<key>IsActive</key>
												<true/>
												<key>IsDisclosed</key>
												<true/>
												<key>MacroActionType</key>
												<string>SetVariableToText</string>
												<key>Text</key>
												<string>0</string>
												<key>Variable</key>
												<string>justArrivedAtWork</string>
											</dict>
										</array>
										<key>TimeOutAbortsMacro</key>
										<true/>
									</dict>
								</array>
								<key>IsActive</key>
								<true/>
								<key>IsDisclosed</key>
								<true/>
								<key>MacroActionType</key>
								<string>IfThenElse</string>
								<key>ThenActions</key>
								<array>
									<dict>
										<key>Action</key>
										<string>DisplayBriefly</string>
										<key>IsActive</key>
										<true/>
										<key>IsDisclosed</key>
										<true/>
										<key>MacroActionType</key>
										<string>InsertText</string>
										<key>Paste</key>
										<false/>
										<key>Text</key>
										<string>Found %Variable%NetworkSSID% ...

Network location change detected, resetting flags.
</string>
									</dict>
									<dict>
										<key>IsActive</key>
										<true/>
										<key>IsDisclosed</key>
										<true/>
										<key>MacroActionType</key>
										<string>SetVariableToText</string>
										<key>Text</key>
										<string>1</string>
										<key>Variable</key>
										<string>justArrivedAtWork</string>
									</dict>
									<dict>
										<key>IsActive</key>
										<true/>
										<key>IsDisclosed</key>
										<true/>
										<key>MacroActionType</key>
										<string>SetVariableToText</string>
										<key>Text</key>
										<string>0</string>
										<key>Variable</key>
										<string>justArrivedAtHome</string>
									</dict>
								</array>
								<key>TimeOutAbortsMacro</key>
								<true/>
							</dict>
						</array>
						<key>TimeOutAbortsMacro</key>
						<true/>
					</dict>
					<dict>
						<key>IsActive</key>
						<true/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>SetVariableToText</string>
						<key>Text</key>
						<string>%Variable%NetworkSSID%</string>
						<key>Variable</key>
						<string>LastSSID</string>
					</dict>
					<dict>
						<key>Conditions</key>
						<dict>
							<key>ConditionList</key>
							<array>
								<dict>
									<key>ConditionType</key>
									<string>Variable</string>
									<key>Variable</key>
									<string>justArrivedAtWork</string>
									<key>VariableConditionType</key>
									<string>Is</string>
									<key>VariableValue</key>
									<string>1</string>
								</dict>
							</array>
							<key>ConditionListMatch</key>
							<string>All</string>
						</dict>
						<key>ElseActions</key>
						<array/>
						<key>IsActive</key>
						<false/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>IfThenElse</string>
						<key>ThenActions</key>
						<array>
							<dict>
								<key>Asynchronously</key>
								<false/>
								<key>Count</key>
								<integer>1</integer>
								<key>IsActive</key>
								<true/>
								<key>IsDisclosed</key>
								<true/>
								<key>MacroActionType</key>
								<string>ExecuteMacro</string>
								<key>MacroUID</key>
								<string>37298841-4401-4403-9B03-97AACBB4852B</string>
								<key>TimeOutAbortsMacro</key>
								<true/>
							</dict>
						</array>
						<key>TimeOutAbortsMacro</key>
						<true/>
					</dict>
					<dict>
						<key>Conditions</key>
						<dict>
							<key>ConditionList</key>
							<array>
								<dict>
									<key>ConditionType</key>
									<string>Variable</string>
									<key>Variable</key>
									<string>justArrivedAtHome</string>
									<key>VariableConditionType</key>
									<string>Is</string>
									<key>VariableValue</key>
									<string>1</string>
								</dict>
							</array>
							<key>ConditionListMatch</key>
							<string>All</string>
						</dict>
						<key>ElseActions</key>
						<array/>
						<key>IsActive</key>
						<false/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>IfThenElse</string>
						<key>ThenActions</key>
						<array>
							<dict>
								<key>Asynchronously</key>
								<false/>
								<key>Count</key>
								<integer>1</integer>
								<key>IsActive</key>
								<true/>
								<key>IsDisclosed</key>
								<true/>
								<key>MacroActionType</key>
								<string>ExecuteMacro</string>
								<key>MacroUID</key>
								<string>2FCBDEBF-62C1-45D8-9D3C-1478021249C6</string>
								<key>TimeOutAbortsMacro</key>
								<true/>
							</dict>
						</array>
						<key>TimeOutAbortsMacro</key>
						<true/>
					</dict>
					<dict>
						<key>Conditions</key>
						<dict>
							<key>ConditionList</key>
							<array>
								<dict>
									<key>ConditionType</key>
									<string>Variable</string>
									<key>Variable</key>
									<string>NetworkSSID</string>
									<key>VariableConditionType</key>
									<string>IsNotEmpty</string>
									<key>VariableValue</key>
									<string>value</string>
								</dict>
							</array>
							<key>ConditionListMatch</key>
							<string>All</string>
						</dict>
						<key>ElseActions</key>
						<array/>
						<key>IsActive</key>
						<true/>
						<key>IsDisclosed</key>
						<true/>
						<key>MacroActionType</key>
						<string>IfThenElse</string>
						<key>ThenActions</key>
						<array>
							<dict>
								<key>Conditions</key>
								<dict>
									<key>ConditionList</key>
									<array>
										<dict>
											<key>ConditionType</key>
											<string>Variable</string>
											<key>Variable</key>
											<string>NetworkSSID</string>
											<key>VariableConditionType</key>
											<string>Contains</string>
											<key>VariableValue</key>
											<string>AscoraKabel</string>
										</dict>
									</array>
									<key>ConditionListMatch</key>
									<string>All</string>
								</dict>
								<key>ElseActions</key>
								<array>
									<dict>
										<key>Conditions</key>
										<dict>
											<key>ConditionList</key>
											<array>
												<dict>
													<key>ConditionType</key>
													<string>Variable</string>
													<key>Variable</key>
													<string>NetworkSSID</string>
													<key>VariableConditionType</key>
													<string>Contains</string>
													<key>VariableValue</key>
													<string>Shodan</string>
												</dict>
											</array>
											<key>ConditionListMatch</key>
											<string>All</string>
										</dict>
										<key>ElseActions</key>
										<array/>
										<key>IsActive</key>
										<true/>
										<key>IsDisclosed</key>
										<true/>
										<key>MacroActionType</key>
										<string>IfThenElse</string>
										<key>ThenActions</key>
										<array>
											<dict>
												<key>Asynchronously</key>
												<false/>
												<key>Count</key>
												<integer>1</integer>
												<key>IsActive</key>
												<true/>
												<key>IsDisclosed</key>
												<true/>
												<key>MacroActionType</key>
												<string>ExecuteMacro</string>
												<key>MacroUID</key>
												<string>2FCBDEBF-62C1-45D8-9D3C-1478021249C6</string>
												<key>TimeOutAbortsMacro</key>
												<true/>
											</dict>
										</array>
										<key>TimeOutAbortsMacro</key>
										<true/>
									</dict>
								</array>
								<key>IsActive</key>
								<true/>
								<key>IsDisclosed</key>
								<true/>
								<key>MacroActionType</key>
								<string>IfThenElse</string>
								<key>ThenActions</key>
								<array>
									<dict>
										<key>Asynchronously</key>
										<false/>
										<key>Count</key>
										<integer>1</integer>
										<key>IsActive</key>
										<true/>
										<key>IsDisclosed</key>
										<true/>
										<key>MacroActionType</key>
										<string>ExecuteMacro</string>
										<key>MacroUID</key>
										<string>37298841-4401-4403-9B03-97AACBB4852B</string>
										<key>TimeOutAbortsMacro</key>
										<true/>
									</dict>
								</array>
								<key>TimeOutAbortsMacro</key>
								<true/>
							</dict>
						</array>
						<key>TimeOutAbortsMacro</key>
						<true/>
					</dict>
				</array>
				<key>IsActive</key>
				<true/>
				<key>ModificationDate</key>
				<real>445952654.74188399</real>
				<key>Name</key>
				<string>Choose basic screen setup based on SSID</string>
				<key>Triggers</key>
				<array>
					<dict>
						<key>FireType</key>
						<string>Pressed</string>
						<key>KeyCode</key>
						<integer>41</integer>
						<key>MacroTriggerType</key>
						<string>HotKey</string>
						<key>Modifiers</key>
						<integer>6400</integer>
					</dict>
					<dict>
						<key>MacroTriggerType</key>
						<string>Wake</string>
					</dict>
				</array>
				<key>UID</key>
				<string>A0202393-C918-49BA-B250-E543E72A4E1B</string>
			</dict>
		</array>
		<key>Name</key>
		<string>Screen Positioning</string>
		<key>UID</key>
		<string>C591C8C0-CF5A-4C5E-B318-A5BD7DE6CF50</string>
	</dict>
</array>
</plist>
