User Tools

Site Tools


manual:Preferences

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
manual:Preferences [2020/02/20 21:42]
peternlewis [Engine]
manual:Preferences [2023/11/07 00:14] (current)
peternlewis [Engine Animation]
Line 3: Line 3:
 To configure Keyboard~~Maestro,​ first launch Keyboard~~Maestro and choose [[Menus#​Keyboard_Maestro_Preferences|Preferences]] from the [[Menus#​Keyboard_Maestro|Keyboard Maestro menu]]. To configure Keyboard~~Maestro,​ first launch Keyboard~~Maestro and choose [[Menus#​Keyboard_Maestro_Preferences|Preferences]] from the [[Menus#​Keyboard_Maestro|Keyboard Maestro menu]].
  
-{{ preferencesgeneral.png?​472 |Preferences General Pane }}+{{ preferencesgeneral.png?​nolink&​582x641 ​| Preferences General Pane }}
  
 The preferences are divided into sections. The preferences are divided into sections.
Line 15: Line 15:
 * Show or hide the [[Applications_Palette|Applications Palette]]. * Show or hide the [[Applications_Palette|Applications Palette]].
 * configure whether to detect clipboards that resemble passwords and obscure them. * configure whether to detect clipboards that resemble passwords and obscure them.
-* configure the light/dark appearance (v9.0+, OS X 10.14+).+* configure the light/dark appearance (macOS 10.14+).
 * configure the default text size used in various places. * configure the default text size used in various places.
 * configure whether and how to show the status menu. * configure whether and how to show the status menu.
 * configure the style of the status menu. * configure the style of the status menu.
 +* configure whether to include macro icons in the status menu.
 * configure whether to include pasting clipboards in the status menu. * configure whether to include pasting clipboards in the status menu.
 * configure whether to include applications in the status menu. * configure whether to include applications in the status menu.
Line 73: Line 74:
  
 You can paste an image into a Named~~Clipboard by selecting it in the list and pasting an image (if you select part of the text, it will paste the image into the styled text, which works but is probably not what you want). You can paste an image into a Named~~Clipboard by selecting it in the list and pasting an image (if you select part of the text, it will paste the image into the styled text, which works but is probably not what you want).
- 
-You can also inspect variables and other values in the [[Windows#​Value_Inspector_Window |Value Inspector]]. 
  
 ===== Variables Preferences ===== ===== Variables Preferences =====
Line 80: Line 79:
 In the [[Windows#​Preferences_Variables_Pane|Variables preference pane]] you can add and remove variables and see and change their values. In the [[Windows#​Preferences_Variables_Pane|Variables preference pane]] you can add and remove variables and see and change their values.
  
-You do not need to create variables, just using them and giving them a value is all that is required for them to spring into existence. ​ You can also inspect variables and other values in the [[Windows#​Value_Inspector_Window |Value Inspector]].+You do not need to create variables, just using them and giving them a value is all that is required for them to spring into existence. 
 + 
 +You can also inspect variables and other values in the [[Windows#​Value_Inspector_Window |Value Inspector]].
  
 ===== Excluded Preferences ===== ===== Excluded Preferences =====
Line 90: Line 91:
 You can also add and remove applications from the clipboard history exclusion list.  When an excluded application is at the front, Keyboard Maestro will not automatically record the clipboard history each time it changes. ​ It will still read the current System Clipboard if you explicitly ask for it in a macro or open the Clipboard History Switcher. You can also add and remove applications from the clipboard history exclusion list.  When an excluded application is at the front, Keyboard Maestro will not automatically record the clipboard history each time it changes. ​ It will still read the current System Clipboard if you explicitly ask for it in a macro or open the Clipboard History Switcher.
  
-===== Other Hidden ​Preferences =====+===== Security ​Preferences ​===== 
 + 
 +Keyboard Maestro is designed to act on your behalf and to do many things for you - essentially acting as you in performing tasks. As such, it needs a wide variety of security permissions to perform these tasks. 
 + 
 +This preference panel aims to summarise the important preferences and allow you to explicitly request them as needed. 
 + 
 +===== Preferences Set by Command Line =====
  
-You can configure various preferences using defaults write from the Mac OS X Terminal. ​ Some preferences will take effect immediately,​ but others may require the editor or engine to be relaunched.+You can configure various preferences using defaults write from the Mac OS X Terminal. ​ Some preferences will take effect immediately,​ but others may require the editor or engine to be relaunched. These preferences are documented here only to provide utility. Their behaviour may change in the future, or have unexpected consequences.
  
 ==== Editor ==== ==== Editor ====
Line 142: Line 149:
 <code bash> <code bash>
 defaults write com.stairways.keyboardmaestro.editor Font-Normal -string "​Monaco"​ defaults write com.stairways.keyboardmaestro.editor Font-Normal -string "​Monaco"​
 +defaults write com.stairways.keyboardmaestro.editor Font-Fixed -string "​Monaco"​
 defaults write com.stairways.keyboardmaestro.editor Font-Shell -string "​USER"​ defaults write com.stairways.keyboardmaestro.editor Font-Shell -string "​USER"​
 defaults write com.stairways.keyboardmaestro.editor Font-AppleScript -string "​FIXED"​ defaults write com.stairways.keyboardmaestro.editor Font-AppleScript -string "​FIXED"​
Line 156: Line 164:
 ==== Clipboard ==== ==== Clipboard ====
  
-You can set the maximum number of items in the clipboard history ​(default 200)+If you wish to effectively disable the Keyboard Maestro Clipboard History, you can do so by setting the history size to zero, and then Keyboard Maestro will only read the clipboard when you explicitly ask it to use the clipboard. 
 + 
 +You can set the following preferences for the Clipboard History 
 + 
 +**Maximum Number of Items** ​(default 200)
  
 <code bash> <code bash>
Line 162: Line 174:
 </​code>​ </​code>​
  
-You can set the maximum clipboard flavor size (default 100MB)+If you set the max number of items to zero, then the Copy action will fail. 
 + 
 +**Maximum Clipboard Flavor Size** ​(default 100MB)
  
 <code bash> <code bash>
Line 168: Line 182:
 </​code>​ </​code>​
  
-You can set the maximum position ​of concealed ​(passworditems in the clipboard ​history ​(default 10)+**Multiple Clipboard Separator** (default Return) 
 + 
 +The separator added if you paste multiple items from the Clipboard Switcher ​can be configured in the gear menu or set to something else with the command: 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.engine MultipleClipboardSeparator " and " 
 +</​code>​ 
 + 
 +**Ignored Clipboard Flavors** 
 + 
 +You can add additional clipboard flavors to be ignored using: 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.engine ExtraIgnoredClipboardFlavors "​com.whatever.badflavor"​ 
 +</​code>​ 
 + 
 +The string should be a bar (`|`) separated list of flavors ​(technically a regular expression). These flavors will be excluded from the clipboard ​when Keyboard Maestro reads the clipboard. 
 + 
 +You can also write to `IgnoredClipboardFlavors`,​ which will set the entire list of ignored clipboard flavors, but that is a bad idea since the flavors that are ignored, are ignored for a reason, and overwriting the list will produce negative results. 
 + 
 +**Maximum Position of Concealed (Password) Items** ​(default 10)
  
 <code bash> <code bash>
Line 174: Line 208:
 </​code>​ </​code>​
  
-You can set a regular expression which matches text you think should ​or should not be concealed ​as passwords.+**Regular Expression Which Matches Text You Think Should ​or Should Not Be Concealed ​as Passwords**
  
 <code bash> <code bash>
Line 181: Line 215:
 </​code>​ </​code>​
  
-Microsoft applications include a PDF flavor with every copy, and starting up the PDF rendering engine is slow, making the first copy after launching a Microsoft application. ​ Keyboard Maestro ​(v9.0+) ​excludes PDF flavors from clipboards copied in Microsoft applications by default, but you can turn this off with:+**Include Microsoft PDFs in Clipboards** 
 + 
 +Microsoft applications include a PDF flavor with every copy, and starting up the PDF rendering engine is slow, making the first copy after launching a Microsoft application. ​ Keyboard Maestro excludes PDF flavors from clipboards copied in Microsoft applications by default, but you can turn this off with:
  
 <code bash> <code bash>
Line 187: Line 223:
 </​code>​ </​code>​
  
-Microsoft applications also include flavors for every possible image format with every copy.  Keyboard Maestro ​(v9.0+) ​excludes secondary image flavors like BMP when there is a PNG or TIFF flavor available. ​ You can turn this off with:+**Include Microsoft Image Formats** 
 + 
 +Microsoft applications also include flavors for every possible image format with every copy.  Keyboard Maestro excludes secondary image flavors like BMP when there is a PNG or TIFF flavor available. ​ You can turn this off with:
  
 <code bash> <code bash>
Line 193: Line 231:
 </​code>​ </​code>​
  
-==== Engine ​====+==== AppleScript OSA Command ​====
  
 You can set the command line tool that is used to execute AppleScripts You can set the command line tool that is used to execute AppleScripts
Line 201: Line 239:
 </​code>​ </​code>​
  
-You can set the AppleScript name of the Safari ​application, as well as the name of the Safari browser shown in applications:​+==== Browser Used in Actions & Tokens ==== 
 + 
 +**Change which Safari-based Browser will be targeted by the "​Safari"​ Actions, Tokens, and Functions.** 
 + 
 +These preferences change ​AppleScript ​Application ​name that is used to control the respective browser in the form of CODE{{{tell application "<​browser name>"​}}}. ​ Note that the Safari ​browser must still behave like Safari, and the Chrome browser must behave like Chrome, or the actions will not work.  Do not bother trying to set them to Firefox or something like that as it will not work.  All this allows you to do is select a specific version of Safari or Chrome respectively. 
 + 
 +You can Safari-based Browser targeted in Actions, etc, as well as the name of the Safari browser shown in applications:​
  
 <code bash> <code bash>
Line 214: Line 258:
 </​code>​ </​code>​
  
-Similarly for Google ​Chrome:+**Change which Chrome-based Browser will be targeted by the various Keyboard Maestro "​[[token:ChromeTitle|Chrome Related]]"​ Actions, Tokens, and Functions.** 
 + 
 +:!: Note:  By using the [[token:​FrontBrowserTitle|FrontBrowser Related]] Tokens, Actions, and Functions, you may not need to change the below. ​ Just use these _FrontBrowser_ entities and whatever Browser is currently (or most recently) frontmost will be targeted. ​ This includes all Safari-based Browsers and Chrome-based Browsers.
  
 <code bash> <code bash>
 +# ~~~ For Brave Browser ~~~
 +defaults write com.stairways.keyboardmaestro.engine AppleScriptGoogleChromeBundleID -string "​com.brave.Browser"​
 +defaults write com.stairways.keyboardmaestro.engine BrowserGoogleChromeName -string "Brave Browser"​
 +
 +# ~~~For Chrome Canary ~~~
 defaults write com.stairways.keyboardmaestro.engine AppleScriptGoogleChromeBundleID -string "​com.google.Chrome.canary"​ defaults write com.stairways.keyboardmaestro.engine AppleScriptGoogleChromeBundleID -string "​com.google.Chrome.canary"​
 defaults write com.stairways.keyboardmaestro.engine BrowserGoogleChromeName -string "​Chrome Canary"​ defaults write com.stairways.keyboardmaestro.engine BrowserGoogleChromeName -string "​Chrome Canary"​
 </​code>​ </​code>​
  
-The AppleScript name is used in AppleScript'​s which control ​the respective browser in the form of CODE{{{tell app "<browser name>"}}} Note that the Safari browser must still behave like Safari, and the Chrome ​browser ​must behave like Chromeor the actions will not work Do not bother trying to set them to Firefox or something like that as it will not work.  ​All this allows you to do is select ​specific version of Safari ​or Chrome ​respectively.+**To restore ​the defaults** back to use Google Chrome, just delete ​the preferences:​ 
 + 
 +<code bash> 
 +# ~~~ Restore to Google Chrome ~~~ 
 +defaults delete com.stairways.keyboardmaestro.engine AppleScriptGoogleChromeBundleID 
 +defaults delete com.stairways.keyboardmaestro.engine BrowserGoogleChromeName 
 +</​code>​ 
 + 
 +**Add additional Browsers to the Front Browser Actions, Tokens, and Functions.** 
 + 
 +The current list of browsers supported in Keyboard Maestro as a potential front browser ​include: 
 + 
 +* com.apple.Safari 
 +* com.apple.SafariTechnologyPreview 
 +* com.google.Chrome 
 +* com.google.Chrome.canary 
 +* com.brave.Browser 
 +* com.brave.Browser.beta 
 +* com.vivaldi.Vivaldi 
 +* com.vivaldi.Vivaldi.snapshot 
 +* com.microsoft.edgemac 
 + 
 +Plus whatever browser is specified as the Safari ​or GoogleChrome above. 
 + 
 +You can add additional browsers supported as the Front Browser by including their bundle IDs in the `AdditionalWebBrowserBundleIDs` preferenceYou can list as many as you like, separated by spaces or commas. 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.engine AdditionalWebBrowserBundleIDs -string "​com.example.Safari,​com.example.Chrome"​ 
 +</​code>​ 
 + 
 +:!: Note:  if the bundle ID includes “safari”,​ it is considered ​a Safari ​browser, otherwise it is considered a Chrome-based browser. 
 + 
 +==== Tokens ==== 
 + 
 +Tokens are limited to 0.9 seconds in execution time, and are executed somewhat asynchronously in Ventura and later. You can control this with: 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.engine TokenTimeout -float 0.9 
 +defaults write com.stairways.keyboardmaestro.engine ForceSynchronousTokens -bool YES 
 +</​code>​ 
 + 
 +==== Engine Animation ====
  
 You can disable all animation in the engine with: You can disable all animation in the engine with:
Line 229: Line 321:
 </​code>​ </​code>​
  
-You can disable Shift-Space from clearing the Typed String buffer+==== Typed String ==== 
 + 
 +You can disable Shift-Space from clearing the Typed String buffer ​with:
  
 <code bash> <code bash>
Line 235: Line 329:
 </​code>​ </​code>​
  
-and you can disable clicks from clearing the Typed String buffer+and you can disable clicks from clearing the Typed String buffer ​with:
  
 <code bash> <code bash>
Line 241: Line 335:
 </​code>​ </​code>​
  
-and you can set the idle time for clearing the Typed String buffer (default 5 seconds)+and you can set the idle time for clearing the Typed String buffer (default 5 seconds) ​with:
  
 <code bash> <code bash>
 defaults write com.stairways.keyboardmaestro.engine TypedStringClearTime -float 5.0 defaults write com.stairways.keyboardmaestro.engine TypedStringClearTime -float 5.0
 </​code>​ </​code>​
 +
 +You can disable modifiers taps in the Typed String buffer with:
 +
 +<code bash>
 +defaults write com.stairways.keyboardmaestro.engine AllowModifiersInTypedStrings -bool NO
 +</​code>​
 +
 +
 +==== Use Unicode for Keystrokes ====
  
 You can force Keyboard Maestro to simulate keystrokes only as Unicode characters, rather than typing them as you would on the keyboard You can force Keyboard Maestro to simulate keystrokes only as Unicode characters, rather than typing them as you would on the keyboard
Line 252: Line 355:
 defaults write com.stairways.keyboardmaestro.engine ForceInsertTextByTypingToUseUnicode -bool YES defaults write com.stairways.keyboardmaestro.engine ForceInsertTextByTypingToUseUnicode -bool YES
 </​code>​ </​code>​
 +
 +==== Hot Key Triggers ====
  
 You can set the maximum key down trigger time for Hot Key triggers (default 10 seconds) You can set the maximum key down trigger time for Hot Key triggers (default 10 seconds)
Line 258: Line 363:
 defaults write com.stairways.keyboardmaestro.engine MaxKeyRepeatTime -float 10.0 defaults write com.stairways.keyboardmaestro.engine MaxKeyRepeatTime -float 10.0
 </​code>​ </​code>​
 +
 +You can configure the timing of a "​tap"​ (Hot Key and USB Device Key triggers) with:
 +
 +<code bash>
 +defaults write com.stairways.keyboardmaestro.engine MaxTapDownTime -float 1.0
 +defaults write com.stairways.keyboardmaestro.engine MaxTapUpTime -float 1.0
 +</​code>​
 +
 +==== Sounds ====
  
 You can silence the clipboard transfer sounds with: You can silence the clipboard transfer sounds with:
Line 270: Line 384:
 defaults write com.stairways.keyboardmaestro.engine SilenceRecordingSounds -bool YES defaults write com.stairways.keyboardmaestro.engine SilenceRecordingSounds -bool YES
 </​code>​ </​code>​
 +
 +==== Recordings ====
  
 You can adjust the recording delay with: You can adjust the recording delay with:
Line 279: Line 395:
 Note: you can option click the Record button to avoid the delay. Note: you can option click the Record button to avoid the delay.
  
-You can have the conflict palette use sequential hot keys from the first letter ​with:+You can have all recorded clicks recorded in absolute coordinates by default ​with:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine ​SequentialConflictPalette ​-bool YES+defaults write com.stairways.keyboardmaestro.engine ​AlwaysRecordAbsoluteClicks ​-bool YEA
 </​code>​ </​code>​
  
-You can configure ​the timing of "​tap"​ (Hot Key and USB Device Key triggers) ​with:+By default, clicks are recorded relative to the front window, if that window has remained the front window and retained its size and position for some time.  Note that for short time after recording, you can change the relative field in the action, ​and the values will update to appropriate values. 
 + 
 +==== Conflict Palette ==== 
 + 
 +You can have the conflict palette use sequential hot keys from the first letter ​with:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine ​MaxTapDownTime ​-float 1.0 +defaults write com.stairways.keyboardmaestro.engine ​SequentialConflictPalette ​-bool YES
-defaults write com.stairways.keyboardmaestro.engine MaxTapUpTime -float 1.0+
 </​code>​ </​code>​
  
Line 313: Line 432:
 defaults write com.stairways.keyboardmaestro.engine RecordedClickRestoresMouseLocation -bool NO defaults write com.stairways.keyboardmaestro.engine RecordedClickRestoresMouseLocation -bool NO
 </​code>​ </​code>​
 +
 +==== Notifications ====
  
 You can control which notifications are displayed with: You can control which notifications are displayed with:
Line 323: Line 444:
 defaults write com.stairways.keyboardmaestro.engine "​Notification-ReceivedClipboard"​ -bool YES defaults write com.stairways.keyboardmaestro.engine "​Notification-ReceivedClipboard"​ -bool YES
 </​code>​ </​code>​
 +
 +==== Software Updates ====
  
 You can have new versions reported only when the editor activates with: You can have new versions reported only when the editor activates with:
Line 329: Line 452:
 defaults write com.stairways.keyboardmaestro.engine ReportUpdatesWhenEditorActivates -bool YES defaults write com.stairways.keyboardmaestro.engine ReportUpdatesWhenEditorActivates -bool YES
 </​code>​ </​code>​
 +
 +==== Prompt With List Show All Limit ====
 +
 +
 +You can set the limit for the maximum number of items shown by default in the [[action:​Prompt_With_List|Prompt With List]] action with:
 +
 +<code bash>
 +defaults write com.stairways.keyboardmaestro.engine PromptWithListShowAllLimit -int 100
 +</​code>​
 +
 +When there is more items than this in the list, by default the action will not show the items as the list may be too long to be practical.
 +
 +==== WebKit Inspector for HTML Prompt ====
  
 You can enable the WebKit inspector with: You can enable the WebKit inspector with:
Line 348: Line 484:
 The style includes 3 or 6 HSB colors (being background, text, highlighted letter, selected background, selected text, selected highlight letter) each specified as hue,​saturation,​brightness. ​ The background brightness is dropped by 33%, but if there are only three colors, then the selected background color is the background without the 33% drop.  You can select the Custom style in the Theme Editor. The style includes 3 or 6 HSB colors (being background, text, highlighted letter, selected background, selected text, selected highlight letter) each specified as hue,​saturation,​brightness. ​ The background brightness is dropped by 33%, but if there are only three colors, then the selected background color is the background without the 33% drop.  You can select the Custom style in the Theme Editor.
  
-Alternatively ​(v9.0+), you can specify the theme using JSON and including all the details for the theme including optional gradients. ​ The format is:+Alternatively,​ you can specify the theme using JSON and including all the details for the theme including optional gradients. ​ The format is:
  
     {      { 
Line 387: Line 523:
  }'  }'
  
-NoteL the “-string” is important - otherwise the `defaults` command will interpret the JSON itself and that will not work.+Note that the “-string” is important - otherwise the `defaults` command will interpret the JSON itself and that will not work.
manual/Preferences.1582252972.txt.gz · Last modified: 2020/02/20 21:42 by peternlewis