Custom Palette

Is there any way to create fully custom pallete? Idea is make it via HTML maybe?

  1. show after trigger
  2. click on button/area execute assigned macro


That is pretty much what Custom HTML Prompt action is for.

1 Like

Hey tomasjindrich, did you create any custom palletes using HTML?

Does it have to be an HTML palette @tomasjindrich & @BernSh? Would go the same way....

1 Like

Yes, thank you, I've explored the built in palette appearance editor. Good options and I'm interested in going in another direction not available within the built in options. Specifically, I have an "Everything" palette that's currently divided into four sections - Macros, Folders, Apps, Websites. It'd be easier to use if the palette had an adjustable number of fixed columns to sort items into. Currently, I'm just using a blank spaces to separate the groups within the palette. The items within the groups change regularly as I add and delete items.

Here's what it looks like:

1 Like

Have you ever tried sup pallets before? You only need a shortcut and have a better overview of only apps, only folders, only websites....

With the plugin for sorting (here in the forum) you can arrange the individual palettes correctly for you

Just created my first sub-palette earlier this morning! I feel so powerful each time I take a baby step. It’s soooo silly and so real. And yes, I came across @DanThomas extremely cool palette sorting plugin. Your evoking it within a palette is much better than copy/pasting actions back and forth to a dedicated palette sorting group. Thank you.

As @Peternlewis suggested, I made a Filing Group with move selected Finder items actions, all without triggers, so selecting that “Filer” macro group within my Everything Palette opens a sub-palette (a conflict palette I believe) with a list of locations that the selected Finder item goes to with a click on the desired action. Very neat.

Now I may be reaching for the stars when I should be content with crawling BUT, breaking out the palette’s categories into sub-palettes turn the Everything/Master/Index whatever you call it, first palette into a kinda of “Menu Header” that you click on to get a menu to drop down (in this case a different palette to open). While not a bad thing, I’m going for one click elegance and simplicity and sub-palettes require two clicks.

If some category of macros on the Everything palette becomes too large, the visual overwhelm outweighs the advantage of not moving them to their own palette. Until I reach that visual breaking point, I’m testing the usability limits of a single palette. A kinda palette Haiku :man_artist:

It makes sense to have the visual viability of a palette suggest when to breakout the sub-palettes.


A clean OS install plus all the "viral time" has me playing with palettes again to see if I can move this conversation forward.

I have integrated "sub-paletting" and find it a good practice. Thanks for this and thanks for the ongoing inspiration your work and shares provide :grin:

For a time, I've been experimenting with creating separate palettes for each action within a graphics app that allows me to have each action as a button and keep rearranging them until I like the arrangement or keep moving as needed. Mostly I've found that I get to a place where I don't move them anymore and allow muscle memory to form around the arraignment. The drawbacks are some minor aesthetics ones that come from all the lines the edges of each button form and, more significantly, the performance slowdown, mostly noticeable when switching between apps, that seems to happen when the number of palettes/buttons starts to get biggish like 10+ish.

This morning I brought them all back to a single palette to recapture the performance and found it tiresome to organize the palette into the rows and blanks needed to recreate the arrangement I had while able to move the palettes individually.

Here's what I ended up with:

My point is that while "sub-paletting" works in a context of widely varying actions among multiple apps like around the Finder's activities, using actions more fixed within an a single app's activities works better on single fixed palette as there are less clicks involved in getting the actions to execute. And saving steps is the core functionality of KM.

Essentially, the palette moves frequently used menu and toolbar actions closer to hand and removes the number of steps needed to get the action done with the huge bonus of adding actions not native to the app.

In this case I'm going with my March 2018 comment about the need for palettes that can be laid out in a grid with fixed slots to assign actions rather then the workaround of "sub-paletting".


Hi @BernSH, thank you very much for your comments :+1:

It is certainly true that it can become confusing when creating pallets. Therefore I only have the actions I really need most in the main palette.

Unfortunately, it does not always work without the sub-palette, as in this example with the Snagit app:

1 Like

How did you assign your custom icons to the macros in the video above.

