Keyboard Maestro

Licence: Shareware ($36)
Version 7.0 | Release Date: 2015-07-22 | Download

Version 7 refines the editor in a variety of ways, adding autocomplete, inserting actions by name, coloring and renaming actions, integrated access to the wiki help, macro triggering and modification history and much more.

Version 7 continues the long tradition of putting more power at your finger tips, allowing macros to be specific to particular windows, adding window, folder and clipboard changed triggers, support for double and triple tap hot key triggers, and a new sleep trigger.

With the new version, you can now customise your Macro Palettes (Toolbars) in a wide range of colors and styles to suit your needs or preferences.

And, of course, version 7 lets you do even more, adding a new Custom HTML Form action, Switch/Case statements, a Group action, simulating hardware keys and modifiers, support for press-and-hold of buttons, keys and modifiers. Version 7 embraces Swift and JavaScript for Automation (JXA), adding support for executing those scripts and using them in conditions.

The already powerful Found Image facilities are enhanced further by allowing control over where on the screen to look for the image.

Watch the What's New Video on the home page to see some of the new features.

With over a hundred other improvements, there is bound to be something for everyone.

Keyboard Maestro 7.0 requires OS X Yosemite 10.10.3 or later.

Editor Improvements
* Added Smart Groups.
* Added Insert Action by Name.
* Added autocomplete of text tokens, functions, variables and search tokens.
* Added Insert Action menu to Edit menu.
* Added disclosure folding for sub-action lists.
* Added action menu and contextual menu to macro actions.
* Added option to rename actions.
* Added color option to actions.
* Added note option to actions.
* Added control over Abort on Failure of actions.
* Added control over Notification on Failure of actions.
* Added Sort by Date Created; Use Count; Time Saved.
* Added Paste Above to action/contextual menu.
* Added Help link to action/contextual menu.
* Added Help link when option-selecting triggers/actions/functions/tokens/collections/conditions.
* Added status line below Macro Groups and Macro columns.
* Added Get/Go buttons to Mouse Click action.
* Added Macro Inspector window.
* Added Mouse Display window.
* Added Share button to main editor window.
* Share macros or actions directly to the forum.
* Added Import/Export of sets of actions.
* Changed search in editor to support words and quoted phrases.
* Changed search to support group:, app:, universal:, all:, enabled:.
* Highlight found triggers and actions in editor.
* Changed error display to only orange if the issue is an invalid variable value.
* Used/Backward/Forward/History macro history buttons.
* Improved display of toggle buttons (eg Modifiers/Days of the Week).
* Honor user's locale setting for First Day of the Week.
* Require Command-Delete to delete Macros Groups and Macro Groups.
* Added Deselect All in the Edit menu.
* Added Enter Action and Parent Action in the Edit menu.
* Single click on a selected item deselects other items.
* Sort the trigger list, conditions list and collection list.
* Limited the size of the Undo stack in the editor.
* Changed Insert Token and Function menus to be hierarchical.
* Add an "All Macros" entry in the macro selector popup macro.
* If you delete a macro, macro group or action, the following item is selected.

Themed Palette Styles
* Lots of different color styles.
* Control style, size, columns, opacity.
* Control whether the icon, text or trigger is shown.
* Control whether the palette shrinks to an icon when not in use.

