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 [2019/06/06 03:02]
peternlewis MaxKeyRepeatTime
manual:Preferences [2020/10/23 02:11] (current)
peternlewis Ignored Clipboard Flavors
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 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.
Line 72: Line 73:
  
 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 =====
  
 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]].
  
 ===== Excluded Preferences ===== ===== Excluded Preferences =====
Line 85: Line 90:
 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 =====+===== 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.
  
-You can set the maximum number of items in the clipboard history (default 200)+==== Editor ==== 
 + 
 +You can adjust ​the get mouse location delay with:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine MaxClipboardHistory ​-int 200+defaults write com.stairways.keyboardmaestro.editor MouseGetCountdown ​-int 5
 </​code>​ </​code>​
  
-You can set the maximum position ​of concealed (password) items in the clipboard history (default 10)+You can adjust ​the spelling ​of Favorites with:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine MaxConcealedPosition ​-int 10+defaults write com.stairways.keyboardmaestro.editor FavoritesDisplayName -string "​Favourites"​ 
 +</​code>​ 
 + 
 +You can turn off automatic completion (autocomplete) with: 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.editor AutomaticCompletion -bool NO 
 +</​code>​ 
 + 
 +You can limit the maximum undo stack size in the editor with (default 200MB): 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.editor MaximumUndoSize ​-int 200000000 
 +</​code>​ 
 + 
 +You can add some custom styling to the detail view displays with: 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.editor DetailDisplayExtraStyle -string '​div.ActionComment div.UserText { font-family:"​Monaco";​ }' 
 +</​code>​ 
 + 
 +You can set your preferred first day of the week (1=Sunday, 7=Saturday):​ 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.editor FirstDayOfWeek -int 2 
 +</​code>​ 
 + 
 +You can disable all animation in the editor with: 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.editor DisableAnimation -bool YES 
 +</​code>​ 
 + 
 +You can configure the fonts used for the various action text views with: 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.editor Font-Normal -string "​Monaco"​ 
 +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-JavaScript -string "​SYSTEM"​ 
 +defaults write com.stairways.keyboardmaestro.editor Font-Swift -string "​Times"​ 
 +defaults write com.stairways.keyboardmaestro.editor Font-HTML -string "​Courier:​25"​ 
 +defaults write com.stairways.keyboardmaestro.editor Font-JSON -string "​Marker Felt:10
 +defaults write com.stairways.keyboardmaestro.editor Font-Comment -string "​Palatino:​20"​ 
 +</​code>​ 
 + 
 +The value of this field can be one of “USER”, “FIXED” or “SYSTEM” (for the default user, fixed and system fonts), or a font name.  This can optionally be followed by a colon and the point size.  The default point size is 13.  The font size is scaled based on the Large Text setting, and this size is used for the //Normal// setting. 
 + 
 + 
 +==== Clipboard ==== 
 + 
 +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> 
 +defaults write com.stairways.keyboardmaestro.engine MaxClipboardHistory -int 200
 </​code>​ </​code>​
  
-You can set the maximum clipboard flavor size (default 100MB)+**Maximum Clipboard Flavor Size** ​(default 100MB)
  
 <code bash> <code bash>
Line 107: Line 172:
 </​code>​ </​code>​
  
-You can set a regular expression which matches text you think should ​or should not be concealed ​as passwords.+**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> 
 +defaults write com.stairways.keyboardmaestro.engine MaxConcealedPosition -int 10 
 +</​code>​ 
 + 
 +**Regular Expression Which Matches Text You Think Should ​or Should Not Be Concealed ​as Passwords**
  
 <code bash> <code bash>
Line 113: Line 196:
 defaults write com.stairways.keyboardmaestro.engine LooksLikeNotPassword -string "​^[a-zA-Z0-9]+$"​ defaults write com.stairways.keyboardmaestro.engine LooksLikeNotPassword -string "​^[a-zA-Z0-9]+$"​
 </​code>​ </​code>​
 +
 +**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 (v9.0+) excludes PDF flavors from clipboards copied in Microsoft applications by default, but you can turn this off with:**
 +
 +<code bash>
 +defaults write com.stairways.keyboardmaestro.engine ExcludeMicrosoftPDFFlavor -bool NO
 +</​code>​
 +
 +**Include Microsoft Image Formats**
 +
 +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:**
 +
 +<code bash>
 +defaults write com.stairways.keyboardmaestro.engine ExcludeMultipleImageFlavors -bool NO
 +</​code>​
 +
 +==== 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 120: Line 221:
 </​code>​ </​code>​
  
