User Tools

Site Tools


Scripting_the_Keyboard_Maestro_editor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
Scripting_the_Keyboard_Maestro_editor [2017/09/20 23:24]
JMichaelTX ADD selecting lists of objects
Scripting_the_Keyboard_Maestro_editor [2018/04/14 18:46]
JMichaelTX [5. Create Macro Group and Macros] Added error checking to Example 5 Test for Macro Group existence.
Line 7: Line 7:
 FIXME  Just adding this until I can provide a more complete script. FIXME  Just adding this until I can provide a more complete script.
  
-===== Selecting Lists of Objects in KM8 =====+===== 1. Selecting Lists of Objects in KM8 ===== 
 + 
 +The `selection` property will return whatever is selected, and has focus, in the Keyboard Maestro editor. ​ So this could be any of these: ​ action, macro, macro group. ​ Here is how to get the selection, and determine the type (class) of the object that is selected: 
 + 
 +```applescript 
 +tell application "​Keyboard Maestro"​ 
 +   
 +  --- 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: 
 +  -->​action,​ macro, macro group 
 +   
 +end tell 
 + 
 +``` 
  
 ```applescript ```applescript
Line 18: Line 37:
  
  
-===== 1. Get Current Macro Object =====+===== 2. Get Current Macro Object =====
  
 ```applescript ```applescript
Line 44: Line 63:
 ``` ```
  
 +===== 3. Macro Groups =====
  
-===== 2. Get and Create Variety of Editor Objects =====+**Disable a Macro Group** 
 + 
 +<code applescript>​ 
 +tell application "​Keyboard Maestro"​ 
 +   set enabled of macro group "Macro Group Name" to false 
 +end tell 
 +</​code>​ 
 + 
 +**Edit a Macro Group** 
 + 
 +<code applescript>​ 
 +tell application "​Keyboard Maestro"​ 
 +  editMacro "Macro Group Name or UID" 
 +end tell 
 +</​code>​ 
 + 
 +**Get the list of currently selected macro groups** 
 + 
 +<code applescript>​ 
 +tell application "​Keyboard Maestro"​ 
 +   set groupList to selected macro groups 
 +end tell 
 +</​code>​ 
 + 
 +===== 4. Get and Create Variety of Editor Objects =====
  
  
Line 86: Line 130:
 ``` ```
  
-===== 3. Create Macro Group and Macros =====+===== 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'​s existence, based on a Keyboard Maestro input variable containing the macro group name -`macroGroup`. 
 + 
 +(This test is case-insensitive. For example macro group "​Firefox"​ could also be specified as "​firefox"​.) 
 + 
 +```applescript 
 +tell application "​Keyboard Maestro Engine"​ 
 +  set macroGroup to getvariable "​macroGroup"​ 
 +  if (macroGroup = ""​) then error "​[ERROR]"​ & linefeed & "​Invalid Macro Group Name. KM Variable \""​ & "​macroGroup"​ & "​\"​ was empty or undefined."​ 
 +end tell 
 + 
 +tell application "​Keyboard Maestro"​ -- Editor 
 +  if exists macro group macroGroup then 
 +    return true 
 +  else 
 +    return false 
 +  end if 
 +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"
Scripting_the_Keyboard_Maestro_editor.txt · Last modified: 2018/04/14 19:02 by JMichaelTX