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 revisionPrevious revision
Next revision
Previous revision
Scripting_the_Keyboard_Maestro_editor [2017/09/21 03:24] – ADD selecting lists of objects JMichaelTXScripting_the_Keyboard_Maestro_editor [2018/04/14 23:02] (current) – Removed script from Section 4 because it won't even compile. JMichaelTX
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>
  
-```applescript +**Edit a Macro Group**
-tell app "Keyboard Maestro"+
  
-   properties of group "Enabled+<code applescript> 
-   properties of smart group "Enabled"+tell application "Keyboard Maestro
 +  editMacro "Macro Group Name or UID" 
 +end tell 
 +</code>
  
-   make new smart group with properties {name:"Enabled", search strings:{"enabled:yes"}} +**Get the list of currently selected macro groups**
-   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!"+<code applescript> 
 +tell application "Keyboard Maestro" 
 +   set groupList to selected macro groups 
 +end tell 
 +</code>
  
-   tell macro group "New Stuff" to make new macro +===== 4. Get and Create Variety of Editor Objects =====
-       +
-   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+FIXME [JMichaelTX:  This script removed pending review & update].
  
-   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+===== 5. Create Macro Group and Macros =====
-   +
-   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"+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`.
  
-   duplicate (selected macros) to macro group "Test4+(This test is case-insensitive. For example macro group "Firefoxcould 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 end tell
 ``` ```
  
-===== 3. Create Macro Group and Macros ===== 
  
 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.1505964258.txt.gz · Last modified: by JMichaelTX

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki