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
Next revision Both sides next revision
manual:Preferences [2017/11/06 04:01]
peternlewis [General Preferences]
manual:Preferences [2020/02/25 23:43]
peternlewis AlwaysRecordAbsoluteClicks
Line 13: Line 13:
 * enable or disable launching the Keyboard~~Maestro~~Engine at Login. * enable or disable launching the Keyboard~~Maestro~~Engine at Login.
 * enable or disable macro syncing. * enable or disable macro syncing.
 +* 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 26: Line 28:
 ===== Palettes Preferences ===== ===== Palettes Preferences =====
  
-In the [[Windows#​Preferences_Palettes_Pane|Palettes preference pane]] you can adjust the style of the default palette, the Global Macro Palette, and the Conflict Palette.+In the [[Windows#​Preferences_Palettes_Pane|Palettes preference pane]] you can adjust the style of the default palette, the Global Macro Palette, the [[Applications_Palette|Applications Palette]], and the Conflict Palette.
  
 You can configure the Conflict Palette to be placed under the mouse or to have it remain where you place it. You can configure the Conflict Palette to be placed under the mouse or to have it remain where you place it.
Line 71: 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 =====
  
 In the [[Windows#​Preferences_Exclude_Pane|Excluded preference pane]] you can add and remove applications from the global excluded applications list.  Excluded applications will not be shown in the Application~~Switcher,​ and are (optionally) not hidden or quit by the Hide All Applications or Quit All Applications actions. In the [[Windows#​Preferences_Exclude_Pane|Excluded preference pane]] you can add and remove applications from the global excluded applications list.  Excluded applications will not be shown in the Application~~Switcher,​ and are (optionally) not hidden or quit by the Hide All Applications or Quit All Applications actions.
 +
 +You can add and remove applications from the [[Applications_Palette|Applications Palette]] exclusion list.  Excluded applications will not appear in the Applications Palette. ​ You can also exclude applications by control or right clicking on them in the Applications Palette and selecting *Exclude from Applications Palette*.
  
 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 ===== ===== Other Hidden Preferences =====
  
 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.
 +
 +==== Editor ====
 +
 +You can adjust the get mouse location delay with:
 +
 +<code bash>
 +defaults write com.stairways.keyboardmaestro.editor MouseGetCountdown -int 5
 +</​code>​
 +
 +You can adjust the spelling of Favorites with:
 +
 +<code bash>
 +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 ====
  
 You can set the maximum number of items in the clipboard history (default 200) You can set the maximum number of items in the clipboard history (default 200)
Line 89: Line 160:
 <code bash> <code bash>
 defaults write com.stairways.keyboardmaestro.engine MaxClipboardHistory -int 200 defaults write com.stairways.keyboardmaestro.engine MaxClipboardHistory -int 200
 +</​code>​
 +
 +You can set the maximum clipboard flavor size (default 100MB)
 +
 +<code bash>
 +defaults write com.stairways.keyboardmaestro.engine ClipboardFlavorMaximumSize -int 100000000
 </​code>​ </​code>​
  
Line 97: Line 174:
 </​code>​ </​code>​
  
-You can set the maximum clipboard flavor size (default 100MB)+You can set a regular expression which matches text you think should or should not be concealed as passwords.
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine ​ClipboardFlavorMaximumSize ​-int 100000000+defaults write com.stairways.keyboardmaestro.engine ​LooksLikePassword ​-string "​^[a-zA-Z0-9]+$"​ 
 +defaults write com.stairways.keyboardmaestro.engine LooksLikeNotPassword -string "​^[a-zA-Z0-9]+$"​
 </​code>​ </​code>​
  
-You can set regular expression which matches text you think should or should not be concealed as passwords.+Microsoft applications include ​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> <code bash>
-defaults write com.stairways.keyboardmaestro.engine ​LooksLikePassword "^[a-zA-Z0-9]+$"​ +defaults write com.stairways.keyboardmaestro.engine ​ExcludeMicrosoftPDFFlavor ​-bool NO
-defaults write com.stairways.keyboardmaestro.engine LooksLikeNotPassword "​^[a-zA-Z0-9]+$"​+
 </​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:
 +
 +<code bash>
 +defaults write com.stairways.keyboardmaestro.engine ExcludeMultipleImageFlavors -bool NO
 +</​code>​
 +
 +==== Engine ====
  
 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
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine OSAScriptCommand "/​usr/​bin/​arch -i386 /​usr/​bin/​osascript"​+defaults write com.stairways.keyboardmaestro.engine OSAScriptCommand ​-string ​"/​usr/​bin/​arch -i386 /​usr/​bin/​osascript"​
 </​code>​ </​code>​
  
Line 119: Line 204:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine AppleScriptSafariBundleID "​com.apple.SafariTechnologyPreview"​ +defaults write com.stairways.keyboardmaestro.engine AppleScriptSafariBundleID ​-string ​"​com.apple.SafariTechnologyPreview"​ 
-defaults write com.stairways.keyboardmaestro.engine BrowserSafariName "​Safari Tech"+defaults write com.stairways.keyboardmaestro.engine BrowserSafariName ​-string ​"​Safari Tech"
 </​code>​ </​code>​
  
Line 126: Line 211:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine AppleScriptSafariName "​com.apple.Safari"​+defaults write com.stairways.keyboardmaestro.engine AppleScriptSafariName ​-string ​"​com.apple.Safari"​
 </​code>​ </​code>​
  
Line 132: Line 217:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.engine AppleScriptGoogleChromeBundleID "​com.google.Chrome.canary"​ +defaults write com.stairways.keyboardmaestro.engine AppleScriptGoogleChromeBundleID ​-string ​"​com.google.Chrome.canary"​ 
-defaults write com.stairways.keyboardmaestro.engine BrowserGoogleChromeName "​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. 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.
 +
 +You can disable all animation in the engine with:
 +
 +<code bash>
 +defaults write com.stairways.keyboardmaestro.engine DisableAnimation -bool YES
 +</​code>​
  
 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 156: Line 247:
 </​code>​ </​code>​
  
-You can disable all animation in the editor with:+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.editor DisableAnimation ​-bool YES+defaults write com.stairways.keyboardmaestro.engine ForceInsertTextByTypingToUseUnicode ​-bool YES
 </​code>​ </​code>​
  
-or the engine with:+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.engine ​DisableAnimation ​-bool YES+defaults write com.stairways.keyboardmaestro.engine ​MaxKeyRepeatTime ​-float 10.0
 </​code>​ </​code>​
  
Line 188: Line 279:
 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.
  
 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 222: Line 315:
 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 "​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 253: Line 338:
 </​code>​ </​code>​
  
-You can adjust ​the spelling of Favorites ​with:+You can enable ​the WebKit inspector ​with:
  
 <code bash> <code bash>
-defaults write com.stairways.keyboardmaestro.editor FavoritesDisplayName "​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 TRUE +
-</​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.txt · Last modified: 2023/11/07 00:14 by peternlewis