[EDIT: This is Version 2 of this Group of Macros. It allows a choice to Save and Recall Multiple Workspaces - so, "Skype Meeting" "Music Meeting" "Workspace A" or any name you want, can all have their own layout of Apps and Finder Folders to Save and Recall. It saves the Data differently to Version 1 so any Workspaces saved with Version 1 would need to be repositioned manually and saved again.]
During the long lockdown I had many online meetings where I arranged several Finder Windows and Apps on my monitors and had certain Webpages open. At the end of the meeting those Windows got moved and closed and I wanted a way to Restore my nicely arranged Workspace the next time I had a similar meeting.
Version 2 has been working consistently for me so, I thought it was a good time to upload it. If I find any bugs I will edit this post and upload the latest version.
Here are the Instructions (also included in the Read Me Action in the Group).
Tested with Keyboard Maestro 9.2 and Big Sur 11.2.2
Save and Restore Workspaces (Positions/Sizes of Windows for Finder Folders, Applications and Webpages).
Version 2 adds the ability to Save and Restore from a Choice of Multiple Workspaces.
**SET UP:**Change the Trigger Shortcuts for the 4 Macros to what you would like. I have them as:
⌃⌘S to Save to a Workspace
⌃⌘R to Restore Workdpaces
⌃⌘E to Edit Workspace Names
⌃⌘⌫ to Clear a Workspace
HOW TO USE:
Position and size up to 8 open Applications and Finder Windows in a way that works well for a task. Open any URL in Safari or Chrome that you want to save for the task.
Once all are nicely positioned, click on the first Window that you want to save the Position/Size/Path/URL and run the Save To Workspace Macro. I have the shortcut as ⌃⌘S
A Dialog will pop up allowing you to choose the Workspace to Save to. By Default a Workspace called "Workspace A" is selected.
Press OK to Save to the Workspace.
Or select another Workspace from the Dropdown List.
Or press Edit Workspaces... to change the Workspace names to something more useful to you than Workspace A,B,C,D,E,F such as "Skype Meeting" "Sound Editing" "Review Notes". Up to 6 Workspace names can be Saved.
- Click on the next Window that you have positioned nicely, press ⌃⌘S to Save it to the currently selected Workspace. The process is very quick.
Up to 8 Windows can be saved for each Workspace. If an existing Application or Finder Window is resaved only the latest Position/Size/Path/URL is included in the Workspace.
- To Restore a Workspace, run the Companion Macro Restore Workspace. I have the Shortcut as ⌃⌘R
This presents the most recently used Workspace as default, with a Dropdown List to select any other Workspace to Restore.
Press OK to Restore the Workspace shown (all windows will be Restored to their Saved Positions, Finder Folders Saved will be Reopened and URLs will be Restored for Safari and Chrome).
A third Macro, Clear All frees up any selected Workspace again by emptying all its Slots. I have the Shortcut as ⌃⌘⌫
A fourth Macro, Edit Workspaces allows you to choose your own names for the 6 possible Workspaces. I have the Shortcut as ⌃⌘E
If at a future date, you want to modify the Saved Position/Size/Path/URL of any particular Window in a Workspace, just makes sure it is the frontmost Window on the Desktop and run Save To Workspace ⌃⌘S. This will overwrite the old saved Position/Size/Path/URL for the frontmost Window.
Multiple Finder Folders can be Saved in any one Workspace.
Folders will remember their Path and automatically re-open (even if that particular Folder has been closed in the meantime).
Web Pages from Safari and Google Chrome
The current URL in Safari or Chrome will be Saved and Recalled. I have found this to be useful in repeat meetings.
Application Windows don't remember any particular file. The reasoning being that each time an Application (e.g. QuickTime) is used in a Workspace it will probably be with a different document open and it would be annoying if it kept reverting back to the document that was open at the time the Workspace was Saved. Only one instance of an Application can be Saved in each Workspace.
If the Keyboard Maestro Library is synced across multiple Macs, one benefit of the fact that Keyboard Maestro does not sync Variables & Dictionaries is that the Workspaces will be unique to each Mac.
A Workspace can have Windows arranged over multiple Monitors.
If you remame an exisiting Workspace it will become a new blank Workspace and you will lose the orginal saved Workspace.