{"id":51134897,"url":"https://github.com/mgalgs/tmux-view.el","last_synced_at":"2026-06-25T16:30:50.841Z","repository":{"id":347871074,"uuid":"1142712884","full_name":"mgalgs/tmux-view.el","owner":"mgalgs","description":"Emacs package to grab text from your tmux sessions","archived":false,"fork":false,"pushed_at":"2026-02-12T20:09:58.000Z","size":17,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-29T21:47:52.911Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgalgs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-01-26T19:04:22.000Z","updated_at":"2026-02-12T20:10:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mgalgs/tmux-view.el","commit_stats":null,"previous_names":["mgalgs/tmux-view.el"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mgalgs/tmux-view.el","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgalgs%2Ftmux-view.el","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgalgs%2Ftmux-view.el/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgalgs%2Ftmux-view.el/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgalgs%2Ftmux-view.el/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgalgs","download_url":"https://codeload.github.com/mgalgs/tmux-view.el/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgalgs%2Ftmux-view.el/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34784112,"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-25T02:00:05.521Z","response_time":101,"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":[],"created_at":"2026-06-25T16:30:50.258Z","updated_at":"2026-06-25T16:30:50.836Z","avatar_url":"https://github.com/mgalgs.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://github.com/mgalgs/tmux-view.el\"\u003e\u003cimg src=\"https://www.gnu.org/software/emacs/images/emacs.png\" alt=\"Emacs Logo\" width=\"80\" height=\"80\" align=\"right\"\u003e\u003c/a\u003e\n\n## tmux-view.el\n\n*Grab text from your tmux sessions*\n\n---\n[![License GPLv3](https://img.shields.io/badge/license-GPL_v3-green.svg)](http://www.gnu.org/licenses/gpl-3.0.html)\n\n# Overview\n\nQuickly grab text from your tmux sessions, selecting from a rich set of completing read options constructed from your active `tmux` sessions.\n\n- **Full History**: Captures the entire scrollback buffer (not just the visible screen).\n- **ANSI Color Support**: Preserves terminal colors so logs and CLI outputs look exactly like they do in your terminal.\n- **Auto-Updating**: Press `g` to refresh the buffer with the latest output from the live pane.\n- **Read-Only Safety**: Buffers are read-only by default to prevent accidental modification of process output.\n- **Single-Query Discovery**: Flat completion list lets you filter by session, window, or process in one step—no multi-step wizards.\n\n# Installation\n\n## use-package (from GitHub)\n\n```elisp\n(use-package tmux-view\n  :vc (:url \"https://github.com/mgalgs/tmux-view.el\" :rev :newest))\n```\n\n## Manual\n\n1. Clone this repository or copy tmux-view.el to your load path.\n\n2. Add the following to your init.el:\n\n    ```elisp\n    (require 'tmux-view)\n    ```\n\n# Usage\n\n1. **Invoke**: Run `M-x tmux-view`.\n2. **Filter**: You will see a list of all active panes across all tmux sessions formatted as:\n   ```\n   session/window/pane-index: process [args]\n   ```\n3. **Search**: Use your favorite completion engine (Vertico, Ivy, Helm, or default) to narrow it down.\n\n   - Example: Type `production/logs` to see all log panes in your \"production\" session.\n   - Example: Type `tail` to find any pane currently running a tail command.\n\n4. **View**: Hit `RET`. A new buffer `*tmux: session/window/pane*` will open.\n\n**Note**: Process arguments longer than 40 characters are truncated with `...` to keep the minibuffer readable.\n\n## Keybindings\n\n| Command          | Key | Action                                                       |\n|------------------|-----|--------------------------------------------------------------|\n| `M-x tmux-view`  | —   | Open the pane picker and select a tmux pane to view.        |\n| `tmux-view-mode` | g   | Refresh: Pull the latest text/scrollback from the tmux pane. |\n| `tmux-view-mode` | q   | Quit: Bury the buffer.                                       |\n| `tmux-view-mode` | s   | Save: Write the captured output to a file.                   |\n\n## Technical Details\n\nThis package uses the following tmux commands internally:\n\n- **Pane Discovery**: `tmux list-panes -a` - Lists all panes across all sessions\n- **Content Capture**: `tmux capture-pane -e -p -S - -t \u003cpane-id\u003e` - Captures pane contents with:\n  - `-e`: Includes ANSI escape sequences for color preservation\n  - `-p`: Outputs to stdout instead of paste buffer\n  - `-S -`: Captures the entire scrollback history\n\n## Requirements\n\n- Emacs 26.1 or later\n- tmux 1.8 or later (for `list-panes -a` and `capture-pane -e -p -S -`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgalgs%2Ftmux-view.el","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgalgs%2Ftmux-view.el","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgalgs%2Ftmux-view.el/lists"}