This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
Scripting_the_Keyboard_Maestro_editor [2018/04/14 10:42] MartinPacker Added snippet to test for existence of a macro group |
Scripting_the_Keyboard_Maestro_editor [2018/04/14 19:02] JMichaelTX Removed script from Section 4 because it won't even compile. |
||
---|---|---|---|
Line 91: | Line 91: | ||
===== 4. Get and Create Variety of Editor Objects ===== | ===== 4. Get and Create Variety of Editor Objects ===== | ||
+ | FIXME [JMichaelTX: This script removed pending review & update]. | ||
- | ```applescript | ||
- | tell app "Keyboard Maestro" | ||
- | |||
- | properties of group "Enabled" | ||
- | properties of smart group "Enabled" | ||
- | |||
- | make new smart group with properties {name:"Enabled", search strings:{"enabled:yes"}} | ||
- | set search strings of smart group "Disabled" to {"enabled:no"} | ||
- | |||
- | set enable of macro group "Turn Off" to false | ||
- | |||
- | set name of macro 1 to "Great!" | ||
- | |||
- | tell macro group "New Stuff" to make new macro | ||
- | | ||
- | set color of action 1 of macro "Bright" to "red" | ||
- | |||
- | select action 1 through 3 of action 2 of macro "Working" | ||
- | |||
- | set selection to global macro group | ||
- | |||
- | move first action of macro "Source Macro" to end of actions of macro "Dest Macro" | ||
- | |||
- | move macro "Macro33" to macro group "Test4" | ||
- | move (every macro of macro group "Test4" whose name starts with "Macro3") to macro group "Test3" | ||
- | move macro 2 of macro group "Test3" to macro group "Test4" | ||
- | |||
- | delete second action of macro "Target Macro" | ||
- | | ||
- | duplicate every macro group whose name starts with "Test" | ||
- | |||
- | set m to duplicate action 1 of macro "Macro33" to after action 2 of macro "Macro32" | ||
- | |||
- | duplicate (selected macros) to macro group "Test4" | ||
- | |||
- | end tell | ||
- | ``` | ||
===== 5. Create Macro Group and Macros ===== | ===== 5. Create Macro Group and Macros ===== | ||
Line 134: | Line 98: | ||
Before you use a macro group you probably want to check if it exists. The following example tests for the macro group's existence, based on a Keyboard Maestro input variable containing the macro group name -`macroGroup`. | Before you use a macro group you probably want to check if it exists. The following example tests for the macro group's existence, based on a Keyboard Maestro input variable containing the macro group name -`macroGroup`. | ||
- | (This test is case-insensitive. For example `Firefox` could also be specified as `firefox`. | + | (This test is case-insensitive. For example macro group "Firefox" could also be specified as "firefox".) |
```applescript | ```applescript | ||
tell application "Keyboard Maestro Engine" | tell application "Keyboard Maestro Engine" | ||
- | set macroGroup to getvariable "macroGroup" | + | set macroGroup to getvariable "macroGroup" |
+ | if (macroGroup = "") then error "[ERROR]" & linefeed & "Invalid Macro Group Name. KM Variable \"" & "macroGroup" & "\" was empty or undefined." | ||
end tell | end tell | ||
- | tell application id "com.stairways.keyboardmaestro.editor" | + | tell application "Keyboard Maestro" -- Editor |
- | if exists macro group macroGroup then | + | if exists macro group macroGroup then |
- | return true | + | return true |
- | else | + | else |
- | return false | + | return false |
- | end if | + | end if |
end tell | end tell | ||
+ | ``` | ||
- | ``` | ||
Here is a full example that creates a macro group called "Multiple Clipboards" and then creates 9 macros with hot Control-C and action to copy the clipboard to a named clipboard with name "Clipboard N" (where N is 1-9) and another set of 9 macros with hot key Control-V and action to paste from the named clipboard "Clipboard N" | Here is a full example that creates a macro group called "Multiple Clipboards" and then creates 9 macros with hot Control-C and action to copy the clipboard to a named clipboard with name "Clipboard N" (where N is 1-9) and another set of 9 macros with hot key Control-V and action to paste from the named clipboard "Clipboard N" |