{"id":50996840,"url":"https://github.com/lambdasistemi/tmux-tui","last_synced_at":"2026-06-20T10:32:33.775Z","repository":{"id":364281320,"uuid":"1267137334","full_name":"lambdasistemi/tmux-tui","owner":"lambdasistemi","description":"Mouse-driven drag-and-drop layout manager for tmux","archived":false,"fork":false,"pushed_at":"2026-06-12T11:56:38.000Z","size":31552,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-12T12:21:28.269Z","etag":null,"topics":["layout-manager","ratatui","rust","terminal","tmux","tui"],"latest_commit_sha":null,"homepage":"https://lambdasistemi.github.io/tmux-tui/","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lambdasistemi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-12T08:56:36.000Z","updated_at":"2026-06-12T11:56:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lambdasistemi/tmux-tui","commit_stats":null,"previous_names":["lambdasistemi/tmux-tui"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/lambdasistemi/tmux-tui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdasistemi%2Ftmux-tui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdasistemi%2Ftmux-tui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdasistemi%2Ftmux-tui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdasistemi%2Ftmux-tui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lambdasistemi","download_url":"https://codeload.github.com/lambdasistemi/tmux-tui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdasistemi%2Ftmux-tui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34566920,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["layout-manager","ratatui","rust","terminal","tmux","tui"],"created_at":"2026-06-20T10:32:30.906Z","updated_at":"2026-06-20T10:32:33.770Z","avatar_url":"https://github.com/lambdasistemi.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tmux-tui\n\nA mouse-driven, drag-and-drop layout manager for [tmux](https://github.com/tmux/tmux),\nbuilt with [ratatui](https://ratatui.rs). Pop it over your session, rearrange\npanes and windows by dragging, and close it — your real tmux layout follows.\n\n\u003e **You drag a schematic, not live panes.** tmux-tui draws boxes that mirror\n\u003e your layout and translates each gesture into the matching tmux command\n\u003e (`swap-pane`, `select-layout`, `split-window`, `join-pane`, `swap-window`,\n\u003e `kill-pane`, `rename-window`). True dragging of *live* pane contents is\n\u003e something tmux core itself can't do yet — see\n\u003e [tmux#3503](https://github.com/tmux/tmux/issues/3503), where the maintainer\n\u003e tried it, couldn't make it work, and parked it on a todo list.\n\n📖 **Documentation:** \u003chttps://lambdasistemi.github.io/tmux-tui/\u003e\n\n## Two views\n\n**Pane mode** — the current window's panes as a scaled schematic:\n\n| Gesture / key | Action |\n|---|---|\n| drag a box onto another | swap the two panes |\n| click a box | select it |\n| `\\|` / `-` | split the selected pane (left-right / top-bottom) |\n| `x` | kill the selected pane (click **Yes/No** or `y`/`n`) |\n| `1` `2` `3` `4` `5` | layout: side-by-side · stacked · main-left · main-top · tiled |\n| `space` | cycle layouts |\n| `R` | rename the current window |\n| right-click | context menu (New pane ▸, Kill, Layout, Rename) |\n\n**Window mode** (`Tab`, or the `[ windows ]` button) — mission control over every\nwindow, each tile drawn with its own mini pane-layout:\n\n| Gesture / key | Action |\n|---|---|\n| drag one window onto another | reorder (`swap-window`) |\n| drag a pane into another window | move it there (`join-pane`) |\n| click a window | switch to it |\n| right-click | Rename / New / Close window |\n| `n` / `x` / `R` | new / close / rename window |\n\nThe top-bar buttons — `[ quit ]`, `[ windows ]`/`[ panes ]`, `[ ? help ]` — and\nthe kill/rename dialogs are all clickable, so the whole tool is operable with\nthe mouse alone.\n\n## Install \u0026 run\n\ntmux-tui is launched from a tmux popup. Bind it in your tmux config:\n\n```tmux\n# Ctrl + right-click on any pane, or prefix + g\nbind-key -n C-MouseDown3Pane display-popup -E -w 30% -h 30% tmux-tui\nbind-key g                   display-popup -E -w 30% -h 30% tmux-tui\n```\n\n### macOS (Homebrew)\n\n```sh\nbrew tap lambdasistemi/tap\nbrew install tmux-tui\n```\n\n### Linux\n\nGrab a single-file artifact from the\n[releases page](https://github.com/lambdasistemi/tmux-tui/releases/latest)\n(AppImage / DEB / RPM / static-musl tarball, x86_64 and aarch64). Asset names\ncarry the version, e.g. for v0.1.0 on x86_64:\n\n```sh\ncurl -L https://github.com/lambdasistemi/tmux-tui/releases/download/v0.1.0/tmux-tui-0.1.0-x86_64-linux.AppImage -o tmux-tui\nchmod +x ./tmux-tui\n```\n\n### From source (Nix)\n\n```sh\nnix build github:lambdasistemi/tmux-tui     # ./result/bin/tmux-tui\n# or, from a clone:\nnix develop -c cargo build --release        # ./target/release/tmux-tui\n```\n\n### NixOS / Home Manager (flake)\n\nThe flake exposes a `default` package, an overlay, and modules. Add it as an\ninput:\n\n```nix\ninputs.tmux-tui.url = \"github:lambdasistemi/tmux-tui\";\n```\n\n**Home Manager** — installs the binary and (opt-in) wires the popup keybindings\ninto your tmux config:\n\n```nix\nimports = [ inputs.tmux-tui.homeManagerModules.default ];\n\nprograms.tmux-tui = {\n  enable = true;\n  keybindings = true;   # off by default; needs programs.tmux.enable = true\n  # bindKey = \"g\"; mouse = true; size = \"30%\";   # defaults\n};\n```\n\n**NixOS** — system-wide binary only (tmux config is per-user, so wire keybindings\nwith Home Manager above or your own `programs.tmux.extraConfig`):\n\n```nix\nimports = [ inputs.tmux-tui.nixosModules.default ];\nprograms.tmux-tui.enable = true;\n```\n\n\u003e Windows isn't a target: tmux is POSIX-only and doesn't run on native Windows.\n\u003e Under WSL, use the Linux build.\n\n## Development\n\n`nix flake check` is the single gate — the same command passes locally and in\nCI (clippy, rustfmt, nextest, cargo-deny, rustdoc), with no environment drift.\n\n```sh\njust            # = just ci = nix flake check\njust build      # build the CLI\njust test       # cargo-nextest\njust clippy     # clippy -D warnings\njust fmt        # format in place\n```\n\n## License\n\n[Apache-2.0](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdasistemi%2Ftmux-tui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flambdasistemi%2Ftmux-tui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdasistemi%2Ftmux-tui/lists"}