{"id":23383714,"url":"https://github.com/addisonlynch/tmux-sidebar-plus","last_synced_at":"2025-04-11T01:22:08.915Z","repository":{"id":90472235,"uuid":"164137569","full_name":"addisonlynch/tmux-sidebar-plus","owner":"addisonlynch","description":"A fast, customizable multi-window tmux sidebar","archived":false,"fork":false,"pushed_at":"2022-12-21T21:20:11.000Z","size":8422,"stargazers_count":26,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T22:28:37.417Z","etag":null,"topics":["linux","shell","tmux","tmux-plugin","tmux-plugins"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/addisonlynch.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":"2019-01-04T17:43:20.000Z","updated_at":"2025-03-13T14:39:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"5c4e4d5d-f121-4a48-b312-9431bee1c36a","html_url":"https://github.com/addisonlynch/tmux-sidebar-plus","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/addisonlynch%2Ftmux-sidebar-plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addisonlynch%2Ftmux-sidebar-plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addisonlynch%2Ftmux-sidebar-plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addisonlynch%2Ftmux-sidebar-plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/addisonlynch","download_url":"https://codeload.github.com/addisonlynch/tmux-sidebar-plus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248323496,"owners_count":21084519,"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":["linux","shell","tmux","tmux-plugin","tmux-plugins"],"created_at":"2024-12-21T22:29:38.505Z","updated_at":"2025-04-11T01:22:08.908Z","avatar_url":"https://github.com/addisonlynch.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tmux-sidebar-plus\n\n*Proof of Concept - tested for tmux \u003e= 2.1*\n\n``tmux-sidebar-plus`` is a fast and customizable multi-window\n[tmux](https://github.com/tmux/tmux) sidebar.\n\nAn enhanced fork of [tmux-sidebar](https://github.com/tmux-plugins/tmux-sidebar),\nthe system information sidebar is available through the command ``prefix-b`` by default.\n\n![tmux-sidebar-plus](/img/detailed_small.gif)\n\n## Features\n\n\n``tmux-sidebar-plus`` adds the following features to ``tmux-sidebar``:\n\n- **multi-pane sidebar**\u003cbr/\u003e\n  Allows for multiple panes in a variety of layouts.\n- **practical default layouts**\u003c/br\u003e\n  Including system monitoring, git tracking\n- **easily-customizable commands**\u003cbr/\u003e\n  Create simple configuration files to manually determine the layout of the\n  sidebar\n- **layout selection**\u003cbr/\u003e\n  Select from a variety of default layouts, or a custom layout, using the\n  layout selector key (default prefix+g)\n\n\n\n## Installation\n\n### Manual Installation\n\nClone the repo:\n\n```\n$ git clone https://github.com/addisonlynch/tmux-sidebar-plus ~/clone/path\n```\n\nAdd this line to the bottom of ``.tmux.conf``:\n\n```\n$ run-shell ~/clone/path/sidebar-plus.tmux\n```\n\nReload tmux environment\n\n```\n$ tmux source-file ~/.tmux.conf\n```\n\n## Configuration\n\n\n### tmux Options\n\n| option | default | description    |\n|-------|------|---|\n| ``@sidebar-plus-sidebar-key``  | b | Set sidebar toggle key |\n| ``@sidebar-plus-layout-key`` | g | Set layout selection key |\n| ``@sidebar-plus-layout-dir`` | none | Additional layouts directory |\n| ``@sidebar-plus-position`` | left | Desired sidebar position (left or right)|\n\n\n## Basic Usage\n\n### Opening/Closing\n\nOpen and close the sidebar using prefix-b.\n\n### Selecting a Layout\n\nSelect your desired layout using prefix-g.\n\n\n## Layouts\n\nA number of useful layouts are provided by ``tmux-sidebar-plus``, including:\n\n* ``default`` - system monitoring using [Glances](https://nicolargo.github.io/glances/),\n  [htop](https://hisham.hm/htop/), or [top](https://linux.die.net/man/1/top)\n* ``git`` - git status \u0026 log monitoring\n\n### Default\n\n![Default Layout](/img/default_small.gif)\n\n### Git\n\n![Git Layout](/img/git_small.gif)\n\n### Custom Layouts\n\nTo add custom layouts, create a directory and set its absolute path to\n``@sidebar-plus-layout-dir``.\n\n#### Formatting\n\nThe layout file should be named as desired and follow the below format:\n\n```bash\nLAYOUT_NAME=\"git\"\nPANES=3\nMINIMUM_WIDTH=\"50\"\n\npopulate_sidebar(){\n    local sidebar_id=\"$1\"\n    tmux select-pane -t \"$sidebar_id\"\n    tmux resize-pane -t \"$sidebar_id\" -x \"${MINIMUM_WIDTH}\"\n\n    # Build \u0026 register panes\n    local pane_1_id=\"$(split \"${sidebar_id}\" \"vertical\")\"\n    register_pane $sidebar_id $pane_1_id\n\n    # Run panes' commands\n    watched_dir_command $sidebar_id \"git status\"\n    watched_dir_command $pane_1_id \"git log --all --decorate --oneline --graph\"\n    select_base_pane\n}\n\n```\n\nWhere ``MINIMUM_WIDTH`` is the minimum width of the parent pane required to\nopen the sidebar.\n\n#### Overriding Default Layouts\n\nIt is possible to override the default layouts by specifying a custom layout of\nthe same name. ``tmux-sidebar-plus`` will then use the custom layout's\nconfiguration file.\n\n#### Using ``update_dir.sh``\n\nThe ``update_dir.sh`` script runs a command every 3 seconds. This can be\nincluded in any custom layout.\n\n## To Do\n\n* Enhanced layout caching (by pane, window, and session)\n* Expanded default layouts (pull requests welcome)\n\n## Attribution\n\ntmux-sidebar-plus is an adapted implementation of [tmux-sidebar](https://github.com/tmux-plugins/tmux-sidebar/commits?author=bruno-) written by [Bruno Sutic](https://github.com/bruno-).\n\n## Contact\n\nEmail: ahlshop@gmail.com\nTwitter: alynchfc\n\n## License\n\nCopyright © 2019 Addison Lynch\n\nSee LICENSE for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faddisonlynch%2Ftmux-sidebar-plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faddisonlynch%2Ftmux-sidebar-plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faddisonlynch%2Ftmux-sidebar-plus/lists"}