Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing support for tab-group / integration with desktop.el #51

Open
rytswd opened this issue Dec 28, 2023 · 4 comments
Open

Missing support for tab-group / integration with desktop.el #51

rytswd opened this issue Dec 28, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@rytswd
Copy link
Contributor

rytswd commented Dec 28, 2023

When saving / restoring tab details using tabspaces-save-session and tabspaces-restore-session, tab-group information does not seem to be handled at the moment. I started using desktop.el to save the frame setting instead, which does store the tab setup correctly including tab-group, but I won't get the correct buffer mapping with tabspaces.

What would be the approach I could take to restore all tabs and tab groups, while also keeping the buffers associated to tabs correctly? While both tabspaces-save-session and tabspaces-restore-session work pretty well on their own, is there any way to get them to work with desktop.el?

@mclearc
Copy link
Contributor

mclearc commented Dec 29, 2023

So I actually wrote the save/restore code because it seemed easier than integrating tabspaces with desktop.el. But ideally tabspaces would just bootstrap its session saving/restoring from desktop.el. Unfortunately I'm not sure how to do that (or perhaps I should say, I wasn't sure previously, and I don't have the time right now to revisit it). I'd welcome a pull request for such integration, and that might also help resolve other requests, such as saving shells and other non-file-visiting buffers.

@rytswd
Copy link
Contributor Author

rytswd commented Dec 30, 2023

Thanks, it makes sense how it was easier to implement without desktop.el. I'd be tied up for a little while as well, but if nobody else takes it on, I'll try to have a look at this sometime in early 2024 👍

@antoniocanas
Copy link

Then, let me dream of this UI for 2025:

TabGroupName | Tab 1 | Tab 2
buffer 1 | buffer 2

tab-bar-group with name of project on the upper left (or Home/Work)
tabs for things I'm working on, like: "Bug 123" | "Spike 321" | "Meetings.org"
tab-line with buffers on current tab: "file 1" | "project cmd"

And everything is saved/restored when I restart. With only this package and emacs built-in ones.

@mclearc mclearc added the enhancement New feature or request label Feb 9, 2024
@rytswd
Copy link
Contributor Author

rytswd commented Mar 6, 2024

I haven't had the time to look into this, but thought I'd share how I started using https://github.com/alphapapa/activities.el for session handling (with its (activities-tabs-mode)). Because it's based on bookmark under the hood, tabspaces works with the buffer list for each tab when "activities" command opens buffers (and also processes). I don't get the "tab-group" support, but I can pick and choose a tab which I want to restore / kill which is something I wanted.

I could see the desktop.el integration is still useful for some use case. But I personally got most of what I want from the activities package -- especially when combined with tabspaces, that is 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants