joshmedeski / t-smart-tmux-session-manager

t - the smart tmux session manager
326 stars 51 forks source link

Integrate with workspace mangers #64

Closed joshmedeski closed 1 year ago

joshmedeski commented 1 year ago

There are many tmux workspace manager (see awesome-tmux).

I want to integrate this plugin with those tools, so when you choose a session it can detect your workspace manager and load the correct windows and panes automatically.

I think this will be a huge productivity boost! I'll leave it to the community to help me integrate with multiple workspace managers but I'll start with create an abstract layer that can offer multiple implementations through one entry point on this plugin.

I haven't used any tmux workspace managers consistently so I'll be experimenting and would love feedback from you for which ones you use so I can begin adding integrations.

Configuration Concept

As a user, I want to configure my favorite tmux session manager, so I can automate the creation of projects and boost my productivity.

This will need to be a shell variable, so that it always works even if tmux isn't running yet.

T_WORKSPACE_MANAGER="tmuxinator"

My initial thought is to create a factory for choosing which workspace manager you want to use and, for now, only accept one at a time (maybe we could add a "smart" detector later, but I think that will complicate things).

Then, on selection, rather than just creating a sessions and switching to it, I can create a sort of optional middleware operation that can compose a workspace before attaching.

Please share your thoughts here and let me know what workspace manager to prioritize!

joshmedeski commented 1 year ago

I've decided to go with a startup script, which is now live!