How to Customise How My Apps and Windows Launch on Start-Up?

I just got the trial of Keyboard Maestro.

The first advanced thing I'd like to try, as the tutorial mentioned, upon start-up, is rearranging all my windows and applications in a pre-configured way.

Though I have not found any options and clues as to how to do it so far, any help and direction would be appreciated!

Hi and welcome to the forum! :wave:t3:

Here's a simple idea, with a couple of example apps included. You can keep duplicating the groups and change the app names to include all the apps you want to cover.

Position App Windows.kmmacros (25 KB)

Macro screenshot

1 Like

Thanks @noisneil!

Though I understand how that might work, creating it's an entirely different matter. I've been marveling at it for a few good minutes, and I also don't really understand what 'groups' are and how to create them. I am still yet to go through the documentation, though I wonder where I could go to understand how this specific macro works? And how to customize it.

Thanks again,

Have a read of the comprehensive manual. In this example, the groups are titled "Brave" and "Mail".

For the purposes of this task, just select one of the groups (actions contained in one block) and hit cmd-D to duplicate it.

@szfkamil I don't know if this helps, but have you seen that there are predefined window positions?

You might want to start by giving these positions a shortcut. This works with any app. The rest will come when you get a little more practice?

Otherwise, @noisneil's macro is a good template. Copy everything eg that comes after "Brave" (until before "Mail") and paste it at the end of the macro. Then change the app and the window position.

I hope I have explained this correctly :innocent:

1 Like

Hey @noisneil,

I found some issues with the macro you sent me, as it works in an unexpected way. (Or, more likely, it's me missing something, haha).

The trigger for it is "At system launch," but the apps are loaded after system launch, so it executes, but before the apps are loaded, it requires me to run it manually later on.

Also, this macro launches the app itself, which is not a required action assuming it positions apps that are opened on start-up. An if-statement for the Activate action would be appropriate here.
My bad; the Mail macro had the condition. I duplicated the Brave macro, which had the actual open action for all my macros.

Regarding the trigger issue, I could not find any other trigger, and I don't know how to make it run automatically the 30s after the system launch (all the apps load by then). And I think that could be one solution to this problem.

Once again, I'd appreciate any assistance you could give me regarding changing the action trigger, so it can work as expected.


You could just start the macro with a "Pause... 30 seconds" action. But I'm surprised you need it -- each of @noisneil's "application blocks" started with an "Activate the app" then "Pause until app is running". It might be that they are registered as "running" before the windows are available to manipulate -- try changing the "Pause" condition to "the front window of app exists", eg:



Thanks for the help. I've got it to work now!

1 Like