{"id":13425036,"url":"https://github.com/aaronjanse/3mux","last_synced_at":"2025-05-15T07:04:17.032Z","repository":{"id":39704051,"uuid":"164345851","full_name":"aaronjanse/3mux","owner":"aaronjanse","description":"Terminal multiplexer inspired by i3","archived":false,"fork":false,"pushed_at":"2022-11-22T01:40:30.000Z","size":10804,"stargazers_count":1821,"open_issues_count":39,"forks_count":46,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-04-14T10:42:49.504Z","etag":null,"topics":["hacktoberfest","i3","i3wm","tmux","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","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/aaronjanse.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}},"created_at":"2019-01-06T21:11:43.000Z","updated_at":"2025-04-07T11:01:46.000Z","dependencies_parsed_at":"2023-01-21T02:46:03.552Z","dependency_job_id":null,"html_url":"https://github.com/aaronjanse/3mux","commit_stats":null,"previous_names":["aaronjanse/i3-tmux"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjanse%2F3mux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjanse%2F3mux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjanse%2F3mux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjanse%2F3mux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronjanse","download_url":"https://codeload.github.com/aaronjanse/3mux/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292039,"owners_count":22046426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["hacktoberfest","i3","i3wm","tmux","tui"],"created_at":"2024-07-31T00:01:02.889Z","updated_at":"2025-05-15T07:04:12.023Z","avatar_url":"https://github.com/aaronjanse.png","language":"Go","funding_links":[],"categories":["Go","Tools","tui"],"sub_categories":["Go"],"readme":"`3mux` is a terminal multiplexer with out-of-the-box support for search, mouse-controlled scrollback, and i3-like keybindings. Imagine `tmux` with a smaller learning curve and more user-friendly defaults.\n\n[\u003cimg src=\"./demo.gif\" width=\"800\"/\u003e](https://streamable.com/m2r57p)\n\n\u003c!--TODO: GIF!--\u003e\n\n### Features\n\n* batteries included\n* i3-like keybindings\n* session management\n  * optionally interactive\n  * self-documenting\n* search\n* scrollback\n* mouse support\n  * drag to resize panes\n  * click to select pane\n  * scrollwheel\n\n### Key Bindings\n\n| Key(s) | Description\n|-------:|:------------\n|\u003ckbd\u003eAlt+Enter\u003c/kbd\u003e\u003cbr\u003e\u003ckbd\u003eAlt+N\u003c/kbd\u003e | Create a new pane\n|\u003ckbd\u003eAlt+Shift+F\u003c/kbd\u003e | Make the selected pane fullscreen. Useful for copying text\n|\u003ckbd\u003eAlt+\u0026larr;/\u0026darr;/\u0026uarr;/\u0026rarr;\u003c/kbd\u003e\u003cbr\u003e\u003ckbd\u003eAlt+h/j/k/l\u003c/kbd\u003e | Select an adjacent pane\n|\u003ckbd\u003eAlt+Shift+\u0026larr;/\u0026darr;/\u0026uarr;/\u0026rarr;\u003c/kbd\u003e\u003cbr\u003e\u003ckbd\u003eAlt+Shift+h/j/k/l\u003c/kbd\u003e | Move the selected pane\n|\u003ckbd\u003eAlt+R\u003c/kbd\u003e | Enter resize mode. Resize selected pane with arrow keys or \u003ckbd\u003eh/j/k/l\u003c/kbd\u003e. Exit using any other key(s)\n|\u003ckbd\u003eAlt+/\u003c/kbd\u003e | Enter search mode. Type query, navigate between results with arrow keys or \u003ckbd\u003en/N\u003c/kbd\u003e\n|\u003ckbd\u003eScroll\u003c/kbd\u003e | Move through scrollback\n|\u003ckbd\u003eShift\u003c/kbd\u003e | Many terminal emulators support selecting text while pressing this key\n\n\n### Supported tmux Bindings\n\n| Key(s) | Description\n|-------:|:------------\n|\u003ckbd\u003eCtrl+b \"\u003c/kbd\u003e | Split horizontally\n|\u003ckbd\u003eCtrl+b %\u003c/kbd\u003e | Split vertically\n|\u003ckbd\u003eCtrl+b {\u003c/kbd\u003e | Move pane left\n|\u003ckbd\u003eCtrl+b }\u003c/kbd\u003e | Move pane right\n\n### Supported screen Bindings\n\n| Key(s) | Description\n|-------:|:------------\n|\u003ckbd\u003eCtrl+a \\|\u003c/kbd\u003e | Split horizontally\n|\u003ckbd\u003eCtrl+a S\u003c/kbd\u003e | Split vertically\n|\u003ckbd\u003eCtrl+a Tab\u003c/kbd\u003e | Cycle forward through panes\n\n### Installation Instructions\n\n###### Using Homebrew\n\n```\nbrew update\nbrew install 3mux\n```\n\n###### Using Nix flakes (requires Nix 2.4+)\n\n```\nnix run github:aaronjanse/3mux\n```\n\n###### Package manager\n\n[![Packages for 3mux](https://repology.org/badge/vertical-allrepos/3mux.svg)](https://repology.org/project/3mux/versions)\n\n###### Building from source\n1. Install Golang\n2. `go get github.com/aaronjanse/3mux`\n3. Run `3mux` to launch the terminal multiplexer\n\nTo update `3mux`, run `go get -u github.com/aaronjanse/3mux`\n\n#### Terminal.app\n_**Warning: Arrow-key-controlled pane management is currently unsupported on Terminal.app. Please use the default vim-like keybindings instead.**_  \nPreferences \u003e Profiles \u003e Keyboard \u003e Use Option as Meta Key  \n\n#### iTerm2\nPreferences \u003e Profiles \u003e Keys \u003e Option Key \u003e Esc+\n\n### Miscellaneous\n\n3mux searches `XDG_CONFIG_HOME` to find its config. If it cannot, it writes a config to `~/.config/3mux/config.toml` upon the first run. Modifiers in shortcuts (e.g. `Alt`) are case-insensitive.\n\nYou can detect if you're running a script inside 3mux by checking if `THREEMUX` is equal to `1`.\n\n### Contributing\nAll help is welcome! You can help the project by filing issues recording what works well, what doesn't work well, and/or a feature you want. Pull Requests would be very much appreciated.\n\n### Related Projects\n* [tmux-tilish](https://github.com/jabirali/tmux-tilish)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronjanse%2F3mux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronjanse%2F3mux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronjanse%2F3mux/lists"}