-You can set the AppleScript name of the Safari ​application, as well as the name of the Safari browser shown in applications:​+==== Safari 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 133: Line 240:
 </​code>​ </​code>​
  
-Similarly for Google ​Chrome:+==== Chrome ​Browser Used in Actions & Tokens ==== 
 + 
 +**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 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.+**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>​ 
 + 
 + 
 + 
 +==== Engine Animation ==== 
 + 
 +You can disable all animation in the engine with: 
 + 
 +<code bash> 
 +defaults write com.stairways.keyboardmaestro.engine DisableAnimation -bool YES 
 +</​code>​ 
 + 
 +==== Typed String Buffer ====
  
 You can disable Shift-Space from clearing the Typed String buffer You can disable Shift-Space from clearing the Typed String buffer
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine ​TypedStringResetWithShiftSpace ​-bool NO+defaults write com.stairways.keyboardmaestro.engine ​TypedStringClearWithShiftSpace ​-bool NO
 </​code>​ </​code>​
  
Line 160: Line 294:
 </​code>​ </​code>​
  
-You can set the maximum key down trigger time for Hot Key triggers (default 10 seconds)+==== 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
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine ​MaxKeyRepeatTime ​-float 10.0+defaults write com.stairways.keyboardmaestro.engine ​ForceInsertTextByTypingToUseUnicode ​-bool YES
 </​code>​ </​code>​
  
-You can disable all animation in the editor with:+==== Hot Key Triggers ==== 
 + 
 +You can set the maximum key down trigger time for Hot Key triggers (default 10 seconds)
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.editor DisableAnimation ​-bool YES+defaults write com.stairways.keyboardmaestro.engine MaxKeyRepeatTime ​-float 10.0
 </​code>​ </​code>​
  
-or the engine ​with:+You can configure ​the timing of a "​tap"​ (Hot Key and USB Device Key triggers) ​with:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine ​DisableAnimation ​-bool YES+defaults write com.stairways.keyboardmaestro.engine ​MaxTapDownTime ​-float 1.0 
 +defaults write com.stairways.keyboardmaestro.engine MaxTapUpTime -float 1.0
 </​code>​ </​code>​
 +
 +==== Sounds ====
  
 You can silence the clipboard transfer sounds with: You can silence the clipboard transfer sounds with:
Line 189: Line 330:
 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 198: Line 341:
 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 adjust the get mouse location delay with:+You can have all recorded clicks recorded in absolute coordinates by default ​with:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.editor MouseGetCountdown ​-int 5+defaults write com.stairways.keyboardmaestro.engine AlwaysRecordAbsoluteClicks ​-bool YEA
 </​code>​ </​code>​
 +
 +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 a 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: You can have the conflict palette use sequential hot keys from the first letter with:
Line 208: Line 355:
 <code bash> <code bash>
 defaults write com.stairways.keyboardmaestro.engine SequentialConflictPalette -bool YES defaults write com.stairways.keyboardmaestro.engine SequentialConflictPalette -bool YES
-</​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>​ </​code>​
  
Line 232: Line 372:
 defaults write com.stairways.keyboardmaestro.engine DisplayLargeTextDisplayPeriod -float 5.0 defaults write com.stairways.keyboardmaestro.engine DisplayLargeTextDisplayPeriod -float 5.0
 </​code>​ </​code>​
- 
-You can configure a custom palette theme color style with: 
- 
-<code bash> 
-defaults write com.stairways.keyboardmaestro.engine CustomPaletteTheme -string "​0,​90,​74,​ 110,90,74, 256,​90,​74"​ 
-</​code>​ 
- 
-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. 
  
 By default recorded clicks do not restore the mouse location, but you can change that with: By default recorded clicks do not restore the mouse location, but you can change that with:
Line 246: Line 378:
 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 256: Line 390:
 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 263: Line 399:
 </​code>​ </​code>​
  