Macro Additions
* Added Macro Groups available in Focussed Window Macro Group targeting.
* Added Macro Groups available when applications are or are not running.
* Added Focussed Window Changed Trigger.
* Added Folder Changed Trigger.
* Added Clipboard Changed Trigger.
* Added Sleep Trigger.
* Added support for double tap, triple tap, etc, Hot Key triggers.
* Added support for double tap, triple tap, etc, Device Key triggers.
* Added Custom HTML Prompt action.
* Added Switch/Case Action.
* Added Group Action.
* Added Execute Javascript for Automation (JXA) action.
* Added Execute Swift Script action.
* Added Simulate Hardware Key action.
* Added Type Modifier Key action.
* Added Set Action Delay action to control various speeds.
* Added Mark Macro action to mark/unmark status menu and palette icons.
* Added option to Press and Hold/Repeat keys, modifiers or hardware keys.
* Added option to Press and Hold mouse buttons.
* Added Swift and Javascript for Automation to Script Condition.
* Added Found Image on Screen collection to For Each action.
* Added explicit Area option to Screen Capture action.
* Added Screen Area limits for Found Image searches.
* Added Any Window Title condition.
* Added Set Keyboard Layout action.
* Added Conceal/Reveal All Palettes actions.
* Added Cut/Copy/Paste actions. CutCopy wait for the clipboard to change.
* Added Content Type/Kind, and Where From attributes to Get File Attribute.
* Added Added Date, Downloaded Date, Last Used Date attributes to Get File Attribute.
* Added Finder Comment to Get/Set File Attribute.
* Added Invisible to Get/Set File Attribute.
* Added Open 1Password Bookmark action.
* Added SECUREINPUT function.
* Added MENUBARHEIGHT function.
* Added SCREENVISIBLE function.
* Added ScreenVisible text token.
* Added %MacroNameForUUID%UUID% text token.
* Added Macro/Macro Group enabled/disabled/active/inactive condition.
* Added specific area option to Capture Screen Image action.
* Added Always Nominal Resolution option to Capture Screen Image action.
* Added option to exclude errors (STDERR) from script output.
* Added option to mouse action to allow drag destination to be absolute.
* Added filter to quote for AppleScript, Shell Script, JavaScript and Swift.
* Added filter to Percent Decode URLs.
* Added filter to get the value of a Named Variable or Named Clipboard.
* Added "with parameter" option for Execute Macro action.
* Allow Text Tokens in variable name of Set Variable to actions.
* Allow Text Tokens in Select Menu Item.
* Allow Text Tokens and menu paths (Edit-Copy) in Menu Condition.

Engine Additions
* Added optional Paste menu to Status Menu (with Paste Plain (shift) and Set-only (option)).
* Added kmtrigger: URL Scheme trigger (with parameter).
* Expand default clipboard history to 200 items.
* Added some clipboard flavor exclusions that cause problems in Word 2011 reading EBMS flavors.
* Added some clipboard flavor exclusions that cause problems in Word 2016 reading OLE LINK flavors.
* Added .width and .height in variables with only two entries (eg "123,456").
* Added .fuzz option to calculations (specifically for the Found Image collection).
* Restrict environment variable size of variables to 100k.
* Variables whose names start with "ENV " override regular environment variables (eg "ENV PATH").
* Added "with parameter" option for AppleScript "do script" triggered macros.
* Added parameter option for Web Server triggered macros.
* Palette and Status Menu triggered macros report the modifiers in the TriggerValue token.
* Default recorded mouse clicks to not restoring the mouse location.
* Added an implicit semaphore at the start of a quick recorded macro.
* Added option for Conflict Palette to appear under the mouse.
* Added option for Macro Group palettes to appear under the mouse.
* Added option to Application Switcher to allow switching only one window.
* Added Display Large option to execute and display text actions.
* Added AppleEvent to retrieve all the macro groups/macros even the inactive ones.
* Updated Trigger Macro By Name window.
* Updated Web Search window.

Editor Minor Changes
* Allow up to 9999 Seconds/Minutes/Hours in Periodic Trigger.
* Added link to Keyboard Maestro Wiki in the Help menu.
* Added link to Regular Expression Unicode Properties reference in the Help menu.
* Search Variable/Clipboard results show if the captured data includes more text than displayed.
* Added information to empty web browser action insertion menus.
* Wireless Network trigger can now fill in wifi text field.
* Added Insert Text by Typing variant to action selector.
* Added Click at Found Image variant to action selector.
* Preserve leading spaces in non-edit script display.
* Better preserving of selection when compiling AppleScripts.
* Changing Write File format while holding the option key disables changing the extension.
* Added a cache of rich text for compiled scripts to avoid needing to recompile them.
* Updated Or by Script to include JavaScript and Swift, as well as optional parameters.

Minor Changes
* Fixed system rewriting h to H in ICUDateTime formats.
* Fix Yosemite NSSpeechSynthesizer bug that stops Speak Text working properly.
* Removed defunct Fix Finder Selection Bug fixed in Yosemite.
* Removed offline Help.
* Added SequentialConflictPalette hidden preference.
* Dropped the recording manual pause time from 1.0 down to 0.25 seconds.
* Increased the limit on Typed String triggers to 100 characters.
* Added hidden preference to stop mouse clicks from zapping the typed string buffer.
* When referencing applications or system preferences, references are stored relative to the home directory if appropriate.
* The actions list becomes focussed when it is closed and contained the focus.
* Added DetailDisplayExtraStyle hidden preference.
* Added ReportUpdatesWhenEditorActivates hidden preference.
* Cut/Copy to Named Clipboard action waits until the clipboard changes.
* Use Notification Center instead of Growl for most notifications.
* Added hidden preferences to control Notification Center displays.
* Limit clipboard flavor sizes to 10MB (with hidden preference).
* Play various sounds as System Sounds so they honour the "Play sound effects" preference.
* Added accessibility support to Application and Window Switchers.
* Changed Conflict Palette to prefer alphabetical hot keys including digits over index hot keys.
* Changed MOD/AND/OR/etc to take precedence over variable names so Variable MOD Variable works.

