KM Action XML with Images - Are they all named "Image"?

@peternlewis, or anyone else who might know:

There's a lot of KM actions that have "image wells". I was wondering if their properties in their XML are always named "Image", and also if any property named "Image" is always image data?

I know there's also "CustomIconData", but I don't care about that. Just actions with "Image Well"s in them.

Sorry, I don't know and I wouldn't want to make a promise related to that.

1 Like

Thanks, and I completely understand.

Hey Dan (@DanThomas)

Here is some thing I’ve put together for you from my Macro XML Snippets collection:

Everything seems to have the Image Property indeed. But there is one Action which has an Icon Property ( Set stream Deck Button Action) and one that has both ( OCR Action ).

Everything in detail below :point_down:




<!-- Set Stream Deck Button to Image Action -->

<?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>ActionUID</key>
		<integer>15461631</integer>
		<key>ButtonID</key>
		<string>R1C1</string>
		<key>FromType</key>
		<string>Icon</string>
		<key>Icon</key>
		<data>
		TU0AKgAADdaAACBQOCQWDQeEQmFQuGQ2HQ+IRGJROKRWLReMRmNRuOR2PR+J
		...
		</data>
		<key>MacroActionType</key>
		<string>StreamDeckSetImage</string>
	</dict>
</array>
</plist>



<!-- Find Image on Screen Action -->

<?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>ActionUID</key>
		<integer>15461633</integer>
		<key>DisplayMatches</key>
		<false/>
		<key>Fuzz</key>
		<integer>15</integer>
		<key>Image</key>
		<data>
		TU0AKgAAK/aAACBP+BQWDQeEQmFQuGQ2HQ+IRGJROKRWLReMRmNRuOR2PR+Q
		...
		</data>
		<key>MacroActionType</key>
		<string>FindImage</string>
		<key>ScreenArea</key>
		<dict>
			<key>ScreenAreaType</key>
			<string>ScreenAll</string>
		</dict>
		<key>Selection</key>
		<string>Unique</string>
		<key>Variable</key>
		<string>Local__URL</string>
	</dict>
</array>
</plist>


<!-- Set Clipboard to Image Action -->

<?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>ActionUID</key>
		<integer>15461636</integer>
		<key>Image</key>
		<data>
		TU0AKgAAK/aAACBP+BQWDQeEQmFQuGQ2HQ+IRGJROKRWLReMRmNRuOR2PR+Q
		...
		</data>
		<key>MacroActionType</key>
		<string>SetClipboardToImage</string>
	</dict>
</array>
</plist>


<!-- Puse Until (Found Image Condition) Action -->

<?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>ActionUID</key>
		<integer>15461634</integer>
		<key>Conditions</key>
		<dict>
			<key>ConditionList</key>
			<array>
				<dict>
					<key>ConditionType</key>
					<string>ScreenImage</string>
					<key>DisplayMatches</key>
					<false/>
					<key>Fuzz</key>
					<integer>15</integer>
					<key>Image</key>
					<data>
					TU0AKgAAK/aAACBP+BQWDQeEQmFQuGQ2HQ+I
					...
					</data>
					<key>ScreenArea</key>
					<dict>
						<key>ScreenAreaType</key>
						<string>ScreenAll</string>
					</dict>
					<key>ScreenImageConditionType</key>
					<string>Contains</string>
				</dict>
			</array>
			<key>ConditionListMatch</key>
			<string>All</string>
		</dict>
		<key>MacroActionType</key>
		<string>PauseUntil</string>
		<key>TimeOutAbortsMacro</key>
		<true/>
	</dict>
</array>
</plist>


<!-- For Each (Found Image Collection) Action -->

<?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>ActionUID</key>
		<integer>15461635</integer>
		<key>Actions</key>
		<array/>
		<key>Collections</key>
		<dict>
			<key>CollectionList</key>
			<array>
				<dict>
					<key>CollectionType</key>
					<string>FoundImages</string>
					<key>DisplayMatches</key>
					<false/>
					<key>Fuzz</key>
					<integer>15</integer>
					<key>Image</key>
					<data>
					TU0AKgAAK/aAACBP+BQWDQeEQmFQuGQ2HQ+I
					...
					</data>
					<key>ScreenArea</key>
					<dict>
						<key>ScreenAreaType</key>
						<string>ScreenAll</string>
					</dict>
					<key>SortOrder</key>
					<string>BestFirst</string>
				</dict>
			</array>
		</dict>
		<key>MacroActionType</key>
		<string>For</string>
		<key>TimeOutAbortsMacro</key>
		<true/>
		<key>Variable</key>
		<string>Local__URL</string>
	</dict>
</array>
</plist>


<!-- If (Found Image Condition) Action -->

<?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>ActionUID</key>
		<integer>15461812</integer>
		<key>Conditions</key>
		<dict>
			<key>ConditionList</key>
			<array>
				<dict>
					<key>ConditionType</key>
					<string>ScreenImage</string>
					<key>DisplayMatches</key>
					<false/>
					<key>Fuzz</key>
					<integer>15</integer>
					<key>Image</key>
					<data>
					TU0AKgAAK/aAACBP+BQWDQeEQmFQuGQ2HQ+I
					...
					</data>
					<key>ScreenArea</key>
					<dict>
						<key>ScreenAreaType</key>
						<string>ScreenAll</string>
					</dict>
					<key>ScreenImageConditionType</key>
					<string>Contains</string>
				</dict>
			</array>
			<key>ConditionListMatch</key>
			<string>All</string>
		</dict>
		<key>ElseActions</key>
		<array/>
		<key>MacroActionType</key>
		<string>IfThenElse</string>
		<key>ThenActions</key>
		<array/>
		<key>TimeOutAbortsMacro</key>
		<true/>
	</dict>
</array>
</plist>


<!-- OCR Action -->

<?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>ActionUID</key>
		<integer>15461639</integer>
		<key>DisplayKind</key>
		<string>Variable</string>
		<key>Image</key>
		<data>
		TU0AKgAAK/aAACBP+BQWDQeEQmFQuGQ2HQ+IRGJROKRWLReMRmNRuOR2PR+Q
		...
		</data>
		<key>Language</key>
		<string>Languages/eng</string>
		<key>MacroActionType</key>
		<string>OCRImage</string>
		<key>TimeOutAbortsMacro</key>
		<true/>
		<key>Variable</key>
		<string>Local__URL</string>
	</dict>
</array>
</plist>


<?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>ActionUID</key>
		<integer>15461755</integer>
		<key>DisplayKind</key>
		<string>Variable</string>
		<key>Icon</key>
		<data>
		TU0AKgAADdaAACBQOCQWDQeEQmFQuGQ2HQ+IRGJROKRWLReMRmNRuOR2PR+J
		...
		</data>
		<key>ImageSource</key>
		<string>Icon</string>
		<key>Language</key>
		<string>Languages/eng</string>
		<key>MacroActionType</key>
		<string>OCRImage</string>
		<key>TimeOutAbortsMacro</key>
		<true/>
		<key>Variable</key>
		<string>Local__URL</string>
	</dict>
</array>
</plist>

I hope this will help you.

Have a great day and greetings from Germany :de:

Tobias

1 Like

Wow! Thanks for the hard work!

You’re welcome, Dan

I hope that I haven’t missed anything… it should be every action and condition or collection that has to do with Image wells. Had to cobble this together in less than thirty minutes before leaving home.

If I indeed forgot something please tell me … this will then probably not be there as a snippet in my Collection, too.

Greetings from Germany :de:

Tobias

2 Likes