{"id":13567570,"url":"https://github.com/noscript/tmux-mighty-scroll","last_synced_at":"2025-04-04T01:32:30.975Z","repository":{"id":79282642,"uuid":"241719778","full_name":"noscript/tmux-mighty-scroll","owner":"noscript","description":"More scroll, less hassle","archived":false,"fork":false,"pushed_at":"2024-10-22T21:11:13.000Z","size":19,"stargazers_count":75,"open_issues_count":2,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-04T22:37:20.436Z","etag":null,"topics":["mousewheel","tmux","tmux-plugin"],"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/noscript.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MIT","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":"2020-02-19T20:33:52.000Z","updated_at":"2024-11-01T06:51:32.000Z","dependencies_parsed_at":"2024-11-04T22:32:44.791Z","dependency_job_id":"32de83bf-4fdc-4432-af8a-a54f9f6190ff","html_url":"https://github.com/noscript/tmux-mighty-scroll","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noscript%2Ftmux-mighty-scroll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noscript%2Ftmux-mighty-scroll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noscript%2Ftmux-mighty-scroll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noscript%2Ftmux-mighty-scroll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/noscript","download_url":"https://codeload.github.com/noscript/tmux-mighty-scroll/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247107815,"owners_count":20884793,"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":["mousewheel","tmux","tmux-plugin"],"created_at":"2024-08-01T13:02:35.049Z","updated_at":"2025-04-04T01:32:25.951Z","avatar_url":"https://github.com/noscript.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Tmux Mighty Scroll\n\nUltimate solution to enable seamless mouse scroll in tmux.\n\nWhen no process running, it will scroll over the pane content. Otherwise,\ndepending on process name, it will pass \u003ckbd\u003e↑\u003c/kbd\u003e / \u003ckbd\u003e↓\u003c/kbd\u003e or\n\u003ckbd\u003ePage Up\u003c/kbd\u003e / \u003ckbd\u003ePage Down\u003c/kbd\u003e keys or pass-through mouse scroll events as is.\n\n## Features\n\n* Works in scenarios like `$ git log`, `$ find | less`, etc.\n* Works in other applications like `fzf`, `mc`, `man`, `ranger`, `vim`, etc.\n* Works with nested environments like `chroot`.\n* Starts copy-mode automatically when no process running.\n\n## Limitations\n\nDoes not work in panes with open remote connection, since there is no way to\nrelay back to tmux which processes are running in remote shell.\nSee `@mighty-scroll-fallback-mode`.\n\n## Requirements\n\n* Mouse mode enabled (`set -g mouse on`).\n* C compiler (Linux only. Optional, but highly recommended).\n\n## Installation with [Tmux Plugin Manager](https://github.com/tmux-plugins/tpm) (recommended)\n\nAdd the plugin to the list of TPM plugins in `.tmux.conf`:\n\n```\nset -g @plugin 'noscript/tmux-mighty-scroll'\n```\n\nHit `prefix + I` to fetch the plugin and source it.\n\n## Manual Installation\n\nClone the repo:\n\n```\n$ git clone https://github.com/noscript/tmux-mighty-scroll ~/clone/path\n```\n\nAdd this line to the bottom of `.tmux.conf`:\n\n```\nrun '~/clone/path/mighty-scroll.tmux'\n```\n\nReload tmux environment:\n\n```\n$ tmux source ~/.tmux.conf\n```\n\n## Configuration\n\n|Option|Default value|Supported values|Description|\n|---|---|---|---|\n|`@mighty-scroll-interval`|`2`|Number|How many lines to scroll in `by-line` and `history` modes.|\n|`@mighty-scroll-select-pane`|`on`|`on`, `off`|If enabled, the pane being scrolled becomes automatically selected.|\n|`@mighty-scroll-by-line`|`'man less pager fzf'`|List|Space separated list of processes that will be scrolled by line.|\n|`@mighty-scroll-by-page`|`'irssi vi'`|List|Space separated list of processes that will be scrolled by page.|\n|`@mighty-scroll-pass-through`|`'vim nvim'`|List|Space separated list of processes that will receive mouse scroll events as is.|\n|`@mighty-scroll-fallback-mode`|`'history'`|`'history'`, `'by-line'`, `'by-page'`, `'pass-through'`|Scroll mode when in alternate screen but the process didn't match the lists from above.|\n|`@mighty-scroll-show-indicator`|`off`|`on`, `off`|If enabled, shows the position indicator in the top right with the current position and the number of lines in the history.|\n\nScrolling modes:\n\n* `history` - enter copy mode and scroll over the pane content by line.\n* `by-line` - scroll by line, the running process will receive \u003ckbd\u003e↑\u003c/kbd\u003e / \u003ckbd\u003e↓\u003c/kbd\u003e keys.\n* `by-page` - scroll by page, the running process will receive \u003ckbd\u003ePage Up\u003c/kbd\u003e / \u003ckbd\u003ePage Down\u003c/kbd\u003e keys.\n* `pass-though` - the running process will receive mouse scroll events as is.\n\nExample configuration:\n\n```\nset -g mouse on\nset -g @mighty-scroll-interval 3\nset -g @mighty-scroll-by-line 'man fzf'\nset -g @mighty-scroll-select-pane off\n```\n\n## Performance caveats\n\nOn Linux, make sure to have a C compiler (`gcc`, `clang`) available (check with\n`$ cc -v`), otherwise a Shell implementation of the process checker will be\nused, which is about 400% slower!\n\nOn macOS there is only a Shell implementation of the process checker at the moment.\n\n## License\n[MIT](LICENSE.MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoscript%2Ftmux-mighty-scroll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoscript%2Ftmux-mighty-scroll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoscript%2Ftmux-mighty-scroll/lists"}