{"id":19238547,"url":"https://github.com/tmpfs/mxl","last_synced_at":"2025-06-12T11:06:14.839Z","repository":{"id":34822266,"uuid":"38809635","full_name":"tmpfs/mxl","owner":"tmpfs","description":"Tmux launcher","archived":false,"fork":false,"pushed_at":"2016-02-04T04:58:43.000Z","size":498,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-01T18:39:05.072Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tmpfs.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":"2015-07-09T08:56:01.000Z","updated_at":"2019-04-02T00:18:01.000Z","dependencies_parsed_at":"2022-09-06T21:52:52.222Z","dependency_job_id":null,"html_url":"https://github.com/tmpfs/mxl","commit_stats":null,"previous_names":["freeformsystems/mxl"],"tags_count":117,"template":false,"template_full_name":null,"purl":"pkg:github/tmpfs/mxl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmpfs%2Fmxl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmpfs%2Fmxl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmpfs%2Fmxl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmpfs%2Fmxl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tmpfs","download_url":"https://codeload.github.com/tmpfs/mxl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmpfs%2Fmxl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259453535,"owners_count":22860086,"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":[],"created_at":"2024-11-09T16:33:25.402Z","updated_at":"2025-06-12T11:06:09.826Z","avatar_url":"https://github.com/tmpfs.png","language":"JavaScript","readme":"Table of Contents\n=================\n\n* [Tmux Launcher](#tmux-launcher)\n  * [Install](#install)\n  * [Usage](#usage)\n  * [Quick Start](#quick-start)\n  * [Configuration Examples](#configuration-examples)\n  * [Developer](#developer)\n    * [Test](#test)\n    * [Cover](#cover)\n    * [Alias](#alias)\n    * [Docs](#docs)\n    * [Manual](#manual)\n    * [Readme](#readme)\n  * [License](#license)\n\nTmux Launcher\n=============\n\nSources tmux profiles by invoking `source-file` helping to keep your tmux configurations portable.\n\nThis document is a brief introduction and guide, see `mxl help` and `mxl help \u003ccmd\u003e` for the man pages.\n\nRequires [node](http://nodejs.org) and [tmux](https://tmux.github.io).\n\n## Install\n\n```\nnpm i -g mxl\n```\n\n## Usage\n\n```\nUsage: mxl \u003ccommand\u003e [-anrh] [-a|--all] [-n|--noop]\n           [-r|--recursive] [--color|--no-color] [-h|--help]\n           [--version] [-c|--directory=\u003cdir...\u003e]\n           [-p|--pattern=\u003cptn...\u003e] [-s|--session=\u003cname\u003e] \u003cargs\u003e\n\nTmux launcher.\n\nCommands:\n attach, att, a             Attach to a session.\n exec, ex                   Execute a command in a pane.\n list, ls                   List configuration files.\n source, so                 Source tmux configuration files.\n alias, as                  Manage file aliases.\n remove, rm                 Remove aliases by pattern match.\n prune, pr                  Remove stale aliases.\n index, idx                 Generate alias index.\n kill, k                    Kill sessions, windows and panes.\n install, i                 Install alias files.\n view, vi                   View and edit configuration files.\n quit                       Kill the tmux server.\n help                       Show help for commands.\n\nOptions:\n -c, --directory=[dir ...]  Working directory contexts.\n -p, --pattern=[ptn ...]    Filter files by regexp pattern(s).\n -a, --all                  Match all configuration files.\n -n, --noop                 Print matched files, do not call source-file.\n -s, --session=[name]       Create session before source file(s).\n -r, --recursive            Match files recursively.\n -h, --help                 Print help and exit.\n     --[no]-color           Enable or disable terminal colors.\n     --version              Print version and exit.\n\nReport bugs to https://github.com/freeformsystems/mxl/issues.\n```\n\n## Quick Start\n\nFirst install a scratch template into `$HOME`.\n\n```\ncd ~\nmxl i @scratch\n```\n\nModify `~/tmux.conf` to suit your needs then source it to create a scratch alias by username:\n\n```\nmxl .\n```\n\nCheck the new alias exists:\n\n```\nmxl as\n```\n\nThen once you are in `tmux` you can launch the scratch template in your home directory:\n\n```\nmxl\n```\n\nOr from any directory with:\n\n```\nmxl @\u003cusername\u003e\n```\n\nNow go read the man pages!\n\n## Configuration Examples\n\nSee the [templates](https://github.com/freeformsystems/mxl/blob/master/conf/tpl) for example `tmux` configuration files, these files become the global aliases on installation.\n\n## Developer\n\nClone the repository, install deps (`npm i`) and symlink the executable in `$PATH`.\n\nInstall [vim-tmux](https://github.com/tmux-plugins/vim-tmux) if possible, it's very useful.\n\nWhen `NODE_ENV` is set to `devel` error stack traces are printed and man pages may be generated dynamically (`NODE_ENV=devel mxl help`).\n\n### Test\n\nTo run the test suite:\n\n```\nnpm test\n```\n\nNote that the working directory for test execution is set to [fixtures/conf](https://github.com/freeformsystems/mxl/blob/master/test/fixtures/conf).\n\nRun an individual test spec with `TEST_SPEC`:\n\n```\nTEST_SPEC=test/spec/context npm test\n```\n\n### Cover\n\nTo generate code coverage:\n\n```\nnpm run cover\n```\n\n### Alias\n\nTo rebuild the default rc file aliases from the files in [tpl](https://github.com/freeformsystems/mxl/blob/master/conf/tpl) run:\n\n```\nnpm run alias\n```\n\nThis is automatically called on `postinstall` to ensure shipped aliases are correct.\n\n### Docs\n\nTo build all documentation:\n\n```\nnpm run docs\n```\n\n### Manual\n\nTo build all man pages (requires [manpage](https://github.com/freeformsystems/cli-manpage)):\n\n```\nnpm run manual\n```\n\n### Readme\n\nTo build the readme file from the partial definitions (requires [mdp](https://github.com/freeformsystems/mdp)):\n\n```\nnpm run readme\n```\n\n## License\n\nEverything is [MIT](http://en.wikipedia.org/wiki/MIT_License). Read the [license](https://github.com/freeformsystems/mxl/blob/master/LICENSE) if you feel inclined.\n\nGenerated by [mdp(1)](https://github.com/freeformsystems/mdp).\n\n[node]: http://nodejs.org\n[npm]: http://www.npmjs.org\n[mdp]: https://github.com/freeformsystems/mdp\n[manpage]: https://github.com/freeformsystems/cli-manpage\n[tmux]: https://tmux.github.io\n[vim-tmux]: https://github.com/tmux-plugins/vim-tmux\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmpfs%2Fmxl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmpfs%2Fmxl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmpfs%2Fmxl/lists"}