This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
manual:Scripting [2017/09/08 04:26] peternlewis |
manual:Scripting [2019/06/20 22:26] peternlewis |
||
---|---|---|---|
Line 18: | Line 18: | ||
For example, the [[action:Execute_an_AppleScript]] Action:\\ | For example, the [[action:Execute_an_AppleScript]] Action:\\ | ||
{{:km-7.3-execute-script.png?nolink|}}\\ | {{:km-7.3-execute-script.png?nolink|}}\\ | ||
+ | |||
+ | **There are two setup options:** | ||
+ | ^ Setup Option ^ Choices\\ (Default shown first) ^ | ||
+ | | Script location | Execute text script (type or paste script into Action text field)\\ Execute script file (This is faster if it is a compiled script file `.scpt`) | | ||
+ | | Script Results | Ignored.\\ Displayed in a floating window.\\ Displayed briefly in a Notification.\\ Typed in the current text field that has focus.\\ Pasted in text field that has focus.\\ Saved to a Keyboard Maestro Variable.\\ Saved to the System or Named Clipboard.\\ Ignore Results and run //Asynchronously// (the script runs while the macro continues on to the next //Action//.) | | ||
+ | |||
==== Getting Script Results ==== | ==== Getting Script Results ==== | ||
Line 165: | Line 171: | ||
</code> | </code> | ||
- | You can ask Keyboard Maestro Engine to process tokens for you with: | + | You can ask Keyboard Maestro Engine to find strings in other scripts: |
<code applescript> | <code applescript> | ||
tell application "Keyboard Maestro Engine" | tell application "Keyboard Maestro Engine" | ||
- | set clip to process tokens "%PastClipboard%3%" | + | count found in "The Source" for ".e" with regex |
+ | end tell | ||
+ | </code> | ||
+ | |||
+ | And you can search and replace with: | ||
+ | |||
+ | <code applescript> | ||
+ | tell application "Keyboard Maestro Engine" | ||
+ | search "3+4" for "(\\d+)" replace "%CalculateFormat%CALCULATE(\\1)%Currency%" with regex and process tokens | ||
end tell | end tell | ||
</code> | </code> | ||
Line 185: | Line 199: | ||
</code> | </code> | ||
- | Alternatively you can use the [[/action/Set_Macro_Enable|Set Macro Enable action]]. | + | Alternatively you can use the [[action:Set_Macro_or_Group_Enable|Set Macro Enable action]]. |
You can rename, create, delete, duplicate macro groups and macros. You can add and remove actions. You can get or set the selection. | You can rename, create, delete, duplicate macro groups and macros. You can add and remove actions. You can get or set the selection. | ||
Line 199: | Line 213: | ||
See the Keyboard Maestro AppleScript dictionary for more information. | See the Keyboard Maestro AppleScript dictionary for more information. | ||
- | ===== URL Schemes ===== | ||
- | |||
- | ==== Editor ==== | ||
- | |||
- | Another way you can control Keyboard Maestro Editor is using the "`keyboardmaestro`" URL scheme, which supports the following formats: | ||
- | |||
- | ^ Example Editor URL Command ^ Description ^ | ||
- | | `keyboardmaestro://u=support%40stairways.com/s=ABCDEFGH0123456789` | enter your username/serial number. | | ||
- | | `keyboardmaestro://m=Activate%20Application%20Switcher`\\ `keyboardmaestro://m=D2F427A1-51E3-4719-820B-4C25B6FF7329` | edit a specific macro or macro group.\\ You may used either the Macro Name, or UUID. | | ||
- | | `keyboardmaestro://q=Activate` | filter macros with this keyword. | | ||
- | | `keyboardmaestro://g=All%20Macros/q=Activate` | select a macro group and filter macros with this keyword. | | ||
- | | `keyboardmaestro://a=Execute` | filter actions with this keyword. | | ||
- | | `keyboardmaestro://c=All%20Actions/a=Execute` | select action category and filter actions with this keyword. | | ||
- | |||
- | --- | ||
- | |||
- | ==== Triggers ==== | ||
- | |||
- | You can trigger a macro (that is Active and Enabled) using the "`kmtrigger`" URL scheme. The URL uses this format: | ||
- | |||
- | `kmtrigger://macro=<Macro Name or UUID>[&<Trigger Value>]` | ||
- | |||
- | where | ||
- | * `<Macro Name or UUID>` is either the Macro Name, OR, its UUID | ||
- | * `<Trigger Value>` is the _optional_ Trigger Value | ||
- | * `[ ]` are _not_ included. Used only to show _optional_ parameters | ||
- | * `&` must precede the Trigger Value, if it is provided. | ||
- | |||
- | Note both Macro Name and Trigger Value must be URL encoded. | ||
- | |||
- | You can easily get the Trigger URL by clicking on the "Or by Script" Trigger option, and selecting "Or by URL". | ||
- | |||
- | {{:manual:km-7.3-macro-trigger-url-setup.png?nolink|}} | ||
- | |||
- | {{:manual:km-7.3-macro-trigger-url-results.png?nolink|}} | ||
- | |||
- | ^ Example Trigger URL Command ^ Description ^ | ||
- | | `kmtrigger://macro=Your%20Macro%20Name` | Using the Macro Name | | ||
- | | `kmtrigger://macro=224AA8CB-07EB-4C92-8201-68FED82B6E9F` | Using the Macro UUID | | ||
- | | `kmtrigger://macro=Your%20Macro%20Name&value=Your%20Trigger%20Value` | Using Macro Name with Trigger Value | | ||
- | | `kmtrigger://macro=224AA8CB-07EB-4C92-8201-68FED82B6E9F&value=Your%20Trigger%20Value` | Using Macro UUID with Trigger Value | | ||