Keyboard Maestro Blog Posts

May 15, 2018

Simple Date Calculation

At my company we do weekly software releases. It's important for everyone to know the date of the next release and Code Freeze.

Here's my simple Keyboard Maestro macro on when the next release will be - we do releases on Thursdays.

Next Release

This is the Unix command that I used: date -v +Thur "+%B %d, %Y"

Two Weeks From Now

I have another macro that shows the release in two week: date -v+2w -vThur "+%B %d, %Y"

Code Freeze Info

Code Freeze is important to know in any release planning. Even though our code freeze hasn't changed much in four years - I still get asked when is code freeze.

That's why I have this macro set up. With it, I can instantly tell anyone how many hours until the next code freeze - without interrupting my current train of thought.

This macro is perfect for slack or as a response to an email inquiry.

I type in... release.info
Keyboard Maestro Response is : The next Code Freeze is at xxx that's xxx hours from now.

Here's the action part of the Macro:

Release Info

I used PHP in this example because it's a lot easier to do the calculation than to have multiple actions. One improvement that I could do would be to use the data from the "Next Release" macro to populate the release date.

Engineering and Product are impressed by how quickly I answer their question. It's as if I am sitting at my computer waiting to give them the answer.

You can see how nice it is to use Keyboard Maestro for repetitive tasks - it's even better when calculations are involved.

May 8, 2018

Slack Based Greeting

Frequently I talk to offshore team members in Slack. The problem that I encounter is that I don't know the time of day its at their location - is it Morning, Afternoon or Night time? So should I say good morning or good evening?

I have a Keyboard Maestro and PHP it makes it real easy to say the proper introduction regardless of where they are in the world.

Real World Example

There is a macro in my library for 'ggi' and this will automatically display the correct greetings when I am talking to my India team in chat. So if it's night time, it would say 'Good Evening' and if it's before 6 pm their time, 'Good Afternoon.' I have similar macros for ggsfo, ggj and ggk .

Now I will always say the correct greetings, I just need to remember where they are located.

This is the PHP code that I use to get that done:
#!/usr/bin/php 
<?php
date_default_timezone_set('Indian/Mauritius');
function greeting(){
    $timeOfDay = date('H');
    if($timeOfDay > '17'){
        return 'Good evening. ';
    } else if ($timeOfDay > '12'){
        return 'Good afternoon. ';
    } else {
        return 'Good morning. ';
    }
}
echo greeting();
?>

You can see the thing that makes the difference is the PHP's date_default_timezone_set function.

This is what the Macro looks like in Keyboard Maestro, your best to use whatever string command works best for you:

India Time Zone

May 1, 2018

Adding Keyboard Short to hide Firefox Bookmark Bar

Firefox doesn't provide a Keyboard Shortcut for Hiding/Unhiding the Bookmark Menu. This is a problem when you want to take a screenshot of the active Firefox window and want to hide the bookmark bar since it may contain information unrelated to the screenshot.

With Keyboard Maestro, you can easily setup a keyboard shortcut by using the "Select or Show a Menu Item" action command. This is a little known Macro action that gives users a lot of flexibility.

Steps to Add a Hot Key to Firefox

To get started, you should create a new Firefox folder to execute macros only when Firefox is the frontmost application. This way you won't trigger the action when running the same command in another application.

Application-Specific Group

  • Create a new Group and Call it Firefox.
  • Make the group available for only Firefox Application.

Fire Fox Group
This is what the Firefox Group should look like. Most people will only have one Firef

New Macro

Simple steps to create the actual Macro:

  • Create a new Macro in the Firefox Group
  • Select the "Select or Show a Menu Item" Action.
  • In the field to right of 'Menu Title' type: View
  • Click on the green '+' to create a Submenu field
  • In the field to right of ' Submenu' type: Toolbars
  • In the field to right of 'Menu Item' type: Bookmark Toolbar

Fire Fox Bookmarkbar
This is what the Keyboard Macro should look like.

What Happens Next

Now you can type in Shift-Command-B to hide the Bookmark Menu in Chrome and Firefox. This is certainly easy to remember and now you don't have to navigate through menus to hide it.

Once you know how to do this, it opens the door to add additional keyboard shortcuts to any other feature within Firefox or other applications.

February 6, 2018

Keyboard Maestro Control

If your using Keyboard Maestro, you should be aware of the the companion iOS App - Keyboard Maestro Control. The app gives you the ability to execute any Keyboard Maestro macro - basically another point of macro execution.

IOS Description

Keyboard Maestro Control is the iOS adjunct to Keyboard Maestro. It allows you to log in to Keyboard Maestro and execute macros from your iPhone, iPod touch or iPad.

You need to ensure that the Keyboard Maestro Web Server is running and configured with a username and password.

Keyboard Promo2018

Ten things I learned

  • There are 11 Macros positions available on the screen - which gives you the ability to have 11 macros visible at any given time.
  • The Macro icon isn't displayed in the App.
  • You can use Emoji to make the line item a bit more visible. Unfortunately, this means you're limited to the icon selection.
  • iOS last update was on July 14, 2014! Still works fine 3.5 years later.
  • The iPhone landscape feature works weirdly and changing the phone from landscape to vertical can cause the App to display 1/2 screen. I fix this by quoting out of the App and restarting. I think this is related to the App being out-of-date by several iOS versions.
  • While you can use any group, after playing with the App, I found having a single group an easy way to manage which macros I want to execute.
  • Most commands I have are easily defined as a typed command, it was difficult to figure out which commands to use in the iOS.
  • The Keyboard Maestro Control app uses the built-in web browser functionality, so it's important to select non-destructive commands.
  • There is no sleep feature, as there is in Quadro, so the screen stays open for a while.
  • Other than connecting to a Keyboard Maestro server, there are no additional settings or configurations.

At the End of the Day..

Dispite the App being out of date, the app still works fine on iOS 11.2.5 (15D60). My complaints are just basic cosmetic changes that would make the application even better.

I would encourage anyone that uses Keyboard Maestro a lot to give it a try. The toughest part is figuring which macros you would want in the app.

January 30, 2018

Add Hyperlink to Clipboard Content

Wouldn't it be great if there was a way to automatically add hyperlinks to common text? Especially when sending emails? For example, if you reference Jira tickets in your email, wouldn't it be nice that they automatically had Hyperlinks?

You can do this using a Keyboard Maestro Macro in a four simple actions.

Creating Macro to Add Hyperlink to Text

To get this done, I am going to use the Unix textutil command. This will help convert an HTML file to Rich Text Format, which will allow the links to show in Mail, Pages, Microsoft Word, or any application supporting RTF format.

The goal of this Macro is to take the content of the clipboard, add hyperlinks, convert to rich text and then put the final product back on the clipboard ready to paste any place. Feel free to customize this to your own needs!

Keyboard Maestro Replace7

In Atlassian Jira, the Software Project name is the first three letters. If your linking up to Jira make sure to match the project name and the company name.

Cool Features to Think About

The nice thing about Keyboard Maestro is that you can add as many Regular Expressions as you want, such as a link to the company website where ever the company name appears.

Known Issues with this Method

Since this is using a temporary file, the data is still stored on the computer after the action is completed. So anyone with computer access can read the contents of the temp file (Simply add a cleanup step at the end to fix this)

When pasting rich text in Mail the text appears to be smaller, that is because the font changes from Helvetica 12 to Times 12.

January 23, 2018

Clipboard History Switcher

Keyboard Maestro and LaunchBar both offer the ability to retrieve previous Clipboard content. Once you enable this feature, you'll find it very useful to get back old clipboard content.

The Clipboard History feature is a pretty powerful function in both applications. Here's a general overview of the differences between the two.

Website Descriptions

Description from Stairways Software:

Clipboard History Switcher saves a copy of each clipboard every time you copy something. You can then paste any previous system clipboard by triggering the Clipboard History Switcher macro. Clipboard History Switcher will present you with a window allowing you to select any of the past clipboards and paste them.

Description from LaunchBar:

LaunchBar's Clipboard History preserves the data of your most recent Copy operations, allowing you to use the copied objects again later.

You can have both LaunchBar and Keyboard Maestro Clipboard History running at the same time - you just need to use different Keyboard shortcuts.

Here's a snapshot of the two windows side-by-side. See how helpful Keyboard Maestro version is with images in the clipboard:

Clipboard History

Five Key Differences between the Two Applications

  • Content Display - Keyboard Maestro gives you a nice preview of any images in the clipboard, whereas LaunchBar only shows an image icon, the dimensions and the application where the image was the clip from.
  • Combine Content Functionality - LaunchBar has a Double-Copy functionality that combines the current copy content with the previous copied content.
  • Favorite Clips - In Keyboard Maestro, You can save clip content as a favorite so it doesn't disappear from the Switcher.
  • Search Capabilities - Keyboard Maestro allows you to search the Clipboard Switcher making it easy to find previously copied text.
  • Display Limits - Keyboard Maestro last two hundred times you have copied something to the System Clipboard. With LaunchBar you can set the duration to be 10, 20, 30, 40, 100 items or by number of days... 1,2, or 3 day or a week.

January 16, 2018

Computer External IP Address

Using Keyboard Maestro and AppleScript it's really easy to quickly display the computer's external IP address. This is similar to functionality that I created using TextExpander.

Using Keyboard Maestro, users have a lot more control. In this updated version of the script, I can display the IP address to the screen in large letters, and add it to the clipboard - ready to paste it where ever needed.

You can modify this any way you want to fit your needs.

Execute the Apple Script

The first step is to execute the AppleScript and set the results to a variable:

Setup My IP1

Code used:

(*
Credit to www.applehelpwriter.com*
*)*
set myTemp to do shell script "mktemp -t txt"*
do shell script "curl -s http://checkip.dyndns.org &> " & myTemp & " &2> /dev/null"*
# CHANGE THE DELAY HERE... *
delay 3*
set extIP to do shell script "sed 's/[a-zA-Z/<> :]//g' " & myTemp

Display the Results to Screen

Use Keyboard Maestro's large text display and show the IP address on the screen:

Setup My IP2

Add to Clipboard

Add the IP address to the clipboard in case I need to paste the information into a working document.

Setup My IP3

January 9, 2018

Evernote Cleanup Macro

I do a lot of copy/paste between Evernote and HTML. Since Evernote has RichText features, I decided to create a Keyboard Maestro Macro to clean up the clipboard before pasting into BBEdit, or another text editor.

Evernote Cleanup Macro

Evernote Filter

Some Tips

  • I have setup the Macro as a menu item because I don’t need it all the time, and I don't want to accidentally enable the Macro without realizing it.
  • If this is a feature that you see handy to implement, I would recommend using an F key to enable it, or use ‘=clean' as the trigger key.
  • There is an extra step to convert any bullet items to HTML List items. After I paste the text, I just need to add an Unordered list tag at the beginning and the end.

Why not use BBEdit zap Gremlins Tool?

The BBEdit Zap Gremlins feature is awesome when I am in BBEdit. The nice thing about Keyboard Maestro is that it will work every application. I don’t have to memorize the command to “Paste and Match Style"

It comes in handy when copy/paste text from a website to an email - and I want to strip out all the formatting.

Apple Mail Paste

January 2, 2018

Keyboard Maestro Application Switcher

Apple's Application switcher is pretty cool, using Command-Tab users can quickly navigate to any open application. This is a fast way to switch around applications.

Keyboard Maestro takes it one step further. You have a lot more control. You can decide what applications that show up and the look and feel of the Application Switcher.

K M Switcher

Keyboard Maestro Application Switcher

Basically Keyboard Maestro Application Switcher gives you an extended Dock.

Macintosh users put applications in the Dock because they use the app a lot. They don't want to have to keep going to the Application folder to open up the app over and over. With Keyboard Maestro Application Switcher, you can add the application to the switcher. This helps declutter the Dock.

This is very useful for those applications where you don't need to drag and drop a document to open it for the first time.

How to Enable the Application Switcher

The Application Switcher is enabled as one of the Macros that you set up. Which is pretty cool because you can have multiple Application Switchers set up with different hotkeys. So you could have one set up for Internet Applications and other Application Switcher for the Graphics Applications.

Application Switcher Dialog

There's lots of information about the Application Switcher on Keyboard Maestro help site.

December 15, 2017

Keyboard Maestro Browser Version

Keyboard Maestro has a great integration with some popular browsers. Some macros that I created comes in handy when filing Jira Issues.

Note: This is similar to a tip I reported a couple of years ago - "Getting the Browser Version" for TextExpander.

Browser Version

When reporting an issue, often I need to include the browser that I used so that Developers can see if the reported issue is related to a specific browser version. Since most of the modern browsers auto-update it can be a pain to track them.

Chrome Version

Chrome Version

Execute the following AppleScript:

tell application "Google Chrome"
set theVersion to "Chrome " & version
end tell

So whenever I need to identify the version of Chrome, I just type in Chrome.Version and instantly the version of Chrome is deplayed. This saves me a lot of time to open up the 'About Chrome' and write the version number. Having this macro makes it easy to add this information to any Jira Issue or Slack chat.

I also have macos setup for Firefox and Safari.

Bonus Browser Version Macro

There's a 'super' macro that will display all the browser versions that I have. Again, this just makes it easy to identify the browsers that I am testing with:

Browser Versions

December 1, 2017

Headless Chrome and Keyboard Maestro

In May, Google shipped headless functionality with Google Chrome 59. Google description of the feature:

A headless browser is a great tool for running automated tests and server environments where you don't need to see the rendered output or have a visible UI shell.

Thanks to Google Chrome Autoupdate, everyone should have this feature by now.

Here's a simple script to take a screenshot of any particular website:

Chrome Headless

Shell Script Code:

cd /Users/cryan/Desktop;
alias chrome="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome";
chrome --headless --disable-gpu --screenshot --window-size=1280,2696 http://www.cryan.com/blog;

Some Tips:

Chrome saves every file as screenshot.png. There's currently no way to change the filename during command run. So I added the Keyboard Maestro built-in file rename immediately after the screen capture.

The "window-size=1280,1696" is the size of a standard letterhead

The iPhone 8 browser window size is 375x667

The iPhone X browser window size is 375x812

The Samsung Galaxy S8+ browser window size is 360x740

Good Use of Keyboard Maestro v8 Cron Feature

I added Keyboard Maestro's cron feature so that the screenshot process would run automatically. Here some example uses:

  • Take a screenshot of your company website every morning. At the end of the year, you can see how the site has changed
  • Take a screenshot of your company website in different browser sizes. (What are Mobile users seeing.)
  • Take a screenshot of your website after posting a blog entry
  • Take a screenshot of your CNN, Drudgereport or MSNBC. What were the top news of the day?
  • Take a screenshot of Amazon and BestBuy homepage.

Setting this up as Cron feature allows you to set it and forget it. These will run as long as your computer is up and running.

October 27, 2017

Keyboard Maestro Global Macro Palette

In my first job out of college, I was using a Window's Terminal Emulator solution that allowed me to have floating button palette. Can't recall the name, but similar to PowerTerm . The buttons were configurable to type out anything I wanted. This made it easy to type out frequent commands.

Well you can pretty much achieve the exact same experience today with Keyboard Maestro. You can create a group that is only active for the application that you are using - in my case its iTerm2.

Keyboard Maestro Palet

Basic Configuration

Setup a New Group in Keyboard Maestro and call it 'iTerm' or whatever the name of the application that you want the button functionality to appear.

Make sure under 'Available in these Applications' that the application you want the pallet to appear in is selected.

Create a bunch of Type Macros of common tasks. Think of different queries that you run on the command line. Make sure to have a good Macro Name so you can identify the action.

Enable the action to be triggered by the Global Macro Pallet. What's nice is that you can have an icon in the palette which makes it easy to identify actions.

iterm Adwords Report2
Sample Entry

Super Productive

Having the floating pallet is great. It's nicely hidden away until I mouse over the floating icon. So the screen isn't cluttered and the pallet appears only when I need it.

My pallet is small - for now, but I suspect that I will add things as needed. Certainly a time saver.

The pallet is better for me than to have to remember the various text trigger actions. The action is just a point and click away!

September 29, 2017

Keyboard Maestro Date Formatting

Last week Keyboard Maestro was upgraded to version 8. It’s packed with a lot of features, and I thought it would be time to do a change up and switch from TextExpander 5.1.4 to Keyboard Maestro.

Note: I didn't upgrade to TextExpander 6 because I didn't like to have to pay for a yearly subscription for a Macintosh utility program.

I have been moving a lot of my TextExpander Snippets to Keyboard Maestro's Macros. It’s been a slow transition as it’s a bit hard to get used to Keyboard Maestro’s interface. It’s complicated for a reason - they're so much more you can do using Keyboard Maestro.

Date/Time Variable Reference Chart

Here’s a handy chart to convert Day/Time data from Text Expander to Keyboard Maestro. This is useful when converting your snippets to Keyboard Maestro and want to keep the same date format.

DateTimeChart_sm.jpg
Click on image for a larger version.

Date Time Display

This is a sample Macro that I have set up to display the current date time.

USA Date Format

I have three macros to easily display the current date in the following formats:

  • Standard US Date
  • European Date Format
  • ODBC Date Format (Database Format)

Try Out Keyboard Maestro

Try out Keyboard Maestro 8 as its more user-friendly. Watch the YouTube videos to get an idea on how best to use it. The forum is a great place to get ideas and tips from other users.

June 28, 2017

Evernote Helper

Have you ever worked on a document and then an idea came up for something completely unrelated to what your working on?

Ya, it happens to everyone.

The problem is if you completely stop what you're doing - you'll loose focus on the task at hand.

EverNote Helper (Menu Item) can be a real life saver. When you encounter a distraction thought, such as "I should really check out that Tom Cruise - Tom Gun Music Video" you can just make a quick note without closing the program you're in. This is possible because EverNote Helper is a Macintosh/Windows system-wide utility.

Evernote Helper Graphic

I have found that EverNote helper is good way to remember things when you don't want to interupt your current task.

Screen Capture

As an added bonus, you can take a quick screenshot with your quick note. You don't need to take a full-screen shot - you can just take a picture of a selected area of the screen or any window.

Audio Recordings

Macintosh users can add a voice recording but I don't see any use for that. At my office it's pretty quiet - I don't think I would ever use this.

Some real world examples

Don't think it's something you need to use? Check out some real world tasks that have happen to me:

  • Thought of a cool gift idea while browsing Amazon? Take a screen shot and make a note.
  • See a cool graphic design on social media that you would like to duplicate? Take a screenshot of it and comment on why you like it.
  • Need to bring some supplies to work tomorrow? Take a note.
  • Found a bug but don't have time to file a report? Take a screenshot and jot down some notes.
  • Wouldn't it be great if.. Take a quick note.
  • On a call, need to jot a phone number or address?
  • Discovered a cool Alexa saying? Take a note.

At first I thought having another menu item didn't make any sense. However, I discovered that it makes perfect sense for just a quick note.

Once you remember the keyboard commands you'll be using this feature all the time.

Evernote Menu Help
Quick Cheat Sheet Guide.

One last Thought

Think about it - when was the last time your desktop sticky note had a screenshot?

June 7, 2017

Emoji in Evernote

EverNote is a great tool to organize everyday notes. You can put notes in Notebooks and tag them so you can easily find them later.

Did you know that EverNote Supports Emoji icons? It's a cool way to highlight notes or notebooks. Check out this example of the Done and Food Notebooks.

Notebook Emoji

As you can see it's pretty easy to identify the use of those particular notebooks.

What are Emoji icons?

Emoji are a small digital image or icon used to express an idea, emotion, etc., in electronic communication.

Emoji in Evernote

You can use emoji within your documents. But did you know that you can use them in headers and in Notebook names?

This can make it easier for certain notes or notebooks to stand out. As in the above example, my 'Done' notebook is where I store completed Blog notes.

All Emoji are Not the Same

Androd Emoji and Apple Emoji are different, this is important to know if your using EverNote on different devices types.

Emoji

Also keep in mind that Apple and Android don't have the same Emoji library. When Android encounter an Emoji that is not in their library, you'll get a box to indicate an incomplete emoji, If you keep a single OS platform, then this isn't a problem.

Emoji Technique

Using Emoji is a good way to make ordinary notes stand out. This is a great idea for those reference notes that you may need to use all the time.

Just remember to not throw an Emoji on synced Notebooks. (i.e. Notebooks that are being used by IFTTT, such as Twitter and IOS Photos.) If you add an Emoji, you're essentially changing the name and that may cause the sync to fail.