Bug Fixes
* Fixed spelling of height in Get Image Size action.
* Fixed a possible race condition with "one action" macro palettes.
* Fixed a case where the "Must be unique" checkbox could be difficult to click.
* Restrict split view resizing to clicks that are near the divider.
* Corrected TRIGGERTIME to be relative to 1970 epoch.
* Support lowercase pi character in calculations.
* Issues with shifted characters in emulators/remote desktops might be resolved.
* Handle surrogate pairs in non-edit/HTML displays.
* Fixed Macro Group Disabled/Enabled display toggle when many toggles happen quickly.
* Fixed a potential crash when looking for buttons in applications with poor accessibility support.
* Fixed an issue where the Execute Macro action could refuse to set the macro.
* Fixed flashing focus ring for text views.
* Fixed a possible crash when setting a hot key.
* Fixed %Screen%Front%, %Screen%Back%, %Screen%Back2%, %Screen%Mouse%.

Version 6.0 | Release Date: 2012-07-09 | Download

Changes for 5.3.1

Resolved an issue with executing Automator Workflows in Mountain Lion
Resolved a performance issue with the Button Condition.
Notify via Growl when a timeout cancels a macro.
Fixed some memory leaks.
Fixed the SECONDS function.
Fixed a performance issue with getting the Finder's selection.
Fixed the YEAR/MONTH/DAY/DOW/HOUR/MINUTE/SECOND to be in local timezone.
Fixed some edge cases in the Hard Wrap filter.
Allow "APPLICATION" in the menu condition.
Avoid "no autorelease pool" warnings on launch of engine in Mac App Store version.
Removed "move to" logging.
Fixed Edit with TextEdit macro library entry.
Fixed short form variables with spaces or underscores in their names.
Fixed triple click action editor to actually triple click.
Fixed a case where the editor get confused when switching macros.

Version 5.3 | Release Date: 2012-07-09 | Download
No changes specified
Version 5.0.3 | Release Date: 2011-10-12 | Download

Changes for 5.0.3
* Improve the visibility of the clipboard HUD icons.
* Added LastApplication token.
* Updated to Growl SDK 1.2.2
* Removed a case where resolving old aliases could lock up for a long period of time.
* Removed "variables" debugging messages.
* Removed dependency on RBSplitView.
* Another attempt to fix HID crashes with wacom tablets.
* Stopped Keyboard Maestro launching (and immediately crashing) on pre-10.6.
* Resolved dragging failure after dragging an action to the Favorites category.
* Fixed a crash that could happen when the first action referenced the current macro.
* Fixed a crash that could happen with the Menu condition when there is no menu bar.
* Fixed drawing glitch in variable popup menus.
* Fixed the display of "inline text" popups in Lion to display in proper location.

Major Changes for 5.0:
* Requires 10.6 and Intel.
* Control Flow - Pause Until, If/Then/Else, While, Until, Repeat with extensive conditional tests.
* Variables - permanently stored and accessible in a variety of ways.
* Calculations - based on variables or a variety of functions.
* Library of pre-built macros.
* Undo/Redo - finally!
* Enhanced Application Switcher with Cover Flow, Force Quit, Get Info, Reveal.
* Enhanced Window Switcher with Cover Flow of Applications, window depth sorting.
* Enhanced Clipboard History with Favorites, Quick Look, Send clipboards to another Mac.
* Application Launcher as first seen in Switcher Maestro.

Control Flow & Variables & Calculations
* New Control Flow actions Pause Until, If/Then/Else, While, Until, Repeat.
* Extensive conditional tests (Application, Window, Menu, Button, Modifiers, and many more).
* Permanently stored variables containing text, or arrays of numbers.
* Prompt For User Input action with text, passwords, popup menus and checkboxes.
* Most action fields can contain calculations (eg Pause 60*Time in Minutes).
* Set Variable to Text action with tokens.
* Set Variable to Calculation action with array access.
* Search & Replace Variable action with regex and tokens.
* Use Variable action to adjust mouse, windows, applications, and more.
* Filter Variable action.

