When jumping to a new workspace, autosave the previous workspace as "previous" so you can easily come back

Use case or problem

Often I’ll be working and the current state of my UI’s layout isn’t a specific workspace, just various notes open for that particular moment. When I jump to an existing workspace, there’s no way to come back to the previous layout. If you try to go back (CTRL + OPTION + Left Arrow) it only goes back for the active note, not the entire layout.

Proposed solution

It would be great if any time you switched to a new workspace, the previous UI layout and notes (even if it isn’t explicitly saved as a workspace) gets auto-saved as a temporary “previous/temp workspace”.

Then, you could create a hotkey that lets you jump back to “previous/temp workspace”, whatever it is. Or there is just a new workspace defined called “previous/temp” that is always overwritten and you access it like any other workspace, it just auto updates continuously anytime you evoke a pre-defined workspace.

Some additional features that would make this even better.

  1. OBSIDIAN IS SMART ENOUGH NOT TO OVERRIDE “PREVIOUS/TEMP” WITH AN ALREADY DEFINED WORKSPACE: If you jump to multiple workspaces, Obsidian doesn’t overwrite the “previous/temp workspace”. For example, I have two workspaces already defined, A and B. I’m currently not in a workspace, then I jump to A. My previous layout is stored as “previous/temp workspace”. I now jump to B. In this scenario, “previous/temp workspace” isn’t overwritten by A because Obsidian knows A is already defined. This way I can go from no workspace to A to B and finally back to “previous/temp workspace”.

  2. RUNNING HISTORY OF TEMP WORKSPACES: Just some additional functionality, might be overkill I don’t know. You have hotkeys that jump forward and backward through “previous/temp workspaces”. For example, I jump from no workspace (X) to workspace A to another layout that isn’t a saved workspace (Y) to workspace B. I can now use my hotkey to go back to Y. And if I press it again it goes back to X. If I press it again it goes to Y again. The “previous/temp workspaces” only get defined the moment you evoke a real workspace.

This workflow would be very useful because you would have the freedom to jump to a defined workspace at any moment, do some work, muck around for a while moving notes, maybe even jump to another defined workspace, and then finally return to your original layout even if it wasn’t an explicitly defined workspace.

Just to reiterate this point, my workflow uses workspaces, which are common layouts I return to again and again. But in the course of a day’s work, I’m also working in temporary workspaces (so to speak) that I really only need for an hour or two, and don’t warrant a full workspace definition to be saved.

Current workaround (optional)

No workarounds.

Related feature requests (optional)

17 Likes

Request popularity: +1

+1
Really need to save workspace automatically.

I hope the workspace autosaves like in VSCode

Is this feature already implemented by Workspaces: save and load another layout (Obsidian 1.5.3)?

No. This FR is asking to create a new workspace called “previous” and then change to another workspace.

Workspaces: save and load another layout first overwrites the current workspace (which the OP doesn’t want)

+1. Just found about the Workspaces core plugin and assumed it would save my working space in its current status, as I’m working on it - it took some digging to understand that it’s rather about explicitly managing fixed templates for open tabs. Much less useful than I hoped for.

(To be clear, what I was hoping is to have a set of open tabs which is continually auto-saved, and to which I can later return. One could define e.g. 2 different such sets (say, “work” and “phd”), and one could switch from one to the other more or less easily.
Note that when these sets are saved explicitly, you have the current functionality of the Workspaces plugin; what is missing is the “auto-saved” part.)

1 Like

you can create a macro with the commander plugin – two steps needed:

  1. save workspace with core plugin
  2. open another with quickadd

see: