User Tools

Site Tools


action:Switch_or_Case

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
action:Switch_or_Case [2017/09/07 01:51]
peternlewis
action:Switch_or_Case [2021/10/15 01:32]
peternlewis [Conditions]
Line 1: Line 1:
-{{:​action:​switch-icon.png?​nolink|}} 
 ====== Switch/Case Action ====== ====== Switch/Case Action ======
  
-**The //​Switch/​Case action// is used to perform different actions based on different values of a common _parameter_.**  It is very similar to the [[https://​developer.mozilla.org/​en-US/​docs/​Web/​JavaScript/​Reference/​Statements/​switch|JavaScript Switch]] statement.+The //​Switch/​Case action// is used to perform different actions based on different values of a common _parameter_. ​ It is very similar to the [[https://​developer.mozilla.org/​en-US/​docs/​Web/​JavaScript/​Reference/​Statements/​switch|JavaScript Switch]] statement.
  
 The _Switch_ Action is a good alternative to using multiple, nested, [[action:​If_Then_Else|If/​Then]] Actions. The _Switch_ Action is a good alternative to using multiple, nested, [[action:​If_Then_Else|If/​Then]] Actions.
Line 8: Line 7:
 ===== Parameters ===== ===== Parameters =====
  
-**The Switch _parameter_ may be any of the following:**+The Switch _parameter_ may be any of the following:
   * [[:​Clipboards|System Clipboard]]   * [[:​Clipboards|System Clipboard]]
   * [[:​Clipboards#​Named_Clipboards|Named Clipboard]]   * [[:​Clipboards#​Named_Clipboards|Named Clipboard]]
-  * [[:​Variables|Keyboard Maestro Variable]]+  * [[token:​TriggerClipboard|Trigger Clipboard]] 
 +  * [[manual:​Variables|Keyboard Maestro Variable]]
   * Text (which can use [[:​Tokens|Tokens]])   * Text (which can use [[:​Tokens|Tokens]])
 +  * [[manual:​Calculations|Calculation]]
 +  * File
  
 ===== Default Configuration ===== ===== Default Configuration =====
Line 18: Line 20:
 When you insert the _Switch_ Action, it is configured to switch based on the _System Clipboard_, but can be easily changed to other parameters. ​ It initially looks like this: When you insert the _Switch_ Action, it is configured to switch based on the _System Clipboard_, but can be easily changed to other parameters. ​ It initially looks like this:
  
-{{:action:km-7.3-switch.png?​nolink|}}+{{:action:switch-case.png?​nolink|}}
  
 For each _Condition_ that you add, you can enter zero or more _Actions_ that will be executed when that _Condition_ is met.  After those _Action(s)_ are executed, or if no _Conditions_ are met, the _Switch_ Action is exited. For each _Condition_ that you add, you can enter zero or more _Actions_ that will be executed when that _Condition_ is met.  After those _Action(s)_ are executed, or if no _Conditions_ are met, the _Switch_ Action is exited.
- 
----- 
-===== Example ===== 
-See this Forum Topic for a downloadable example:\\ 
-[ACTION: Switch Case Based on FrontMost App](https://​forum.keyboardmaestro.com/​t/​action-switch-case-based-on-frontmost-app/​7294) 
  
 ===== Conditions ===== ===== Conditions =====
  
-The _Conditions_ available depend on the _Parameter_ that is chosen+The _Conditions_ available depend on the _Parameter_ that is chosen ​(for example, you cannot use *has an image* with a calculation).
-{{:​action:​km-7.3-switch-conditions.png?​nolink|}}+
  
 The _Conditions_ are defined as follows: The _Conditions_ are defined as follows:
  
 ^Condition^Definition^ ^Condition^Definition^
 +|is empty|The text is contains no characters.|
 +|is not empty|The text is contains some characters.|
 |has text |Clipboard has at least one item containing text of some sort.| |has text |Clipboard has at least one item containing text of some sort.|
 |does not have text |Clipboard does not have any text items.| |does not have text |Clipboard does not have any text items.|
Line 41: Line 39:
 |is |is exactly (case insensitive) the specified string.| |is |is exactly (case insensitive) the specified string.|
 |is not |is not exactly (case insensitive) the specified string.| |is not |is not exactly (case insensitive) the specified string.|
 +|contains |contains (case insensitive) the specified string.|
 +|does not contain |does not contain (case insensitive) the specified string.|
 +|starts with |starts with the specified string.|
 +|ends with |ends with the specified string.|
 |is before |is alphabetically before the specified string. (v7.2+)| |is before |is alphabetically before the specified string. (v7.2+)|
 |is after |is alphabetically after the specified string. (v7.2+)| |is after |is alphabetically after the specified string. (v7.2+)|
-|contains |contains (case insensitive) the specified string.| 
-|does not contain |does not contain (case insensitive) the specified string.| 
 |matches |matches the specified regular expression.| |matches |matches the specified regular expression.|
 |does not match |does not match the specified regular expression.| |does not match |does not match the specified regular expression.|
 +|is <|is numerically less than.|
 +|is <=|is numerically less than or equal.|
 +|is =|is numerically equal.|
 +|is >=|is numerically greater than or equal.|
 +|is >|is numerically greater than.|
 +|is !=|is numerically not equal.|
 |conforms to |Clipboard has an item with the UTI class that conforms to the specified [Uniform Type Identifier](https://​en.wikipedia.org/​wiki/​Uniform_Type_Identifier).| |conforms to |Clipboard has an item with the UTI class that conforms to the specified [Uniform Type Identifier](https://​en.wikipedia.org/​wiki/​Uniform_Type_Identifier).|
 |does not conform to |Clipboard does not have an item with the UTI class that conforms to the specified Uniform Type Identifier.| |does not conform to |Clipboard does not have an item with the UTI class that conforms to the specified Uniform Type Identifier.|
Line 52: Line 58:
  
  
-The _Otherwise_ _Condition_ will execute if none of the above _Conditions_ are met.  The _Switch_ Action will then exit.  So, the _Otherwise_ _Condition_ should always be placed as the last _Condition_ in the _Switch_ Action. +The _Otherwise_ _Condition_ will execute if none of the previous ​_Conditions_ are met.  The _Switch_ Action will then exit.  So, the _Otherwise_ _Condition_ should always be placed as the last _Condition_ in the _Switch_ Action.
- +
----- +
  
 ===== See Also ===== ===== See Also =====
Line 73: Line 76:
 ==== Forum ==== ==== Forum ====
  
 +- [[https://​forum.keyboardmaestro.com/​t/​action-switch-case-based-on-frontmost-app/​7294|ACTION:​ Switch Case Based on FrontMost App]]
 - [[https://​forum.keyboardmaestro.com/​search?​q=Switch%20action|Keyboard Maestro Forum topics about Switch or Case action]] - [[https://​forum.keyboardmaestro.com/​search?​q=Switch%20action|Keyboard Maestro Forum topics about Switch or Case action]]
  
action/Switch_or_Case.txt · Last modified: 2022/09/17 22:49 by peternlewis