My original implementation (and I assume @tiffle's original implementation) seemed to be a little buggy on a few fronts:
- It didn't always bring the window. The click and hold seemed to be missed.
- It didn't always leave the window/application focussed depending on the state of the space it was throwing to.
Adding a small 0.1 second pause and restoring whatever the current application was seems to be working a bit more consistently.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>3183</integer>
<key>MacroActionType</key>
<string>SetVariableToText</string>
<key>Text</key>
<string>%Application%1%</string>
<key>Variable</key>
<string>Current Application</string>
</dict>
<dict>
<key>ActionUID</key>
<integer>2791</integer>
<key>MacroActionType</key>
<string>SetVariableToCalculation</string>
<key>Text</key>
<string>MOUSEX(), MOUSEY()</string>
<key>UseFormat</key>
<false/>
<key>Variable</key>
<string>Mouse Position</string>
</dict>
<dict>
<key>Action</key>
<string>MoveAndClick</string>
<key>ActionUID</key>
<integer>2347</integer>
<key>Button</key>
<integer>0</integer>
<key>ClickCount</key>
<integer>1</integer>
<key>DisplayMatches</key>
<false/>
<key>DragHorizontalPosition</key>
<string>-100</string>
<key>DragVerticalPosition</key>
<string>100</string>
<key>Fuzz</key>
<integer>15</integer>
<key>HorizontalPositionExpression</key>
<string>15</string>
<key>MacroActionType</key>
<string>MouseMoveAndClick</string>
<key>Modifiers</key>
<integer>0</integer>
<key>MouseDrag</key>
<string>Hold</string>
<key>Relative</key>
<string>Window</string>
<key>RelativeCorner</key>
<string>TopLeft</string>
<key>RestoreMouseLocation</key>
<false/>
<key>VerticalPositionExpression</key>
<string>5</string>
</dict>
<dict>
<key>ActionUID</key>
<integer>3185</integer>
<key>MacroActionType</key>
<string>Pause</string>
<key>Time</key>
<string>0.1</string>
<key>TimeOutAbortsMacro</key>
<true/>
</dict>
<dict>
<key>ActionUID</key>
<integer>2778</integer>
<key>CaseEntries</key>
<array>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2348</integer>
<key>KeyCode</key>
<integer>122</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F1</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2779</integer>
<key>KeyCode</key>
<integer>120</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F2</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2780</integer>
<key>KeyCode</key>
<integer>99</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F3</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2781</integer>
<key>KeyCode</key>
<integer>118</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F4</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2782</integer>
<key>KeyCode</key>
<integer>96</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F5</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2783</integer>
<key>KeyCode</key>
<integer>97</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F6</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2784</integer>
<key>KeyCode</key>
<integer>98</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F7</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2785</integer>
<key>KeyCode</key>
<integer>100</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F8</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2786</integer>
<key>KeyCode</key>
<integer>101</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F9</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2787</integer>
<key>KeyCode</key>
<integer>109</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F10</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2788</integer>
<key>KeyCode</key>
<integer>103</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F11</string>
</dict>
<dict>
<key>Actions</key>
<array>
<dict>
<key>ActionUID</key>
<integer>2789</integer>
<key>KeyCode</key>
<integer>111</integer>
<key>MacroActionType</key>
<string>SimulateKeystroke</string>
<key>Modifiers</key>
<integer>133120</integer>
<key>ReleaseAll</key>
<false/>
<key>TargetApplication</key>
<dict/>
<key>TargetingType</key>
<string>Front</string>
</dict>
</array>
<key>ConditionType</key>
<string>EndsWith</string>
<key>TestValue</key>
<string>F12</string>
</dict>
</array>
<key>MacroActionType</key>
<string>Switch</string>
<key>Source</key>
<string>Text</string>
<key>Text</key>
<string>%TriggerValue%</string>
</dict>
<dict>
<key>Action</key>
<string>MoveAndClick</string>
<key>ActionUID</key>
<integer>2349</integer>
<key>Button</key>
<integer>0</integer>
<key>ClickCount</key>
<integer>-1</integer>
<key>DisplayMatches</key>
<false/>
<key>DragHorizontalPosition</key>
<string>0</string>
<key>DragVerticalPosition</key>
<string>0</string>
<key>Fuzz</key>
<integer>15</integer>
<key>HorizontalPositionExpression</key>
<string>0</string>
<key>MacroActionType</key>
<string>MouseMoveAndClick</string>
<key>Modifiers</key>
<integer>0</integer>
<key>MouseDrag</key>
<string>None</string>
<key>Relative</key>
<string>Window</string>
<key>RelativeCorner</key>
<string>TopLeft</string>
<key>RestoreMouseLocation</key>
<false/>
<key>VerticalPositionExpression</key>
<string>100</string>
</dict>
<dict>
<key>Action</key>
<string>SetMouse</string>
<key>ActionUID</key>
<integer>2792</integer>
<key>MacroActionType</key>
<string>UseVariable</string>
<key>Variable</key>
<string>Mouse Position</string>
</dict>
<dict>
<key>Action</key>
<string>SetApplicationByName</string>
<key>ActionUID</key>
<integer>3184</integer>
<key>MacroActionType</key>
<string>UseVariable</string>
<key>Variable</key>
<string>Current Application</string>
</dict>
</array>
<key>CreationDate</key>
<real>752869222.298648</real>
<key>ModificationDate</key>
<real>753018936.33725595</real>
<key>Name</key>
<string>Throw Window to Space</string>
<key>Triggers</key>
<array>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>122</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>120</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>99</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>118</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>96</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>97</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>98</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>100</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>101</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>109</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>103</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
<dict>
<key>FireType</key>
<string>Pressed</string>
<key>KeyCode</key>
<integer>111</integer>
<key>MacroTriggerType</key>
<string>HotKey</string>
<key>Modifiers</key>
<integer>6656</integer>
</dict>
</array>
<key>UID</key>
<string>56B129B1-C3C7-456C-917A-C05744EC046E</string>
</dict>
</plist>
Throw Window to Space.kmmacros (15.7 KB)