Too late. I already tried it. Love it.
Some feedback that you've probably already considered, all delivered with the caveat that I have no idea how difficult or time consuming they might be to implement, so please forgive me if I'm casually asking you to move mountains:
-
Currently, adding the active folder to the most recent set involves three keypresses. (Activate macro, enter, then enter again.) Consider adding another hotkey option that would add the active folder without having to interact with the save folder dialog.
-
Currently, the macro only saves the active folder, regardless of how many other tabs are open in the active window. It would be incredible if there was an option to save all open folders, or all open tabs in the active window. (My test of the macro involved individually saving a few dozen Finder tabs, easily ~100 keypresses; doing that in one or two would be killer. I understand that the current limit on set size may be an / the obstacle.)
-
The save folder to set dialog defaults to the most recent set, with the option to use the dropdown menu to select a different destination. Currently, changing the destination works but the set contents list doesn't update.
-
It would be nice to have the option of restoring a set to its own new window. I would probably set that as my default behavior.
-
Have you considered expanding the macro to the workspace-level? Meaning save/restore for all open Finder windows, keeping track of which tabs are associated with which window. Bonus points for also remembering window position on screen.
On the chance you haven't already seen it, you might want to check out this thread. One of the scripts in the linked thread reliably retrieves the path of every open Finder tab other than searches:
tell application "Finder"
set winList to windows
repeat with theWin in winList
try -- Filter-out any search windows and convert to aliases.
set contents of theWin to (target of theWin as alias)
on error
set contents of theWin to 0
end try
end repeat
end tell
# Finish filtering
set winList to aliases of winList
Regardless of whether any of my suggestions are implemented, this absolutely rocks. Thanks again.