All I can see is Internal, Applications and Text/Colors

Hi @Five18, You can use any image as a macro item like in this gif:

I recommend you to use only PNG format images, because they will look better with the transparent background.
I also take icons from the Internet and edit them in Snagit to create individual IconsItems

I've made quite a few custom icons using Affinity Designer and had a bunch of fun doing it. Affinity Designer is currently on a half price sale for $25.

Many are copied from the internet so I wouldn't use anything commercially without checking. Some are my own design and there's no "attributed by" notation so best to consider it all for personal use only.

Anyway, here a link to my collection which might provide you with some ideas:


Thanks Bern!

One thing to note is that custom icons will store the image in your macro file, so it will use a much much larger amount of storage than the inbuilt icons (which just include a reference, and so are only a dozen bytes or so). If you have a large number of custom icons, that will potentially bloat the macro file, which is rewritten every time you make a change to your macros and a large size can eventually degrade performance.

Just something to keep in mind.

I'm unclear AND have questions.

Did you mean inbuilt ICONS?

Is there a way to include custom icons somewhere within KM so they can be referenced as well?

What constitutes a change to my macro(S)? Once A macro with A custom icon is made and it is used as is, does changing OTHER macros cause the custom iconed macros to be rewritten so anytime a new macro (with or without a custom icon) is made do all macros with custom icons get rewritten?

OR does "the" macro file in "bloat the macro file" mean everything in Keyboard Maestro is THE macro file and the entirety of Keyboard Maestro's footprint grows slowing down any use of a macro anywhere?

While maybe irrelevant, why does changes to macros with custom icons cause rewriting? How can I see the size to see the effect? Would it be worthwhile to delete and recreate macros periodically to reset their size? How much degrading are we talking about as probably 90% or more of my macros have custom icons and I have a lot of them?

Is there a better format (jpeg, png, gif) to have custom icons in?
What is the optimum document size for an icon? 200 px X 200 px? At what DPI?

Could (unused by me) inbuilt icons be appropriated and redesigned to avoid bloat?

Yes. Any icon selected from the Icon Chooser is stored in a handful of bytes.

No. Well, maybe you could create an app with the icon, but it would need a bundleid, so I don't know how you would do that easily.

Any change to your macros in the editor results in the entire Keyboard Maestro Macros.plist being written to disk (changes in quick succession are all written at the same time).

Yes. It wont appreciably affect Keyboard Maestro’s performance (as in the normal use of Keyboard Maestro macros). But it can degrade the editing performance if the macro file gets too large, which it can do if you start adding lots/large images to the macros, including as custom icons.

Any change in the editor results in the entire macro database file being written.

You can see the size of the Keyboard Maestro Macros.plist file in the Keyboard Maestro preferences folder, which you can open from the Help menu.


It depends on the Mac and especially the Mac’s harddisk. For an SSD, it probably don't matter as much since they are very fast.

If the file is a few MB, it is probably not an issue. If the file is a few hundred MBs, you are probably going to notice slowdowns in the editor.

They are all stored as compressed tiffs internally, so no.

No idea. Probably 64x64 is sufficient, maybe 128x128 for Retina. I don't really know.


1 Like

Thank you for clarifying all that :smiley:!

Hi All,
I can't seem to figure out how to accomplish the simplest of tasks: getting PNG icons into Icon Chooser!

My goal, is to replicate the pallet concept proposed by @DanThomas (here) and modified a little by
@Kourosh in his note-taking book for DEVONthink--where I learned about KBM.

If I copy a PNG that I want to become the pallet icon (i.e. from anywhere--Desktop or whatever), then select the icon I want to change in the KBM editor, ⌘V is unsuccessful---I get an Apple-produced image that suggests a PNG image should go there--but it doesn't render.

FWIW, the images are dinky little 125 dpi solid-color jobbydo's at 1KB.

The best solution is to get these into the Icon Chooser if anyone knows how. (Also, if I pick an icon from the icon chooser, I can get the icon to change--but the icons I want, aren't in there yet.)


Hi @Rayn_N , would that be a solution for you? I had created this for another user.