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
action:Switch_or_Case [2016/12/08 14:22]
JMichaelTX Clarified Switch Conditions
action:Switch_or_Case [2022/09/17 22:49] (current)
peternlewis [Switch/Case Action]
Line 1: Line 1:
-{{:​action:​switch-icon.png?​nolink|}} +====== Switch/Case Action ======
-====== Switch ​or Case Action ======+
  
-**The //​Switch ​or 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.
  
-----+The actions in the first section that matches will be executed. If no section matches, then no actions will be executed and the execution will continue after the Switch/Case action. Under no circumstances will actions from more than one section be executed ​that is, execution does not “fall through” to following sections as happens in some languages.
  
 ===== 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 23: Line 22:
 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.
- 
----- 
- 
  
 ===== 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^
-|has text |has text of some sort, i.e. it is _not_ empty.| +|is empty|The text is contains no characters.| 
-|does not have text |does not have text, i.e., it _is_ empty.| +|is not empty|The text is contains some characters.| 
-|has image |has one or more images ​on the clipboard.| +|has text |Clipboard ​has at least one item containing ​text of some sort.| 
-|does not have image |does not have any images ​on the clipboard.| +|does not have text |Clipboard ​does not have any text items.| 
-|is |is exactly (case insensitive) ​specified string.| +|has image |Clipboard ​has one or more images.| 
-|is not |is not exactly (case insensitive) ​specified string.| +|does not have image |Clipboard ​does not have any images.| 
-|is before |is alphabetically before ​specified string. (v7.2+)| +|is |is exactly (case insensitive) ​the specified string.| 
-|is after |is alphabetically after specified string. (v7.2+)| +|is not |is not exactly (case insensitive) ​the specified string.| 
-|contains ​|contains (case insensitive) a specified ​string.| +|contains |contains (case insensitive) the specified string.| 
-|does not contain ​|does not contain (case insensitive) a specified ​string.| +|does not contain |does not contain (case insensitive) the specified string.| 
-|matches ​|matches a specified regular expression.| +|starts with |starts with the specified string.| 
-|does not match |does not match a specified regular expression.|+|ends with |ends with the specified string.| 
 +|is before |is alphabetically before ​the specified string. (v7.2+)| 
 +|is after |is alphabetically after the specified string. (v7.2+)| 
 +|matches ​|matches 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 55: Line 60:
  
  
-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 =====
- 
----- 
  
 === Actions === === Actions ===
  
 * [[action:If Then Else|If Then Else]] * [[action:If Then Else|If Then Else]]
-* [[action:Pause|Pause Until Conditions Met]]+* [[action:Pause_Until|Pause Until Conditions Met]]
 * [[action:​Until|Execute Action Until Conditions Met]] * [[action:​Until|Execute Action Until Conditions Met]]
 * [[action:​While|Execute Action While Conditions Met]] * [[action:​While|Execute Action While Conditions Met]]
Line 75: Line 75:
  
 * [[:​Conditions|See all Conditions]] * [[:​Conditions|See all Conditions]]
- 
----- 
  
 ==== Forum ==== ==== Forum ====
  
-- [[https://www.google.fr/search?​q=site:​forum.keyboardmaestro.com+Switch+action|Keyboard Maestro Forum topics about Switch or Case action]] +- [[https://forum.keyboardmaestro.com/t/​action-switch-case-based-on-frontmost-app/​7294|ACTIONSwitch Case Based on FrontMost App]] 
 +- [[https://forum.keyboardmaestro.com/search?q=Switch%20action|Keyboard Maestro Forum topics about Switch or Case action]]
  
action/Switch_or_Case.1481224955.txt.gz · Last modified: 2016/12/08 14:22 by JMichaelTX