JonnyHaystack / i3-resurrect

Simple solution to saving and restoring i3 workspaces
GNU General Public License v3.0
368 stars 18 forks source link

Extra options for more flexibility #30

Closed JonnyHaystack closed 4 years ago

JonnyHaystack commented 4 years ago

Over time I am realising that I often switch between different tasks which means different programs/layouts which I will want to save/restore. It's starting to become limiting that I have to use a different workspace for every different task that I might want to work on. It's hard to keep track of which workspace I use for what and the muscle memory is a factor too.

So now I'm thinking it would be nice to have these new options:

A command to list saved sessions would also be nice for scripts. With this I envision a rofi script that allows you to search your saved sessions and restore the selected one into the current workspace.

I want the current usage/workflow to still work the same, because it's quick and works well for the most part, but I'd also like the flexibility of being able to restore an arbitrary named session on any workspace if I need to.

I'd be interested to hear other people's thoughts on this, as it may end up requiring some significant changes to the interface (might be a 2.0.0 feature I'm not sure yet).

JonnyHaystack commented 4 years ago

Some thoughts:

JonnyHaystack commented 4 years ago

I think it actually makes sense just to have each profile be a subdirectory of the i3-resurrect directory. This actually means it's not really necessary because you might as well directly specify --directory|-d, but I think it makes it a bit more intuitive and user-friendly to have a dedicated --profile option.

Scratchpad layout files could just be called scratchpad_programs.json and scratchpad_layout.json.

EDIT: Then again that would mean you can't restore a profile to a different workspace from the one you saved it on..