tmux-plugins / tmux-resurrect

Persists tmux environment across system restarts.
MIT License
11.41k stars 424 forks source link

Adds support for saving and restoring pane titles. #431

Closed Hologos closed 2 years ago

Hologos commented 2 years ago

This PR is a rebase of #342 with addressed PR comments, fixes for restore_shell_history() and dump_shell_history(). It fixes #330 as well.

I am currently testing it but pls test it thoroughly yourself.

It is a breaking change so I added a comment to the changelog.

Hologos commented 2 years ago

TODOs:

Hologos commented 2 years ago

Instead of naming the pane with a standalone command, can we somehow set the correct pane_title when the pane is created?

_Originally posted by @bruno- in https://github.com/tmux-plugins/tmux-resurrect/pull/342#discussion_r815397808_

Sadly it's not possible, I created a function that is called within new_pane() and restore_pane() (if pane already exists) with commit 4a3b59c84bff946348f67e5919dd32e7e8bf3f61. Let me know if I should revert to calling it like in the original PR.

Hologos commented 2 years ago

Last commit reverts to setting pane_title at the end of restore_pane(). Otherwise it has to be called in new_pane(), new_window() and new_session() and once again after the very first pane is killed. This covers all cases.

bruno- commented 2 years ago

@Hologos thank you for working on this.

Let me know if I should revert to calling it like in the original PR.

I'd prefer if we inlined that function, but I'm ok if you really want to keep set_pane_title.

I left a couple small comments, but overall this looks good to me. Just to confirm, you ran this branch on your machine and everything looks good?

Can you please ping me after you make the final tweaks? I'll then test this myself for a couple days, and then we can merge.

Hologos commented 2 years ago

Just to confirm, you ran this branch on your machine and everything looks good?

Can you please ping me after you make the final tweaks? I'll then test this myself for a couple days, and then we can merge.

I've been using it for a week now, resurrected several times + tested it the day I made the changes. We can test it for longer, I am able to rebase it if any changes gets merged into master.

bruno- commented 2 years ago

I've been using it for a week now, resurrected several times + tested it the day I made the changes.

Great. I'll start using it after you make the final tweaks. We can merge this after a couple days if all looks good.

Hologos commented 2 years ago

@bruno- I've made requested changes. Thank you for your time.

bruno- commented 2 years ago

Thanks.

I pulled this branch locally. Testing basic save/restore looks good. I'll continue working with it for the next couple days.

bruno- commented 2 years ago

@Hologos this PR is ready for the merge.

Since this feature contains breaking changes I'll have to release a new major version. That's done by tagging the commit with breaking changes with a new major version v4.0.0. To do that, the feature would ideally be one commit.

So, can you please squash the commits from this branch in a single commit? Thanks

Hologos commented 2 years ago

@bruno- Hi, I squashed them into a single one. Cheers

ioogithub commented 2 years ago

Thank you for working on this feature. Is this ready to test yet?

ioogithub commented 2 years ago

I would love to try this. I see version 4.0 was release 16 days ago. Does this version contain the change? I did not see a changelog on the release page.

Hologos commented 2 years ago

@ioogithub The feature is part of v4.0 release.