Enhanced Clipboards
* Added Quick Look to Clipboard History and Named Clipboard Switchers.
* Added Favorites to Clipboard History.
* Send clipboards to other Macs.
* Delete Past Clipboard action.
* Search & Replace Clipboard action with regex and tokens.

General Improvements
* Favorites category in action list.
* Configurable timeouts for individual actions.
* Macro Revisions.
* Applications listed in Status Menu.
* Use regular expressions in menu or button name matching by prefixing with ^.
* Typed String triggers can ignore case, or remember case.
* Insert Text actions honour case of remember case typed string triggers.
* Allow triggering on "any" application activates, launches or quits.

New and Improved Actions
* Set Macro Enable action.
* Speak Text action.
* Play Sound action.
* Action to display text.
* Action to Show/Hide the global macros palette action.
* Manipulate window action can now operate on window with index N.
* Manipulate window action can now center a window at any point.
* Generalized Search Web action to allow any URL.
* Add Relaunch & Force Quit options to Quit action.
* Added "Current Application" option to Quit action.
* Open Finder Selection action optionally with a specific application.
* Add "with specific application" to Open File or Folder action.
* Add "with specific application" to Open URL action.
* Growl action uses our own HUD window if Growl is not available.

New Text Tokens
* Token for variables.
* Token for Named Clipboards.
* Tokens for Current Track name, album, artist, ratingstars, etc.
* Tokens for Current Application, Current Mouse, and Front Window details.
* Tokens for Screen Frame and System Volume.
* Tokens for Address Book Name, Email, etc.
* Tokens for Executing Macro and Macro Group name.

Enhanced Scripting
* Variables can be accessed or written via AppleScript
* Variables are available to Shell Scripts.
* Execute Script can store results in a variable.
* Support for AppleScript command to calculate expressions.
* Support for AppleScript command to process tokens.
* AppleScript command to reload the engine macros.
* AppleScript command to play sound.

Enhanced Application & Window Switcher & Application Launcher
* Added new Application Launcher.
* Applications listed in Status Menu (Running, Recent, Applications, Utilities).
* Added Force Quit (k twice).
* Added Get Info (i).
* Added Reveal in Finder ®.
* Added Relaunch (l). Eg k k l Force Quit & Relaunch.
* New icon badges.
* Mouse Rollover limited to when you change icons.
* Popup contextual menu in Application Switcher & Window Switcher.
* Option to disable mouse rollover in Application Switcher & Window Switcher.
* Control the opacity of Application Switcher & Window Switcher.
* Option to have Window Switcher sort by window depth.
* Allow switching through applications in Window Switcher.
* Added Cover Flow style to Application Switcher.
* Changed to using an alpha colour, removed the alpha slider, and honour the brightness.

In Detail for 5.0:
* Command-Option-Control-Shift-Click on Status Menu icon to cancel all macros.
* Support org.nspasteboard.TransientType (et al) and have the clipboard history ignore them.
* Support org.nspasteboard.AutoGeneratedType for Insert Text by Pasting.
* Up/Down arrow move clipboard selection when clipboard switcher search field is selected.
* Command-W closes palettes.
* The Recording window preserves its location.
* Import menu is properly grayed out only when it should be.
* Removed Key Repeat preference from Application/Window Switcher.
* Multiple Quick Macros would conflict because UIDs were not unique.
* Searching for Cut, Copy or Paste in the Action list would not find the actions.
* Allow the number pad keys to select duplicate macros from the duplicate macro palette.
* and more ...

Version 4.3.2 | Release Date: 2010-08-16 | Download

Version 4.3.2 improves the look of disabled actions, adds a short delay before saving to coalesce saving and improve performance, especially when typing, removed the trailing line feed from Execute AppleScript when inserting text, removed the sorting characters "xx)" from KeyCue's display, added a configurable command for osascript (specifically to allow executing osascript and hence AppleScript plugins as 32-bit), fixed a crash in Execute Workflow/Execute AppleScript when the file has disappeared and ensure changes to the file/text popup menu in the Execute Script editor sets the modified flag.

Version 4.3.1 | Release Date: 2010-05-16 | Download

New in 4.3.1

- Fixed a potential CPU issue when executing AppleScripts and shell scripts.
- Fixed a potential crash with Device triggers.
- Removed the reset of the front application from the InsertText macro.
- Fixed a cosmetic issue in the Execute Script action.
- Added support for naming a few more X-Key keyboard keys.
- Improved handling of negative numbers in the Move Window action.

