{"id":19184017,"url":"https://github.com/mnjm/tmux-sessionizer","last_synced_at":"2026-01-11T03:03:36.675Z","repository":{"id":239430657,"uuid":"799508016","full_name":"mnjm/tmux-sessionizer","owner":"mnjm","description":"Tmux Sessionizer: Bash script for creating/switching between tmux sessions using fzf","archived":false,"fork":false,"pushed_at":"2024-06-03T16:48:57.000Z","size":29,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T03:41:33.755Z","etag":null,"topics":["fzf","fzf-scripts","tmux","tmux-scripts"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mnjm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-12T11:11:54.000Z","updated_at":"2024-06-03T16:49:01.000Z","dependencies_parsed_at":"2025-02-07T03:12:56.158Z","dependency_job_id":"1c6d1db9-a6eb-47d7-8d69-0507990ea535","html_url":"https://github.com/mnjm/tmux-sessionizer","commit_stats":null,"previous_names":["mnjm/tmux-sessionizer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mnjm/tmux-sessionizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnjm%2Ftmux-sessionizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnjm%2Ftmux-sessionizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnjm%2Ftmux-sessionizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnjm%2Ftmux-sessionizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mnjm","download_url":"https://codeload.github.com/mnjm/tmux-sessionizer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnjm%2Ftmux-sessionizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28274269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T02:08:32.518Z","status":"ssl_error","status_checked_at":"2026-01-11T02:08:32.093Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fzf","fzf-scripts","tmux","tmux-scripts"],"created_at":"2024-11-09T11:05:53.223Z","updated_at":"2026-01-11T03:03:36.656Z","avatar_url":"https://github.com/mnjm.png","language":"Shell","readme":"# tmux-sessionizer\n\nTMUX Sessionizer is a fzf-based tmux session and project switcher written in Bash.\n\n![Demo.gif](https://github.com/mnjm/github-media-repo/blob/main/tmux-sessionizer/demo.gif?raw=true)\n\nThis is heavily based upon [ThePrimeagen](https://www.youtube.com/channel/UC8ENHE5xdFSwx71u3fDH5Xw)'s [tmux-sessionizer](https://github.com/ThePrimeagen/.dotfiles/blob/master/bin/.local/scripts/tmux-sessionizer) which I found a little non flexible.\n\n1. Sometimes, I open Tmux sessions for general use outside of specific projects and wanted a script that lists these one-off sessions alongside projects.\n2. My projects organization is somewhat disorganized, as I use entirely different directory structures for my work and personal projects.\n3. I've integrated `git worktree` into my projects, so was looking for a script that can handle such worktree branchs as well.\n\n**How does this tmux-sessionizer work?**\n\nThis script first lists Tmux sessions in FZF, then projects from a file (Default: `$HOME/.tmux-sessionizer.list`). You can add or edit entries with `tmux-sessionizer add` or `tmux-sessionizer edit`.\n\n\u003cdetails\u003e\n\n   \u003csummary\u003eSome other similar alternatives.\u003c/summary\u003e\n\n- [jrmoulton/tmux-sessionizer](https://github.com/jrmoulton/tmux-sessionizer) - more \"feature reach\" and built using rust\n- [joshmedeski/t-smart-tmux-session-manager](https://github.com/joshmedeski/t-smart-tmux-session-manager) - uses [zoxide](https://github.com/ajeetdsouza/zoxide)\n- [joshmedeski/sesh](https://github.com/joshmedeski/sesh) - from t-smart-tmux-session-manager's dev built using go\n\n\u003c/details\u003e\n\n## Commands\n\n- `tmux-sessionizer switch`: Fuzzy search through Tmux sessions and projects and switch/create a session for the selected entry.\n- `tmux-sessionizer add [path] [name]`: Add a new entry to the list file with the specified path and session name. If no path is provided, it defaults to pwd. If no name is provided, it defaults to basename of path.\n- `tmux-sessionizer edit`: Opens the sessionizer list file in editor. Refers `$EDITOR`, if not provided defaults to `vim`.\n- `tmux-sessionizer sanitize`: Remove duplicate and non-reachable entries from the list file.\n\n## Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/mnjm/tmux-sessionizer.git\n   ```\n\n2. Add the script directory to your `$PATH` environment variable. For example, if you cloned the repository to `~/tmux-sessionizer`, add the following line to your shell profile (e.g., `.bashrc`, `.zshrc`):\n\n   ```bash\n   export PATH=\"~/tmux-sessionizer:$PATH\"\n   ```\n\n   (or) Copy / link `tmux-sessionizer` script in one of the entries directory in your `$PATH` For ex. `~/.local/bin`\n\n   ```bash\n   cd ./tmux-sessionizer\n   cp ./tmux-sessionizer ~/.local/bin\n   (or)\n   ln -s $(realpath tmux-sessionizer) ~/.local/bin/\n   ```\n\n3. (Optional) you can add it as an alias in your shell config (.bashrc or .zshrc):\n\n   ```bash\n   alias tmuxs='tmux-sessionizer switch'\n   alias tmuxs-add='tmux-sessionizer add'\n   alias tmuxs-edit='tmux-sessionizer edit'\n   ```\n\n4. (Optional) you can add it as a binding in your tmux config (.tmux.conf):\n\n   ```tmux\n   bind s display-popup 'tmux-sessionizer switch'\n   ```\n\n### Configuration\n\nEnvironment variables\n\n- `TMUX_SEZ_LIST_FILE`: Path to the list file. Default: `$HOME/.tmux-sessionizer.list`\n- `TMUX_SEZ_FZF_COMMAND`: Custom fzf command. Default: `fzf --height 100% --reverse`\n\n\n## Contributing\n\nContributions are welcome! Feel free to open an issue or submit a pull request\n\n## License\n\nThis project is licensed under the MIT License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnjm%2Ftmux-sessionizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmnjm%2Ftmux-sessionizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnjm%2Ftmux-sessionizer/lists"}