-You can adjust ​the spelling of Favorites ​with:+==== WebKit Inspector for HTML Prompt ==== 
 + 
 +You can enable ​the WebKit inspector ​with:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.editor FavoritesDisplayName ​-string "​Favourites"​+defaults write com.stairways.keyboardmaestro.engine WebKitDeveloperExtras ​-bool YES
 </​code>​ </​code>​
  
-You can turn off automatic completion (autocomplete) with:+Then you can control-click on elements and use Inspect Element and get an inspector window, including a Console tab.
  
-<code bash> +==== Custom Palette Theme ====
-defaults write com.stairways.keyboardmaestro.editor AutomaticCompletion -bool NO +
-</​code>​+
  
-You can limit the maximum undo stack size in the editor ​with (default 200MB):+You can configure a custom palette theme color style with:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.editor MaximumUndoSize ​-int 200000000+defaults write com.stairways.keyboardmaestro.engine CustomPaletteTheme ​-string "​0,​90,​74,​ 110,90,74, 256,​90,​74"​
 </​code>​ </​code>​
  
-You can add some custom styling to the detail view displays with:+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.
  
-<code bash> +Alternatively (v9.0+), you can specify the theme using JSON and including all the details for the theme including optional gradients The format is:
-defaults write com.stairways.keyboardmaestro.editor DetailDisplayExtraStyle -string '​div.ActionComment div.UserText { font-family:"​Monaco";​ }' +
-</​code>​+
  
-You can set your preferred first day of the week (1=Sunday7=Saturday):+    {  
 +        "​IncludeTexture":<​BOOLEAN>​, 
 +        "​TitleBackground"​:<​COLORorGRADIENT>,​ 
 +        "​TitleBorder":<​COLORorGRADIENT>,​ 
 +        "​BodyBackground":<​COLORorGRADIENT>,​ 
 +        "​BodyBackgroundSelected":<​COLORorGRADIENT>,​ 
 +        "​Frame":<​COLOR>,​ 
 +        "​TitleText":<​COLOR>,​ 
 +        "​Text":<​COLOR>,​ 
 +        "​TextHighlighted":<​COLOR>,​ 
 +        "​TextSelected":<​COLOR>,​ 
 +        "​TextSelectedHighlighted":<​COLOR>,​ 
 +    }
  
-<code bash+^ Type ^ Value ^ 
-defaults write com.stairways.keyboardmaestro.editor FirstDayOfWeek ​-int 2 +<BOOLEAN| “true” or “false” | 
-</code>+| <​COLOR>​ | an array of three numbers, being hue (0-360), saturation (0-100), and brightness (0-100) | 
 +<COLORorGRADIENT>​ | either a <​COLOR>​ or a dictionary {"​c1":<​COLOR>,​ "​c2":<​COLOR>,​ "​angle":<​0-360>} |
  
-You can enable ​the WebKit inspector with:+IncludeTexture specifies whether Keyboard Maestro includes ​the subtle mottling texture on the main background.
  
-<code bash> +For example:
-defaults write com.stairways.keyboardmaestro.engine WebKitDeveloperExtras -bool YES +
-</​code>​+
  
-Then you can control-click on elements and use Inspect Element and get an inspector windowincluding a Console tab.+ defaults write com.stairways.keyboardmaestro.engine CustomPaletteTheme ​-string '{  
 + "​IncludeTexture":​false, 
 + "​TitleBackground":​{"​c1"​ : [180,​30,​53],​ "​c2"​ : [180,​30,​40],​ "​angle":​270},​ 
 + "​TitleBorder":​[180,​30,​40],​ 
 + "​BodyBackground":​{"​c1"​ : [180,​30,​50],​ "​c2"​ : [180,​30,​38],​ "​angle":​270},​ 
 + "​BodyBackgroundSelected":​[180,​30,​60],​ 
 + "​Frame":​[180,​30,​40],​ 
 + "​TitleText":​[180,​40,​92],​ 
 + "​Text":​[180,​40,​92],​ 
 + "​TextHighlighted":​[180,​40,​70],​ 
 + "​TextSelected":​[180,​40,​98],​ 
 + "​TextSelectedHighlighted":​[180,​40,​75],​ 
 + }' 
 + 
 +NoteL the “-string” is important - otherwise the `defaults` command will interpret the JSON itself and that will not work.
manual/Preferences.1559804546.txt.gz · Last modified: 2019/06/06 03:02 by peternlewis