Scripting_the_Keyboard_Maestro_editor
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| Scripting_the_Keyboard_Maestro_editor [2017/08/31 09:20] – peternlewis | Scripting_the_Keyboard_Maestro_editor [2018/04/14 23:02] (current) – Removed script from Section 4 because it won't even compile. JMichaelTX | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| The Keyboard Maestro Scripting Definition (sdef) describes all the support, and you can open in in the Script Editor to see more details. | The Keyboard Maestro Scripting Definition (sdef) describes all the support, and you can open in in the Script Editor to see more details. | ||
| + | |||
| + | FIXME Just adding this until I can provide a more complete script. | ||
| + | |||
| + | ===== 1. Selecting Lists of Objects in KM8 ===== | ||
| + | |||
| + | The `selection` property will return whatever is selected, and has focus, in the Keyboard Maestro editor. | ||
| ```applescript | ```applescript | ||
| - | tell app " | + | tell application |
| + | |||
| + | --- First Select an Action, Macro, or Macro Group | ||
| + | -- in the KM Editor, then run this script | ||
| + | |||
| + | set kmList to selection | ||
| + | set kmClass to class of item 1 of kmList | ||
| + | |||
| + | -->Based on selection, will return one of these: | ||
| + | --> | ||
| + | |||
| + | end tell | ||
| - | | + | ``` |
| - | | + | |
| - | make new smart group with properties {name:" | ||
| - | set search strings of smart group " | ||
| - | |||
| - | set enable of macro group "Turn Off" to false | ||
| - | set name of macro 1 to "Great!" | + | ```applescript |
| + | tell application | ||
| + | set selList to selection | ||
| + | set macroList to selected macros | ||
| + | set grpList to selected macro groups | ||
| + | end tell | ||
| + | ``` | ||
| - | tell macro group "New Stuff" to make new macro | ||
| - | | ||
| - | set color of action 1 of macro " | ||
| - | |||
| - | | ||
| - | set selection to global macro group | + | ===== 2. Get Current Macro Object ===== |
| - | move first action of macro " | + | ```applescript |
| - | + | ||
| - | move macro " | + | |
| - | move (every macro of macro group " | + | |
| - | move macro 2 of macro group " | + | |
| - | | + | tell application |
| + | # Ver 1.1 2017-09-20 | ||
| | | ||
| - | | + | set macroList to every macro whose selected is true |
| + | |||
| + | --- Make Sure Only ONE Macro is Selected --- | ||
| + | |||
| + | if ((count of macroList) = 1) then | ||
| + | set oMacro to item 1 of macroList | ||
| + | else | ||
| + | error "Multiple Macros are selected. | ||
| + | end if | ||
| + | |||
| + | --- Now We can Get/Set Macro Properties --- | ||
| + | |||
| + | set macroName to name of oMacro | ||
| + | |||
| + | return macroName | ||
| + | |||
| + | end tell | ||
| + | ``` | ||
| - | set m to duplicate action 1 of macro " | + | ===== 3. Macro Groups ===== |
| - | | + | **Disable a Macro Group** |
| - | | + | |
| + | <code applescript> | ||
| + | tell application " | ||
| + | set enabled of macro group "Macro Group Name" to false | ||
| + | end tell | ||
| + | </ | ||
| + | |||
| + | **Edit a Macro Group** | ||
| + | |||
| + | <code applescript> | ||
| + | tell application " | ||
| + | editMacro "Macro Group Name or UID" | ||
| + | end tell | ||
| + | </ | ||
| + | |||
| + | **Get the list of currently | ||
| + | |||
| + | <code applescript> | ||
| + | tell application " | ||
| + | set groupList | ||
| + | end tell | ||
| + | </ | ||
| + | |||
| + | ===== 4. Get and Create Variety of Editor Objects ===== | ||
| + | |||
| + | FIXME [JMichaelTX: | ||
| + | |||
| + | |||
| + | ===== 5. Create Macro Group and Macros ===== | ||
| + | |||
| + | Before you use a macro group you probably want to check if it exists. The following example tests for the macro group' | ||
| + | |||
| + | (This test is case-insensitive. For example | ||
| + | |||
| + | ```applescript | ||
| + | tell application " | ||
| + | set macroGroup to getvariable " | ||
| + | if (macroGroup = "" | ||
| + | end tell | ||
| + | |||
| + | tell application " | ||
| + | if exists macro group macroGroup then | ||
| + | return true | ||
| + | else | ||
| + | return false | ||
| + | end if | ||
| end tell | end tell | ||
| ``` | ``` | ||
| + | |||
| Here is a full example that creates a macro group called " | Here is a full example that creates a macro group called " | ||
Scripting_the_Keyboard_Maestro_editor.1504171204.txt.gz · Last modified: by peternlewis
