Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/2KAbhishek/tmux-tea
tmux sessions as easy as tea ☕🪟
https://github.com/2KAbhishek/tmux-tea
manager plugin session tmux utility
Last synced: about 1 month ago
JSON representation
tmux sessions as easy as tea ☕🪟
- Host: GitHub
- URL: https://github.com/2KAbhishek/tmux-tea
- Owner: 2KAbhishek
- License: gpl-3.0
- Created: 2023-10-18T15:52:31.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-30T08:31:09.000Z (about 2 months ago)
- Last Synced: 2024-11-12T23:38:31.902Z (about 1 month ago)
- Topics: manager, plugin, session, tmux, utility
- Language: Shell
- Size: 240 KB
- Stars: 38
- Watchers: 2
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tmux - tea
README
tmux-tea is a tmux session manager aimed at simplifying and speeding up how you interact with tmux sessions.
It's a one key solution to all your tmux session needs.## ✨ Features
- Integrations with tmuxinator for session specific configs
- Integrations with fzf for fuzzy search
- Supports session previews
- Integrations with zoxide for directory based session creation## Setup
### ⚡ Requirements
- tmux, fzf, zoxide (required)
- tmuxinator (for session layouts)
- eza (for directory previews)### 🚀 Installation
Add the following to your `~/.tmux.conf`
```bash
set -g @plugin '2kabhishek/tmux-tea'
``````bash
cd ~/.tmux/plugins/tmux-tea # replace ~/.tmux/plugins with your plugin installation path
ln -sfnv $PWD/bin/tea.sh ~/.local/bin/tea # Add tea to $PATH, make sure ~/.local/bin is in your $PATH
```### 💻 Usage
There are two ways to open tea
- ` - t`, this can be configured with the `@tea-bind` option e.g: `set -g @tea-bind "t"`
- Ctrl+t alternate binding for a smoother experience.#### Keybindings
- Ctrl+f - Directory mode
- Ctrl+j - Zoxide mode
- Ctrl+s - Session mode
- Ctrl+w - Window mode
- Ctrl+x - Kill mode
- Ctrl+t - Toggle tea#### tmuxinator integration
If you have a `.tmuxinator.yml` file in your directory, tea will use it for setting up your session.
If you have a tmuxinator config file in `~/.config/tmuxinator/` that has the same name as your tmux session directory then that will be used.
If none of these are present a tmux session is created from scratch.
#### default command
If there is no tmuxinator config present, you can set a default command to run in the session using:
```tmux
set -g @tea-default-command "$EDITOR"
```This will open every new session after the initial one with your "$EDITOR" command running.
#### zsh integration
If you use zsh you can add the `` binding outside tmux as well using this sni[[ed]]
```bash
bindkey -s '^T' ' tea^M ^M'
```#### full session names
You can set the session name to be the full path you select instead of the directory using:
```tmux
set -g @tea-session-name "full-path"
```## Behind The Code
### 🌈 Inspiration
tmux-tea was inspired by [t-smart-tmux-session-manager](https://github.com/joshmedeski/t-smart-tmux-session-manager) and shares a lot of code.
I wanted to add some more features that diverged from the original repo and wanted to keep the configs simpler.
### 💡 Challenges/Learnings
- Figuring out the preview script was quite tricky.
- Bash shenanigans!### 🧰 Tooling
- [dots2k](https://github.com/2kabhishek/dots2k) — Dev Environment
- [nvim2k](https://github.com/2kabhishek/nvim2k) — Personalized Editor
- [sway2k](https://github.com/2kabhishek/sway2k) — Desktop Environment
- [qute2k](https://github.com/2kabhishek/qute2k) — Personalized Browser### 🔍 More Info
- [tmux-tilit](https://github.com/2kabhishek/tmux-tilit) — Turns tmux into a terminal window manager
- [tmux2k](https://github.com/2kabhishek/tmux2k) — Makes your tmux statusbar pretty!
⭐ hit the star button if you found this useful ⭐
Source
| Blog
| More Links
| Other Projects