├── .clog.toml ├── .github └── ISSUE_TEMPLATE.md ├── .gitignore ├── .gitlab-ci.yml ├── .rust-version ├── .travis.yml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONVENTIONAL_CHANGELOG.md ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── common ├── Cargo.toml └── src │ ├── args.rs │ ├── first_run.rs │ ├── lib.rs │ ├── project_paths.rs │ └── rand_names.rs ├── edit ├── Cargo.toml └── src │ └── lib.rs ├── list ├── Cargo.toml ├── src │ └── lib.rs └── tests │ └── list.rs ├── load ├── Cargo.toml ├── src │ ├── command.rs │ ├── lib.rs │ ├── project │ │ ├── mod.rs │ │ └── parser.rs │ └── tmux │ │ ├── config.rs │ │ ├── mod.rs │ │ └── target.rs └── tests │ ├── helpers │ └── mod.rs │ └── load.rs ├── muxed-completion.bash ├── new ├── Cargo.toml ├── src │ ├── lib.rs │ └── template.yml └── tests │ └── new.rs ├── nix-nightly.dockerfile ├── nix.dockerfile ├── osx.dockerfile ├── rust-builds.dockerfile ├── snapshot ├── Cargo.toml └── src │ ├── capture │ └── mod.rs │ ├── lib.rs │ └── tmux │ ├── mod.rs │ ├── pane │ ├── mod.rs │ ├── pid.rs │ └── process.rs │ ├── session.rs │ └── window.rs └── src └── main.rs /.clog.toml: -------------------------------------------------------------------------------- 1 | [clog] 2 | link-style = "github" 3 | changelog = "CHANGELOG.md" 4 | repository = "https://github.com/brianp/muxed" 5 | from-latest-tag = true 6 | 7 | [sections] 8 | Features = ["feat"] 9 | Performance = ["perf"] 10 | Improvements = ["impr", "im", "imp"] 11 | Documentation = ["docs"] 12 | Deprecations = ["depr"] 13 | Examples = ["examples"] 14 | Refactor = ["ref", "refactor", "chore"] 15 | Fixes = ["fix", "test"] 16 | Style = ["style"] 17 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## System Info 2 | OS: Mac OS 10.15.1 3 | Muxed Version: v0.7.0 4 | 5 | ## Description 6 | A description of what you're encountering. With as much detail as possible. 7 | 8 | ## Questions 9 | Does this bug raise any CLI, or technical questions we should ask? 10 | 11 | ## Steps to reproduce 12 | 13 | - Every step you can think of. 14 | - So we can try to reproduce the conditions. 15 | 16 | #### Expected 17 | What did you expect to happen? 18 | 19 | #### Actual 20 | What actually happened? 21 | 22 | ## Stacktrace 23 | If one happened to drop. 24 | 25 | ## Preview 26 | Screenshots, a gif, or a video can be worth 1000 words. 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .cargo/* 2 | doc/* 3 | **/target/* 4 | **/build/* 5 | .vagrant/* 6 | .ds_store 7 | MacOSX*.sdk.tar.xz 8 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | image: "brianp/muxedbuild-linux:stable" 2 | 3 | variables: 4 | MUXEDNEW_VERSION: 0.3.0 5 | MUXEDSNAPSHOT_VERSION: 0.1.0 6 | LINUX_TARGET: x86_64-unknown-linux-gnu 7 | OSX_TARGET: x86_64-apple-darwin 8 | 9 | stages: 10 | - test 11 | - compile 12 | - bundle 13 | 14 | before_script: 15 | - rustc --version && cargo --version 16 | 17 | .tmux-test: &tmux-test 18 | image: "brianp/muxedbuild-test-linux-stable:latest" 19 | stage: test 20 | script: 21 | - cd /tmux 22 | - git checkout $TMUX_VERSION 23 | - sh autogen.sh 24 | - ./configure --prefix=$HOME/tmux && make && make install 25 | - tmux -V 26 | - cd /builds/brianp/muxed 27 | - cargo test 28 | cache: 29 | paths: 30 | - /.cargo/ 31 | 32 | test-tmux-master: 33 | <<: *tmux-test 34 | variables: 35 | TMUX_VERSION: master 36 | allow_failure: true 37 | 38 | test-tmux-2.3: 39 | <<: *tmux-test 40 | variables: 41 | TMUX_VERSION: '2.3' 42 | 43 | test-tmux-2.2: 44 | <<: *tmux-test 45 | variables: 46 | TMUX_VERSION: '2.2' 47 | 48 | test-tmux-2.1: 49 | <<: *tmux-test 50 | variables: 51 | TMUX_VERSION: '2.1' 52 | 53 | test-tmux-2.0: 54 | <<: *tmux-test 55 | variables: 56 | TMUX_VERSION: '2.0' 57 | 58 | test-tmux-1.9: 59 | <<: *tmux-test 60 | variables: 61 | TMUX_VERSION: '1.9a' 62 | allow_failure: true 63 | 64 | test-tmux-1.8: 65 | <<: *tmux-test 66 | variables: 67 | TMUX_VERSION: '1.8' 68 | 69 | compile-muxed-linux: 70 | image: "brianp/muxedbuild-linux:stable" 71 | stage: compile 72 | only: 73 | - tags 74 | variables: 75 | TARGET: $LINUX_TARGET 76 | script: 77 | - cargo build --release --target $TARGET 78 | - mkdir /builds/brianp/muxed/built/ 79 | - cp ./target/$TARGET/release/muxed /builds/brianp/muxed/built/ 80 | artifacts: 81 | when: on_success 82 | expire_in: '2 weeks' 83 | paths: 84 | - built/muxed 85 | 86 | compile-muxednew-linux: 87 | image: "brianp/muxedbuild-linux:stable" 88 | stage: compile 89 | only: 90 | - tags 91 | variables: 92 | TARGET: $LINUX_TARGET 93 | script: 94 | - git clone --branch $MUXEDNEW_VERSION https://github.com/brianp/muxednew --depth 1 /builds/brianp/muxednew/ 95 | - cd /builds/brianp/muxednew && cargo build --release --target $TARGET 96 | - mkdir /builds/brianp/muxed/built/ 97 | - cp /builds/brianp/muxednew/target/$TARGET/release/muxednew /builds/brianp/muxed/built/ 98 | artifacts: 99 | when: on_success 100 | expire_in: '2 weeks' 101 | name: "muxednew" 102 | paths: 103 | - built/muxednew 104 | 105 | compile-muxedsnapshot-linux: 106 | image: "brianp/muxedbuild-linux:nightly-11-20" 107 | stage: compile 108 | only: 109 | - tags 110 | variables: 111 | TARGET: $LINUX_TARGET 112 | script: 113 | - git clone --branch $MUXEDSNAPSHOT_VERSION https://github.com/brianp/muxedsnapshot --depth 1 /builds/brianp/muxedsnapshot/ 114 | - cd /builds/brianp/muxedsnapshot && cargo build --release --target $TARGET 115 | - mkdir /builds/brianp/muxed/built/ 116 | - cp /builds/brianp/muxedsnapshot/target/$TARGET/release/muxedsnapshot /builds/brianp/muxed/built/ 117 | artifacts: 118 | when: on_success 119 | expire_in: '2 weeks' 120 | name: "muxedsnapshot" 121 | paths: 122 | - built/muxedsnapshot 123 | 124 | bundle-linux: 125 | image: "brianp/muxedbuild-linux:stable" 126 | stage: bundle 127 | only: 128 | - tags 129 | variables: 130 | TARGET: $LINUX_TARGET 131 | script: 132 | - cd ./built/ && tar -cvzf muxed-${CI_BUILD_REF_NAME}-$TARGET.tar.gz muxed muxednew snapshot 133 | artifacts: 134 | expire_in: '2 months' 135 | when: on_success 136 | paths: 137 | - built/muxed-${CI_BUILD_REF_NAME}-$TARGET.tar.gz 138 | dependencies: 139 | - compile-muxed-linux 140 | - compile-muxednew-linux 141 | - compile-muxedsnapshot-linux 142 | 143 | compile-muxed-osx: 144 | image: "brianp/muxedbuild-osx:stable" 145 | stage: compile 146 | only: 147 | - tags 148 | variables: 149 | TARGET: $OSX_TARGET 150 | script: 151 | - cargo build --release --target $TARGET 152 | - mkdir /builds/brianp/muxed/built/ 153 | - cp ./target/$TARGET/release/muxed /builds/brianp/muxed/built/ 154 | artifacts: 155 | when: on_success 156 | expire_in: '2 weeks' 157 | paths: 158 | - built/muxed 159 | 160 | compile-muxednew-osx: 161 | image: "brianp/muxedbuild-osx:stable" 162 | stage: compile 163 | only: 164 | - tags 165 | variables: 166 | TARGET: $OSX_TARGET 167 | script: 168 | - git clone --branch $MUXEDNEW_VERSION https://github.com/brianp/muxednew --depth 1 /builds/brianp/muxednew/ 169 | - cd /builds/brianp/muxednew && cargo build --release --target $TARGET 170 | - mkdir /builds/brianp/muxed/built/ 171 | - cp /builds/brianp/muxednew/target/$TARGET/release/muxednew /builds/brianp/muxed/built/ 172 | artifacts: 173 | when: on_success 174 | expire_in: '2 weeks' 175 | name: "muxednew" 176 | paths: 177 | - built/muxednew 178 | 179 | compile-muxedsnapshot-osx: 180 | image: "brianp/muxedbuild-osx:nightly-11-20" 181 | stage: compile 182 | only: 183 | - tags 184 | variables: 185 | TARGET: $OSX_TARGET 186 | script: 187 | - git clone --branch $MUXEDSNAPSHOT_VERSION https://github.com/brianp/muxedsnapshot --depth 1 /builds/brianp/muxedsnapshot/ 188 | - cd /builds/brianp/muxedsnapshot && cargo build --release --target $TARGET 189 | - mkdir /builds/brianp/muxed/built/ 190 | - cp /builds/brianp/muxedsnapshot/target/$TARGET/release/muxedsnapshot /builds/brianp/muxed/built/ 191 | artifacts: 192 | when: on_success 193 | expire_in: '2 weeks' 194 | name: "muxedsnapshot" 195 | paths: 196 | - built/muxedsnapshot 197 | 198 | bundle-osx: 199 | image: "brianp/muxedbuild-linux:stable" 200 | stage: bundle 201 | only: 202 | - tags 203 | variables: 204 | TARGET: $OSX_TARGET 205 | script: 206 | - cd ./built/ && tar -cvzf muxed-${CI_BUILD_REF_NAME}-$TARGET.tar.gz muxed muxednew muxedsnapshot 207 | artifacts: 208 | expire_in: '2 months' 209 | when: on_success 210 | paths: 211 | - built/muxed-${CI_BUILD_REF_NAME}-$TARGET.tar.gz 212 | dependencies: 213 | - compile-muxed-osx 214 | - compile-muxednew-osx 215 | - compile-muxedsnapshot-osx 216 | -------------------------------------------------------------------------------- /.rust-version: -------------------------------------------------------------------------------- 1 | 1.42.0 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: rust 2 | cache: cargo 3 | 4 | git: 5 | depth: 1 6 | 7 | rust: 8 | - stable 9 | - beta 10 | - nightly 11 | 12 | script: cargo test --workspace 13 | 14 | matrix: 15 | allow_failures: 16 | - env: TMUX_VERSION=master 17 | - env: TMUX_VERSION=3.2-rc 18 | - env: TMUX_VERSION=3.0b 19 | - env: TMUX_VERSION=2.9a 20 | - env: TMUX_VERSION=2.8 21 | - rust: beta 22 | - rust: nightly 23 | exclude: 24 | - os: osx 25 | env: TMUX_VERSION=3.0b 26 | - os: osx 27 | env: TMUX_VERSION=2.9a 28 | - os: osx 29 | env: TMUX_VERSION=2.8 30 | - os: osx 31 | rust: nightly 32 | - os: osx 33 | rust: beta 34 | - os: linux 35 | rust: beta 36 | env: TMUX_VERSION=master 37 | - os: linux 38 | rust: beta 39 | env: TMUX_VERSION=3.0b 40 | - os: linux 41 | rust: beta 42 | env: TMUX_VERSION=2.9a 43 | - os: linux 44 | rust: beta 45 | env: TMUX_VERSION=2.8 46 | - os: linux 47 | rust: nightly 48 | env: TMUX_VERSION=master 49 | - os: linux 50 | rust: nightly 51 | env: TMUX_VERSION=3.0b 52 | - os: linux 53 | rust: nightly 54 | env: TMUX_VERSION=2.9a 55 | - os: linux 56 | rust: nightly 57 | env: TMUX_VERSION=2.8 58 | 59 | env: 60 | - TMUX_VERSION=master 61 | - TMUX_VERSION=3.2-rc 62 | - TMUX_VERSION=3.1b 63 | - TMUX_VERSION=3.0b 64 | - TMUX_VERSION=2.9a 65 | - TMUX_VERSION=2.8 66 | 67 | os: 68 | - linux 69 | - osx 70 | 71 | before_script: 72 | - if [ "$TRAVIS_OS_NAME" == "linux" ]; then 73 | sudo apt-get remove tmux && sudo apt-get install libevent-dev; 74 | fi 75 | - if [ "$TRAVIS_OS_NAME" == "osx" ]; then 76 | brew update; 77 | fi 78 | - git clone https://github.com/tmux/tmux.git tmux 79 | - cd tmux 80 | - git checkout $TMUX_VERSION 81 | - sh autogen.sh 82 | - ./configure --prefix=$HOME/tmux && make && make install 83 | - export PATH=$PATH:$HOME/tmux/bin 84 | - cd .. 85 | - tmux -V 86 | 87 | notifications: 88 | email: false 89 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | 2 | ### 0.8.2 The one that lists projects (2020-08-03) 3 | 4 | #### Features 5 | 6 | * The list and ls subcommand from [@coreyja](https://github.com/coreyja) ([78ec7068](https://github.com/brianp/muxed/commit/78ec70681e852e6734c2a2680ab9fb9d47992ff7)) 7 | 8 | #### Documentation 9 | 10 | * **README:** Update usage for list and ls ([039ccb96](https://github.com/brianp/muxed/commit/039ccb965fb9523117b51fa1ceb1e4ffd174d513)) 11 | 12 | #### Refactor 13 | 14 | * Replace string slices in favor of Rc strings ([0bfad6ec](https://github.com/brianp/muxed/commit/0bfad6ec84e01c696024955c179ac21d71f4a1fe)) 15 | * **Dockerfiles:** Rename stable to nix ([f46a3ecf](https://github.com/brianp/muxed/commit/f46a3ecf1ca0e6ceef4bbaee073b6d5dff5a6bb6)) 16 | * **Packaging:** Include license, changlog, and readme files ([c729dee0](https://github.com/brianp/muxed/commit/c729dee057c0f20e69c3de12270f18cb7ecb1143)) 17 | 18 | 19 | ### 0.8.1 The one that supports better session switching (2020-01-02) 20 | 21 | #### Fixes 22 | 23 | * Fixup doctest and run them in load crate ([ae53ca38](https://github.com/brianp/muxed/commit/ae53ca38e38969f394952d77d67a2c465d75fa6e)) 24 | * Add unit test for project open ([7c830272](https://github.com/brianp/muxed/commit/7c83027260a23569224315025b194126c260a00a)) 25 | 26 | #### Documentation 27 | 28 | * Add docker usage to readme ([938d3a00](https://github.com/brianp/muxed/commit/938d3a00b65ca09a2a44a95884e7f3d9c567b32e)) 29 | 30 | #### Refactor 31 | 32 | * **Docker:** Reduce docker image sizes ([161ca7c8](https://github.com/brianp/muxed/commit/161ca7c850601c036c2e1794df2f1a5516817b6d)) 33 | * **Readme:** Update copyright for 2020 ([c36f2c40](https://github.com/brianp/muxed/commit/c36f2c40fba5fe5ad64ab6f98d18ae500b2c827b)) 34 | * **Travisci:** Run rust stable in travis ([33f707d4](https://github.com/brianp/muxed/commit/33f707d49ff392c603f72b56dea4750c2e1a4bb7)) 35 | 36 | #### Improvements 37 | 38 | * Support switching between sessions ([f544873b](https://github.com/brianp/muxed/commit/f544873b76676b7fa6d24768d073fd49f1fc73df), closes [#49](https://github.com/brianp/muxed/issues/49)) 39 | 40 | #### Contributions 41 | 42 | * Improper passing of subcommands as project from [@coreyja](https://github.com/coreyja) ([655b6fba](https://github.com/brianp/muxed/commit/655b6fba9ef9dd3e5257f150f174e740c26cc702), closes [#45](https://github.com/brianp/muxed/issues/45), and [#46](https://github.com/brianp/muxed/issues/46)) 43 | 44 | The one that adds Edit and upgrades all the Dependencies 45 | ## 0.8.0 (2019-12-14) 46 | 47 | #### Features 48 | 49 | * Add github issue template ([f805c103](https://github.com/brianp/muxed/commit/f805c103c3abba16b55e77946bf5d17bb3a46e72)) 50 | * **Edit:** The edit subcommand ([43ebe607](https://github.com/brianp/muxed/commit/43ebe607616da784d277cf27a79635a71ff6426c), closes [#6](https://github.com/brianp/muxed/issues/6)) 51 | 52 | #### Improvements 53 | 54 | * **New:** Expand the new command's arguments to accept -F ([9f1f04e5](https://github.com/brianp/muxed/commit/9f1f04e5ef6c3878d6e251bfe93a799d6d9430ea)) 55 | 56 | #### Fixes 57 | 58 | * **New:** Don't panic when file already exists ([9f1f04e5](https://github.com/brianp/muxed/commit/9f1f04e5ef6c3878d6e251bfe93a799d6d9430ea)) 59 | 60 | #### Documentation 61 | 62 | * **Readme:** Update usage ([051f83c2](https://github.com/brianp/muxed/commit/051f83c227bb4131f933ec8c67af5dace670ca6e)) 63 | 64 | #### Refactor 65 | 66 | * Refactor file naming in tests ([c104abd5](https://github.com/brianp/muxed/commit/c104abd5fc0cfa76259652625c195b2bbcaa8bb6)) 67 | * Don't compile untested crates ([9999778b](https://github.com/brianp/muxed/commit/9999778ba8492efbd37306bfc022ea9fdeb50bcd)) 68 | * Utilize same template creation code ([46ecae5b](https://github.com/brianp/muxed/commit/46ecae5b88338260e8c3e7e1e228012f16fd19e8)) 69 | * Fixup un-used result warning ([101bf984](https://github.com/brianp/muxed/commit/101bf9844bd3b7037d271ed2838f0d7336fde164)) 70 | * **Muxed:** Upgrade docopt 0.7.0 -> 1.1.0 ([d0429ef3](https://github.com/brianp/muxed/commit/d0429ef3f785a6898f082d1a3558a2ae025abaca)) 71 | * **Common:** 72 | * Upgrade rand 0.3.15 -> 0.7.2 ([ef2b3dd0](https://github.com/brianp/muxed/commit/ef2b3dd099f84145dcfe23f1823e4807d4ecf038)) 73 | * Upgrade dirs 1.0.5 -> 2.0.2 ([90f60ed9](https://github.com/brianp/muxed/commit/90f60ed9a21786f62f34e1f4606d0cb45794a8cd)) 74 | * **Edit:** 75 | * Upgrade libc 0.2.21 -> 0.2.66 ([672430fc](https://github.com/brianp/muxed/commit/672430fc7550059ed0a750bc3103c226db26c664)) 76 | * Upgrade dirs 1.0.5 -> 2.0.2 ([07422d76](https://github.com/brianp/muxed/commit/07422d7622de2050300e35cc298074796bf01048)) 77 | * **Load:** 78 | * Upgrade yaml-rust 0.3.2 -> 0.4.3 ([31476536](https://github.com/brianp/muxed/commit/31476536ae8067ec74fb5a3c731a8b08478c18fe)) 79 | * Upgrade libc 0.2.21 -> 0.2.66 ([37562a42](https://github.com/brianp/muxed/commit/37562a42f8068d761fc45e71c64d130bc198f0e0)) 80 | * Upgrade rand 0.3.15 -> 0.7.2 ([95392372](https://github.com/brianp/muxed/commit/9539237241cb74ca7dcda7811592d5dd4d458d40)) 81 | * Upgrade dirs 1.0.5 -> 2.0.2 ([958a382b](https://github.com/brianp/muxed/commit/958a382bc938548599914ef475a8fddd6233d7fb)) 82 | * **Snapshot:** 83 | * Upgrade serde 0.8.23->1.0.103 ([46f1e872](https://github.com/brianp/muxed/commit/46f1e87200f2a72cc239a2733d1ae2ebb44a36f2)) 84 | * Upgrade regex 0.2.1 -> 1.3.1 ([2824b0ad](https://github.com/brianp/muxed/commit/2824b0adfcaff1adbe0cad80e4fbf3b4271076fa)) 85 | * **Docker:** Rename and fixup docker files ([d6bec594](https://github.com/brianp/muxed/commit/d6bec594f435e108c96585f66c3f332582ec822d)) 86 | * **First Run:** Use paths for first run check ([98fecbd2](https://github.com/brianp/muxed/commit/98fecbd20c891af5d780ba95384cbdaae0b7f8e1)) 87 | * **Project Paths:** Use std::default for Args ([9a0ec6dd](https://github.com/brianp/muxed/commit/9a0ec6dd786889d99ec3c563d256c63d38181137)) 88 | 89 | The one that removes debug lines 90 | ### 0.7.1 (2019-12-05) 91 | 92 | #### Documentation 93 | 94 | * Update installation methods ([06266d1d](06266d1d)) 95 | 96 | #### Bug Fixes 97 | 98 | * Remove debug lines being printed during execution 99 | 100 | #### Features 101 | 102 | * Adds the debug flag ([20ee37e3](20ee37e3)) 103 | 104 | Modernizing the repo and fixing bugs 105 | ## 0.7.0 (2019-11-28) 106 | 107 | #### Bug Fixes 108 | 109 | * Use pane-base-index properly ([4b9ee44a](4b9ee44a)) 110 | * Fix root directory for new sessions ([d52cba96](d52cba96)) 111 | 112 | #### Features 113 | 114 | * Add support for window paths ([f52438fc](f52438fc)) 115 | 116 | #### Improvements 117 | 118 | * Begin trait based Command system ([65223007](65223007)) 119 | * Set default path on the session ([4460f026](4460f026)) 120 | * Major internal refactoring of type 121 | * Restructured code into workspaces 122 | 123 | #### Documentation 124 | 125 | * Version bump to 0.7.0 ([19b44ef5](19b44ef5)) 126 | * Fixup minor errors ([2a035b27](2a035b27)) 127 | * Move root docs back to project root ([8f78742a](8f78742a)) 128 | * Update the usage ([07b9618f](07b9618f)) 129 | 130 | 131 | 132 | ## 0.6.0 (2017-03-08) 133 | 134 | #### Documentation 135 | 136 | * **README:** 137 | * No longer claim to be unstable ([0aae01fc](0aae01fc)) 138 | * Change shell samples to `shell` md ([01ad036f](01ad036f)) 139 | * Docs around muxednew ([05ee2222](05ee2222)) 140 | * **changelog:** Add perf and imp to the changelog ([f5aca741](f5aca741)) 141 | * **clog.toml:** Make changelogs easier ([682a53b6](682a53b6)) 142 | * **tmux/mod.rs#call:** Update the docs for call ([68164956](68164956)) 143 | 144 | #### Features 145 | 146 | * **Pre:** Allow the Pre config option ([4d2bf1b8](4d2bf1b8)) 147 | * **issue-17:** Allow pre to accept arrays ([fbe8ebaf](fbe8ebaf)) 148 | 149 | #### Improvements 150 | 151 | * **Command::Pre:** Add the Pre command ([7ef112b3](7ef112b3)) 152 | * **optparse:** Swap clap for docopt ([065f8e1a](065f8e1a)) 153 | 154 | #### Bug Fixes 155 | 156 | * **Attach:** Attach to named sessions with spaces ([c5a5020d](c5a5020d)) 157 | * **issue-24:** Allow pre_window config option ([05703e3f](05703e3f), closes [#24](24)) 158 | 159 | 160 | ## v0.5.0 161 | Feature: 162 | - Added `new` SubCommand for generating new project files. 163 | 164 | Bug: 165 | - Silence un-needed output. 166 | 167 | Refactored: 168 | - Expressions in project/parser.rs to utilize `if let`. 169 | - Removed the linker from ./cargo/config. It had conflicts when actually 170 | building on osx. 171 | - When help is displayed. 172 | 173 | 174 | ## v0.4.0 (2016-06-19) 175 | Enhancement: 176 | - Increase the principle of least surprise by creating the project config 177 | directory during the first run, if the directory doesn't exist. 178 | 179 | 180 | ## v0.3.5 (2016-06-18) 181 | Add a fix for focusing on the top most first window when the session is attached. 182 | 183 | 184 | ## v0.3.4 (2016-06-16) 185 | Fixes a bug and now supports directories with spaces in the name. 186 | 187 | 188 | ## v0.3.2 (2016-06-05) 189 | Fixed a bug where blank values quotes values ex: "" created a send keys command for execution of no command. Instead let blank values opt out of the command completely. 190 | 191 | 192 | ## v0.3.1 (2016-05-30) 193 | Better error messaging when config file is not found. 194 | The message was only showing the default muxed path even if the user ad specified their own project path. 195 | 196 | Just changing the available installtion options for releases. 197 | 198 | 199 | ## v0.3.0 (2016-05-30) 200 | Substantial changes how windows manage default directories internally. 201 | Big change on how the session and first window are created. 202 | 203 | Cleanup warnings for unused code and paths. 204 | 205 | 206 | ## v0.2.3 (2016-05-29) 207 | This includes the bug fix for already active sessions. 208 | 209 | 210 | ## v0.2.2 (2016-05-27) 211 | Changes: 212 | - Bug fixes for windows and panes without execution commands. Where the value 213 | is None vs blank (""). 214 | - Fix for unnamed windows. 215 | 216 | 217 | ## v0.2.1 (2016-05-26) 218 | Fixes for better logging and minor bugs found by significant test coverage increase. 219 | 220 | 221 | ## v0.2.0 (2016-05-07) 222 | Significant changes have been made in the way commands are now built, and what commands can be built. 223 | Major changes in the parsing of files and how windows are treated. 224 | 225 | - Added multiple commands now. Commands represent the actions taken on tmux and 226 | the language corresponds better. 227 | - Stopped opening sessions with a named window. This made it hard to treat all 228 | windows the same. 229 | 230 | 231 | ## v0.1.0 (2016-04-30) 232 | Bumping to 0.1.0 as this build works as desired for a simple config running the happy path. 233 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | ### 1. Purpose 4 | 5 | A primary goal of Muxed is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). 6 | 7 | This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. 8 | 9 | We invite all those who participate in the development of Muxed to help us create safe and positive experiences for everyone. 10 | 11 | ### 2. Open Source Citizenship 12 | 13 | A supplemental goal of this Code of Conduct is to increase open source citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community. 14 | 15 | Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society. 16 | 17 | If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know. 18 | 19 | ### 3. Expected Behavior 20 | 21 | The following behaviors are expected and requested of all community members: 22 | 23 | Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. 24 | Exercise consideration and respect in your speech and actions. 25 | Attempt collaboration before conflict. 26 | Refrain from demeaning, discriminatory, or harassing behavior and speech. 27 | Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. 28 | Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. 29 | 30 | ### 4. Unacceptable Behavior 31 | 32 | The following behaviors are considered harassment and are unacceptable within our community: 33 | 34 | Violence, threats of violence or violent language directed against another person. 35 | Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. 36 | Posting or displaying sexually explicit or violent material. 37 | Posting or threatening to post other people’s personally identifying information ("doxing"). 38 | Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. 39 | Inappropriate photography or recording. 40 | Inappropriate physical contact. You should have someone’s consent before touching them. 41 | Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. 42 | Deliberate intimidation, stalking or following (online or in person). 43 | Advocating for, or encouraging, any of the above behavior. 44 | Sustained disruption of community events, including talks and presentations. 45 | 46 | ### 5. Consequences of Unacceptable Behavior 47 | 48 | Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated. 49 | 50 | Anyone asked to stop unacceptable behavior is expected to comply immediately. 51 | 52 | If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event). 53 | 54 | ### 6. Reporting Guidelines 55 | 56 | If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. `brian dot o dot pearce at gmail`. 57 | 58 | ### 7. Addressing Grievances 59 | 60 | If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify the admins with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies. 61 | 62 | ### 8. Scope 63 | 64 | We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues–online and in-person–as well as in all one-on-one communications pertaining to community business. 65 | 66 | This code of conduct and its related procedures also applies to unacceptable behavior occuring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members. 67 | 68 | ### 9. Contact info 69 | 70 | `brian dot o dot pearce at gmail`. 71 | 72 | ### 10. License and attribution 73 | 74 | This Code of Conduct is distributed under a Creative Commons Attribution-ShareAlike license. 75 | 76 | Revision 2.1. Posted 4 February 2015. 77 | -------------------------------------------------------------------------------- /CONVENTIONAL_CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### Commit Message Format 2 | 3 | Each commit message consists of a **header**, a **body** and a **footer**. The header has a special 4 | format that includes a **type**, a **scope** and a **subject**: 5 | 6 | ``` 7 | (): 8 | 9 | 10 | 11 |