Keyboard Maestro 10.0

Keyboard Maestro version 10 is out now, adding support for showing information in the menu bar, customizable favorite actions, OCRing selected areas, Paste by Name, Subroutines, enhanced form input, exporting to Text Services and Finder Quick Actions, and more.

This version is dedicated to Jim Underwood (JMichaelTX), who sadly passed away this year, with thanks for his outstanding assistance and generosity on the forum, spending thousands of hours helping folks get more out of Keyboard Maestro. He will be sorely missed.

Keyboard Maestro 10 is a free upgrade if you purchased from us after March 1, 2021, and a paid upgrade if you purchased before then. Customers will be emailed the upgrade license or discounted upgrade details over the next few days or you can find your details at https://enquiry.stairways.com/.

Keyboard Maestro is not a subscription, so you are under no obligation to upgrade if the new features do not add value for you.

Version 10 adds support for showing information in the menu bar including dynamic icon and text, with dynamic menus of macros that can be triggered easily.

A new Paste by Name facility allows you to quickly paste text straight from your clipboard history. The more comprehensive Clipboard History window has also been enhanced to include more information like word and line count, and additional options for setting the clipboard or pasting plain text.

Version 10 has a new action that allows you to select an area on the screen, and combining that with the OCR facilities allows you to OCR any area on the screen.

The editor is enhanced with the ability to save favorite actions, preconfigured with your choice of values, colors, and other settings. There is also a new Select Macro by Name command to quickly change to a specified macro, search fields in long insertion menus, control over evaluating condition results in real time, a menu item to select the last failed action, easy ways to go to a macro that calls the current macro and much more.

This version adds the concept of Subroutines, allowing you to pass multiple parameters to a macro to perform tasks shared by multiple macros and a Return action to return information back to the calling macro. There is also a new Try/Catch action to allow more complex error handling.

The Prompt for User Input action has added a bunch of new field types, like color and date selection.

And you can now export a macro as a Text Service or a Finder Quick Action to have the macro operate on selected text or the selected files.

The debugger now lets you jump straight to the action in question, and shows the value of recently accessed variables.

