MACROS: WinMover - Rearrange Windows in Halves and Quadrants, or Move to another Screen

MACROS: WinMover - Rearrange Windows in Easy Halves and Quadrants, or Move to another Screen

This is a moderate reworking of an old group of macros I wrote in 2016--omg has it been SEVEN YEARS :skull:-- titled "MACRO: Move and Resize Windows In Any Quadrant, Half, or Full Screen". There are many examples on the forum of how you can move and arrange windows with the Manipulate a Window Action. Most of these macros use numeric hotkeys or similar; however, I prefer a more visual (spatial?) system for moving windows, using a hotkey + arrow combinations to represent the desired window positioning.

These macros work by relying on an (ugly) set of nested If Then Else Actions which check for various combinations of Key conditions.

WinMover is triggered with βŒƒβŒ₯⌘ + any combination of arrow keys.

For example:

βŒƒβŒ₯⌘ + ← = left column
βŒƒβŒ₯⌘ + ←↑ = top left quadrant of the screen
βŒƒβŒ₯⌘ + ↓→ = bottom right quadrant of the screen
βŒƒβŒ₯⌘ + ←→ = full screen
βŒƒβŒ₯⌘ + ↓↑ = full screen

And so forth! The order in which you press the arrows does not matter, since there are four separate macros, each watching for one of the arrow keys, which may be pressed fractions of a second before the other arrows as you define the β€œshape” of your window movement.

Macro Image -- WinMover: Easy Halves and Quadrants L

WinMover Macros v1.kmmacros (52.3 KB)
(This file contains a macro group titled WinMover. The group and its macros are uploaded in a disabled state. You must enable the macros and the group before use.)

I have also included two "Throw" macros, which are triggered with βŒ₯⌘ + ← or βŒ₯⌘ + β†’ to β€œthrow” a window to the left or right screen while maintaining its current shape and position.

Macro Image -- WinMover: Throw Window to Left Screen and Maintain Its Position

You may need to adjust the magenta colored actions based on the arrangement of your monitors. You can also combine them into one macro which acts as a toggle, like Peter’s example here, which I used to create my version:

I’ve also added a timer of sorts. Triggering the Window Thrower once will move the window to the other screen while maintaining position. Triggering it again within 0.5 seconds will make that window full screen, so rather than β€œthrowing” with one hotkey, and full screening with another hotkey, I can simply tap the arrow key a second time like so: βŒ₯⌘ + β†’,β†’