New in 4.3

- Device triggers from modifiers, mouse buttons, and programable keyboards.
- Execute AppleScript & Shell script can insert their results by typing or pasting.
- Shell scripts no longer lock the engine up on timeouts.
- AppleScripts no longer lock the engine up.
- Added command-option-Q/L for Quit/Launch Engine.
- do script only executes a single macro.
- do script properly waits for only the macro it executes.
- Do not uppercase accented characters when displaying command keys/hot keys.
- While Running application trigger is no longer executed every time any macro changed.
- Avoid creating OLE LINK bookmarks in Word for every copy/paste.
- Default again to releasing only keys that have to be released when simulating a keystroke.
- Fixed a crash when deleting a named clipboard while it is editing the name.
- Attempt to select menus even if they are dimmed if "stop on failure" is turned off.
- Close the first duplicate macro palette before displaying a second one.

New in 4.2

- Edit macros from the Status Menu or floating palettes with the option key.
- Execute Macro action.
- MIDI triggers.
- MIDI actions for Note On, Note Off, Control Change.
- Display a palette of macros when a duplicate hot key is pressed.
- Select Menu Item action optionally cancels macro if the menu is not executed.
- Press Button action optionally cancels macro if the button is not pressed.
- Add an option to Activate Application to reopen the initial windows.
- Add an option to Activate Application to switch out, hide or quit if it is already at the front.
- Offer to email helpful tips to new users.
- Allow Typed String triggers with returns in them to work properly.
- Logging for AppleScript errors.
- Edit Macro, bring macros window to the front.
- Fixed unlocalized title of Insert Text and Set Clipboard To Text views.
- Fixed a potentially crashing bug in the Select Menu Item action editor.
- Fixed odd resorting glitch in the macros list.

Version 4.1.1 | Release Date: 2010-03-03 | Download

[NOTE: Price is $36]

Changes in 4.1.1

Added support for editMacro AppleScript command
* Fixed a crashing bug in the Select Menu action.
* Changes in 4.1:

Welcome Page.
* In-app tutorial reminiscent of Apple Guide.
* In-app documenttion.
* Help for Macro group activation and targetting.
* Sort macros by name or trigger.
* Improved Select Menu editor to allow selecting from all * current menu items.
* Allow "or" comparisons to handle toggle menus (eg * Show|Hide).
* Allow .../elipsis comparisons for buttons (eg Print...).
* Added menu commands for various actions like Edit/Show Actions/Record.
* Added support for 01) prefixes in macro names for sorting status menus, macro paletted.
* Icons in floating palette were upside down!
* Switch back to original app on cancel of Google Search.
* Disabled Typed String triggers while entering typed string triggers.
* Disabled Typed String triggers while simulating keystrokes.

Version 3.5 | Release Date: 2008-12-08 | Download
No changes specified
Version 3.2 | Release Date: 2008-06-24 | Download

New in Keyboard Maestro 3.2:
* Macro Group options including:
** Enable contained Macros only immediately after a Hot Key press.
** Toggle contained Macros with a Hot Key press.
** Display a floating palette of contained Macros only after a Hot Key press.
** Toggle display of a floating palette of contained Macros with a Hot Key press.
** Display a floating palette of contained Macros.
* Added extensive integrated help to Macro Group Editor
* Added Quick Start integrated help to Macros Pane
* Try Now button tries only selected actions.
* Script pseudo-trigger.
* Wake trigger.
* Login trigger.
* Added Alert action with Stop/Continue dialog.
* Support Delete key in Clipboard History Switcher.
* Allow Macros without any direct triggers.
* Move Clipboard -> Insert Text action menu item to Text -> Insert Text
* Disable editing for Global Macro Group.
* Save & Restore Unix/AppleScript Results Window Size & Position.
* Save Log files in ~/Library/Log/Keyboard Maestro folder.
* Remove Macro Group "Never" - replace with Disabled.

Version 2.1.1 | Release Date: 2007-08-20 | Download

New in 2.1.1
* Support for F17-F19 function keys.

New in 2.1
* Universal Binary.
* Support F16.
* Keep Palette on screen.
* Export Macros is enabled only if some macros are actually selected.
* Remember applications when applications relaunched.
* Fixed bug with quit/relaunched applications and menu selections.
* Allow forward or backward delete to delete in lists.

Version 2.0.3 | Release Date: 2006-08-28 | Download
No changes specified