WindowDual A set of Macros for the INTERNAL/EXTERNAL display user

Latest version 2.22 10Jun2020 12:34 Wed

JGLp [WindowDual] Move, Resize windows with 2 screens Macros v2 22.kmmacros (166.5 KB)



Version and Last Update: 2.22 10Jun2020 12:38 Wed

Written by: Jonathon Lewys ©2020
Acknowledgements: Peter N Lewis and the Keyboard Maestro Forum.
Disclaimer: Caveat Utilitor applies. See Version History for explanation.


A small set of keyboard shortcuts or combos to move and resize the primary window of the front application.

This sets of macros is designed mainly to work with TWO screens, an INTERNAL screen on you macbook or iMac and an EXTERNAL Monitor. If you have more than two screens, the macros can be adapted. See Keyboard Maestro wiki for Screenvisible parameters.

However, all the macros will work if you ONLY HAVE ONE SCREEN. Some actions will not make sense but some e.g. maximise screen will work fine on just the internal.

I repeat they will work with ONE or TWO screens, maybe more.

QuickStart ( 5 minutes)

Install the MacroGroup [WindowDual]
From KM Status menu, select show [WindowDual] macrogroup palette
From Palette or from KM Status menu select demo

Macrogroup installed
JGLp [WindowDual] Available in ALL applications


HotKey Combos

The hotkeys used are as follows, but you can change these as required

CC+key is CTL+CMD+key Status is the Keyboard Maestro Status menu § is the Section Key (Top left of keyboard)

The macro group provides the following functions

CC+ [ Move window to left half of screen
CC+ ] Move window to right half of screen
CC+ ' (Single quote) Move window to centre of screen (but 50% wide)

CC+ + (Plus) Maximise with Border. This almost maximises the window but leaves a 10-15 pixel border all round it. I find this makes it easier to click/drag the scroll bars and it keeps the top level menu bar visible.

CC+ - (Minus) Maximise with Border to Internal Screen. i.e. Same as (Plus) above but will always go to INTERNAL screen

CC+ ; Maximise with Border but shifted down from top a little bit. . i.e. Same as (Plus) above.

CC+ M Minimise Window

CC+ / Resizes the window to about a 25% and TILES it on the INTERNAL screen in 2 rows of 5 columns.

COC+§ Shows the Macro Palette Group (MPG) for THIS Group

Note: For small screens, sometimes the developer has specified an absolute minimum width, so the window will not resize any smaller
eg Keyboard Maestro editor is always about 500 or more pixels wide,
which may be more than say 60% of the width of the screen

Other functions
Demo Plays each of the macros in turn, thus moving and resizing the front window COC+§ Shows the Macro Palette Group (MPG) for THIS Group

Show this README
Show Version History and Disclaimer
Set the Overide Target Monitor (usually left as NONE/No Override)
Debug display of most of the variables used.

Global Constants
WindowDual_WINDOWBORDERLEFT_n These are the window borders
WindowDual_WINDOWBORDERLEFT_n set in two macros at about 20 pix.

None really needed
WindowDual_WINDOWBORDERLEFT_n These are the window borders
WindowDual_WINDOWBORDERLEFT_n set in two macros at about 20 pix.

How does this compare to things like SizeUp, SP Resize or other window managers? I ran several of them and they seemed to just bump them all to the top left of my screen. Not sure if I am getting different behavior then intended. A super quick video might give the user a quick visual of the commands in action.

I made SP Resize years ago and make a little short 1 minute video just showing it in action.

All window managers are pretty much the same in terms of functionality.
Some people like to do everything in Keyboard Maestro, and by doing so, you have absolute control over what short cut keys are used and their effect.
Many many Keyboard Maestro users have written their own Window Management.
This just does what I want, and hopefully saves other people the time of writing their own routines.

All I can suggest is instal my macro pack and try the shortcuts.

Sounds good, thanks for posting.

WindowDual Version 2.22 posted. (see top of thread)
Major tidy up.
Added a demo feature.
Reduced the hotkeys being used
Updated documentation etc.

For me it is still putting things in the same size on the screen. Hopefully I can make some time to read through he documentation. Thanks for your work.