User Tools

Site Tools


Variables

Differences

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

Link to this comparison view

Next revision
Previous revision
Variables [2016/05/23 22:48]
peternlewis created
— (current)
Line 1: Line 1:
-====== Keyboard Maestro Variables ====== 
- 
-Keyboard Maestro variables are used much like variables in any scripting or macro language. ​ They provide for the storage of data as determined by you, the Keyboard Maestro user.  ​ 
- 
- 
-However, they have one key difference from most other languages: ​ The variable values are permanently stored on each Mac, and thus are available to all macros, and macros that run in the future. ​ You can view your current list of variables on the //​Variables//​ tab of //Keyboard Maestro Editor Preferences//​.  ​ 
- 
- 
-Instead of software code, Keyboard Maestro variables are set by [[:​Actions|Macro Actions]] (or by [[#​Using_Variables_in_Scripts|scripts]]),​ and can then be used by other Macro Actions. 
- 
-It should be noted that **all Keyboard Maestro variables are text**. ​ However, you can use variables that contain numbers in calculations,​ by using the [[token:​Calculate|Calculate Token]]. 
- 
-===== Setting Variables ===== 
- 
-The most common Action to set a variable is, well, [[action:​Set_Variable_to_Text|Set Variable to Text]].  ​ 
- 
-{{ :​token:​km-wiki-set-variable-action.png?​nolink |}} 
- 
-There are a number of other [[:​Actions|Actions]] to set variables: 
-  * [[action:​Set_Variable_to_Calculation]] 
-  * [[action:​Set_Variable_to_Google_Chrome_Field]] 
-  * [[action:​Set_Variable_to_Keychain_Password]] 
-  * [[action:​Set_Variable_to_Safari_Field]] 
- 
-In addition to these, there are a number of more complex Actions that can also set a variable. ​ The [[action:​For_Each|For Each]] Action is an example. 
- 
-When setting a variable, you will be using a text field in most cases. :!: Be aware that [[:​Text_Fields|Text fields]] (that are not regular expression fields), process backslashed characters \a,​\b,​\e,​\f,​\t,​\r,​\n (bell,​backspace,​escape,​form feed,​tab,​return,​line feed). ​ For more information,​ see the [[:​Text_Fields|Text fields]] Wiki article. 
- 
-===== Using Variables ===== 
- 
-There are many Macro Actions that can use variables. ​ Some of these explicitly provide for entry of the variable name, but most provide for a more general entry of a Keyboard Maestro Token.  ​ 
- 
-==== Variable Tokens ==== 
- 
-The //​%Variable%//​`<​VariableName>​`% token allows you to include a variable in a token text field,\\ 
- where `<​VariableName>​` is the name of the variable.  ​ 
- 
-For Example, using the [[action:​Insert_Text|Insert Text]] Action: 
- 
-{{ :​token:​km-wiki-insert-text-action.png?​nolink |}} 
- 
-You can also use a short form of just //%Variable Name%// to include variables as long as the variable exists and has a value and there is no corresponding text token, although generally it is better and clearer to use the longer form //​%Variable%Variable Name%//. 
- 
- 
- 
-==== Variable Arrays ==== 
- 
-Variables can contain an array of comma separated **numbers**,​ like the image size (123,456) or window frame (100,​120,​600,​550). In a calculation field, you can refer to these using a normal (1-based) index notation, like Variable[2]. So you can use ClipboardImageSize[1] and ClipboardImageSize[2]. 
- 
-**It is important to note that variable arrays can contain only numeric values**. ​ When you use the [[token:​Calculate|%Calculate%]] function to reference a variable array element, it will convert the element to a number. ​ So, in effect, you can only use variable arrays to store/​reference numbers. 
- 
-For example, suppose the variable `MyArray` has this value: `10,​05,​00,​12`. In any Keyboard Maestro Action where you would like to use the array element `%Calculate%MyArray[2]%`,​ it will return "​5"​ because it has evaluated it as number, not the actual string of the element "​05"​. 
- 
-===== Using Variables in Scripts ===== 
- 
-You can get and set Keyboard Maestro Variables in these types of scripts: 
-  * [[:​AppleScript|AppleScripts]] 
-  * [[:​JavaScript for Automation#​Accessing_Keyboard_Maestro_Variables|JavaScript for Automation (JXA)]] ​ 
-  * [[action:​Execute_a_JavaScript_in_Google_Chrome|JavaScript in Safari or Google Chrome]] ​ 
-  * [[action:​Custom_HTML_Prompt|JavaScript in Custom HTML Prompts]] ​ 
-  * [[action:​Execute_a_Shell_Script|Shell Scripts]] 
-  * [[action:​Execute_a_Swift_Script|Swift Scripts]] 
- 
-And you can generally access Keyboard Maestro variables anywhere else via [[:​AppleScript|AppleScript]] from whatever language you want to use. 
- 
-Click on the above links for example scripts. 
-===== See Also ===== 
- 
----- 
- 
----- 
- 
-==== Forum ==== 
- 
-- [[https://​forum.keyboardmaestro.com/​t/​how-do-i-get-km-variable-in-shell-script-from-other-apps/​3165/​3|How Do I Get KM Variable in Shell Script from other Apps?]] 
- 
-- [[https://​www.google.fr/​search?​q=site:​forum.keyboardmaestro.com+Keyboard+Maestro+Variables|Keyboard Maestro Forum topics about Keyboard Maestro Variables]] 
  
Variables.1464058103.txt.gz ยท Last modified: 2016/05/23 22:48 by peternlewis