Changed in 10.0:

  • Require macOS 10.13
  • Editor:
    • Added configurable Favorite Actions. (forum) (forum)
    • Added Select Macro by Name, as well as This Macro and This Macro Group options to the macro selector popup. (forum)
    • Added search field to macro selector popup.
    • Added Evaluate Condition Results option.
    • Disable Evaluate Condition Results after action or safe macro import.
    • Support dragging a .kmactions file in to an action list should import the actions.
    • Add Get functionality to Area selection for various actions like Move & Resize Window and Capture Screen.
    • Used new Prompt for Screen Rectangle for Get facility of Mouse Click action.
    • Added OCR Screen and Paste by Name to the Macro Library.
    • Added search field to Insert All Actions, All Functions, All Tokens, and Variables menus.
    • Added Select Last Aborted Action menu item.
    • Added Or by Execute Macro to macros editor listing the Execute a Macro actions referring to this macro. (forum)
    • Added Cut, Copy & Delete to contextual menu for Macro Group and Macro columns.
    • Added Copy as Execute a Macro, Set Macro Enable and Mark Macro actions to contextual menu for Macro column.
    • Added Copy as Set Macro Group Enable and Toggle Macro Group actions to contextual menu for Macro Group column.
    • Added Paste to the No Action drag target contextual menu when the clipboard contains actions.
    • Support double-clicking dividers in the editor window to set ideal size.
    • Support control-up/down arrow in action lists to move actions up/down. Also command-control for top/bottom. (forum)
    • Support shift-insert action to insert the action above the current selection. (forum)
    • Added Edit ➤ Insert ICU Date Field menu to insert the various ICU Date components.
    • Added Edit ➤ Insert ICU Date Field By Name (^D) to insert the various ICU Date components by name.
    • Added File ➤ Export as Folder and Export All Macros as Folder to export macros as individual files.
    • Support tapping modifiers in editor search field to insert modifier symbol.
    • Added Sort Macros by Enabled.
    • Added Sort Macros by Size.
    • Added size to Macro Inspector.
    • Added “size:10000” to search filter.
    • Added “And 99 Filtered Macros” pseudo macro entry to Macros column when some macros are filtered by the search field.
    • Added warning on Cancel All Macros, Cancel This Macro, Retry Loop, etc actions if it is not the last action of a sequence.
  • Engine:
    • Added support for manipulating Keyboard Maestro Engine windows.
    • Added Set Next Engine Window Position action.
    • Option-double-click (or option-Return) in Clipboard History Switcher just sets the clipboard.
    • Ignore the option key when switching applications in the Applications Switcher if the option key is used in the trigger.
    • Added option to include Macro Groups in the status menu bar. (forum)
      • Updating icons and title.
      • Updating information in the menu.
      • Executing on selection or automatically when the menu is displayed.
      • Added Group Status Menu trigger.
  • Subroutines
    • Added Subroutine trigger which defined parameters to be passed to the macro.
    • Added Execute a Subroutine action to execute a macro, passing it parameters.
    • Added Return action to return a value from subroutine macros.
  • Triggers:
    • Added Unlock trigger. (forum)
    • Added Appearance Changed trigger. (forum)
    • Added Power Status Changed trigger.
    • Added “long press” option for Hot Key and USB Device Key triggers.
    • Disallow adding duplicate redundant triggers (like two Power Status Changed triggers).
  • Actions:
    • Added Paste by Name action giving Spotlight-like search of clipboard history.
    • Added Prompt for Screen Rectangle/Location.
    • Added Try/Catch and Throw actions. (forum) (forum)
    • Added Display Progress action.
    • Added Display Progress option to For Each action.
    • Added a Pause Until Change action to detect clipboard, modifiers, keyboard, mouse, or application changes.
    • Added Create Unique File action.
    • Added additional field types to the Prompt for User Input action:
      • Added Date, Time and Date & Time picker fields.
      • Added Slider fields.
      • Added Color Well fields.
    • Remove “Instance ” and “Local ” from variable names in Prompt For User Input form.
    • Added icon chooser selection to Set File Icon and Set Clipboard to Image and other actions.
    • Added support for selecting multiple files or folders in the Prompt For File action. (forum)
    • Added support for creating the folder when selecting a new folder in the Prompt For File action.
    • Added separated by option to Substrings In collection. (forum)
    • Added option to control text processing of input text for a variety of actions. (forum)
    • Added option to Search & Replace to replace only the first or last match. (forum)
    • Added option to control volume of Speak Text action. (forum)
    • Added a variety of macro environment variables (eg KMINFO_TriggerValue) to the Execute Shell Script action.
    • Added a calculation option to Switch and other actions.
    • An Assert action with an empty condition now always asserts.
  • Filters:
    • Added Filter Sort, Reverse and Shuffle Lines. (forum)
    • Added Filter Escape for Regular Expression.
    • Added Filter Quote for JSON.
    • Added Filter URL components such as scheme, host and path. (forum)
    • Added Filter Encode & Decode Base64.
    • Added Filter Encode HTML With Numeric Entities.
    • Added Filter Calculate MD5.
    • Updated to the latest of John Gruber & Aristotle Pagaltzis Title Case, and internalized it to remove perl dependency.
  • Tokens:
    • Added LastWindowID token.
    • Added PromptWithListText token.
    • Added PasteByNameText token.
    • Added UserHome token.
    • Added FinderSelections and FinderSelection tokens.
    • Added AccessedVariables token.
  • Functions:
    • Added DOUBLECLICKINTERVAL, KEYREPEATDELAY, KEYREPEATINTERVAL functions.
    • Added SCREENINDEX function that returns the index of the specified screen.
  • Clipboard History:
    • Added Characters / Words / Lines count to Clipboard History Switcher.
    • Adjusted Clipboard History numbering to match Past Clipboard action.
    • Added Command-Control/Option/Shift-numbers to Clipboard History to Paste or Set optionally plain clipboards.
  • Custom HTML Prompt:
    • Added ProcessAppleScript command to Custom HTML Prompt.
    • Added option to turn off title bar on Custom HTML Prompt window. (forum)
    • Added option to make Custom HTML Prompt window transparent. (forum)
    • Added context sensitive WINDOW function for Custom HTML Prompt window resizing operations.
  • Debugger:
    • Added a button in the debugger to edit the macro action. (forum)
    • Added display of recently accessed variables in the debugger. (forum) (forum)
  • AppleScript:
    • Added support for getting and setting the Display in Menu Bar Macro Group settings via AppleScript.
    • Added “xml” AppleScript property for macros, macro groups and smart groups. (forum)
    • Added “group xml” AppleScript property for macro groups.
    • Added “last used” AppleScript property for macros. (forum)
    • Added “modification date” AppleScript property for macro groups and smart groups.
    • Added AppleScript support to the editor for showing preference panes.
    • Added support for AppleScript “edit” command, eg “edit macro 1”.
    • Added support for AppleScript to get/set the editing property of an editor window.
    • Added option to Search & Replace to replace only the first or last match.
    • Added instance parameter to process tokens and calculate commands.
    • Added selectAction command to select a specific action by id.
    • Added divider1 and divider2 properties to the editor window.
    • Added size property to Macro Groups and Macros.
  • Minor:
    • Added SF Symbols to Icon Chooser (11.0+)
    • Added Export as Text Service.
    • Added Export as Finder Quick Action.
    • Show notification when the launching editor quits the engine.
    • Excluded com.microsoft.ole.source..* flavors from clipboard for better Microsoft compatibility.
    • Adjusted Copy action to note clipboard changes even if the clipboard is not read. (forum)
    • Adjusted VoiceOver to speak marked status in palette entries. (forum)
    • Use ENV_PWD to set the current working directory for shell scripts. (forum)
    • Improved the Share to Forum sheet. (forum)
    • Support longer variable names in Prompt For User Input when they will fit under the icon.
    • Support formatting AppelScript and JavaScript conditions.
    • Support shift arrow selection in Prompt With List (Multiple Selections). (forum)
    • Converted use of WebView to WKWebView
    • Improved appearance of Preferences toolbar in Big Sur.
    • Improved display of CALCULATE function when the contents are potentially valid.
    • Support Return/Enter as a keystroke for the :leftwards_arrow_with_hook: character in the Conflict Palette. (forum)
    • Added Audio Input and Camera entitlements to the Engine (to allow their use via scripts etc).
    • Added Restore Excluded Application entry to Applications Palette contextual menu.
    • Added Tooltips for Palettes. (forum) (forum)
    • Added AdditionalWebBrowserBundleIDs preference to add alternative bundle IDs for front browser list.
    • Allow Microsoft Edge as a possible Front Browser Chrome-equivalent.
    • Allow Spotlight-like windows to be movable.
    • Adjusted the hit boxes for various application and macro popup menus. (forum)
    • Report lack of Screen Recording permission when that stops an action from working.
    • Better reporting of lack of Screen Reporting errors in Find Image and Click Mouse actions.
    • Added control over OCR Image behaviour when the action fails.
    • The Macro Group macros in the Global Macro Palette use the Macro Group’s custom icon if any.
    • Prompt For User Input no longder displays hidden fields in non-edit mode. (forum)
    • Switched to CWWiFiClient for Wireless Network trigger, token and conditions.
    • Display some editor alerts within the editor window.
    • Display some logged error messages more prominently.
    • Display time trigger time in localized format in non-edit mode.
    • Avoid logging repeated errors.
    • Adjusted Write File to fail rather than trash a folder that will be replaced with a file. (forum)
    • Only report large variables excluded from environment every ten minutes.
    • Added appropriate window titles (visible via AppleScript/accessibility) to the various “By Name” windows. (forum)
    • Avoid selecting the macro/group name when deleting macro/groups.
    • Added action id to failed action log message. (forum)
    • Added a few more default status menu icon options.
    • Added additional protections for the Write File action.
    • Use pmset displaysleepnow to sleep the display on 11.0+, which works on M1 Macs.
    • Fixed Add Variable/Function/Token/Date Field by Name in Value Inspector.
    • Fixed activation of windows so you can use the Clipboard Switcher to paste in to other Keyboard Maestro Engine windows.
    • Fixed a bug enabling the Send button in the Report Bugs form (irony).
    • Fixed width of Trigger Macro by Name and other Spotlight-like windows in Big Sur. (forum)
    • Fixed Paste XML actions. (forum).
    • Fixed an issue with Prompt For User Input and long variable names. (forum).
    • Fixed an issue with a couple actions not saving changes when a token was selected.
    • Fixed an issue with file references to images that included non-ASCII characters.
    • Improve accessibility of editor toolbar buttons.
    • Fixed Login Window action in Big Sur (CGSession no longer exists).
    • Fixed a display issue for popup menus in Plug In Actions. (forum)
    • Fixed Trim Image to keep the full resolution and DPI.
    • Fixed a potential crash with the Reveal a File action.
    • Fixed an issue related to ^ in the Substrings In collection. (forum)
    • Fixed an issue where renaming a macro via the contextual menu would not scroll the name field in to view.
    • Fixed an issue with Search and Replace matching multiple times at the end of the string. (forum).
    • Fixed an issue where the engine might not be notified of macro changes if the editor is quit immediately after making the change.
29 Likes