From 0f44efaa828886fbafae999009426566e0f931d4 Mon Sep 17 00:00:00 2001 From: LGUG2Z Date: Sun, 19 May 2024 16:15:18 -0700 Subject: [PATCH] docs(wm): add komorebi-gui binary, update mkdocs --- .github/workflows/windows.yaml | 3 ++- .goreleaser.yml | 9 +++++++++ Cargo.lock | 4 ++-- docs/cli/cycle-move-workspace-to-monitor.md | 16 ++++++++++++++++ docs/cli/gui.md | 12 ++++++++++++ docs/cli/promote-window.md | 16 ++++++++++++++++ docs/installation.md | 1 + komorebi/src/static_config.rs | 2 +- mkdocs.yml | 3 +++ schema.json | 8 ++++++++ wix/License.rtf | Bin 1258 -> 48442 bytes wix/main.wxs | 5 +++++ 12 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 docs/cli/cycle-move-workspace-to-monitor.md create mode 100644 docs/cli/gui.md create mode 100644 docs/cli/promote-window.md diff --git a/.github/workflows/windows.yaml b/.github/workflows/windows.yaml index 0e537de67..0b586ef05 100644 --- a/.github/workflows/windows.yaml +++ b/.github/workflows/windows.yaml @@ -93,9 +93,10 @@ jobs: target/${{ matrix.target }}/release/komorebi.exe target/${{ matrix.target }}/release/komorebic.exe target/${{ matrix.target }}/release/komorebic-no-console.exe + target/${{ matrix.target }}/release/komorebi-gui.exe target/${{ matrix.target }}/release/komorebi.pdb target/${{ matrix.target }}/release/komorebic.pdb - target/${{ matrix.target }}/release/komorebic-no-console.pdb + target/${{ matrix.target }}/release/komorebi-gui.pdb target/wix/komorebi-*.msi retention-days: 7 - name: Check GoReleaser diff --git a/.goreleaser.yml b/.goreleaser.yml index eaf342b32..76e614ab7 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -35,6 +35,15 @@ builds: post: - mkdir -p dist/windows_amd64 - cp ".\target\x86_64-pc-windows-msvc\release\komorebic-no-console.exe" ".\dist\komorebic-no-console_windows_amd64_v1\komorebic-no-console.exe" + - id: komorebi-gui + main: dummy.go + goos: [ "windows" ] + goarch: [ "amd64" ] + binary: komorebi-gui + hooks: + post: + - mkdir -p dist/windows_amd64 + - cp ".\target\x86_64-pc-windows-msvc\release\komorebi-gui.exe" ".\dist\komorebi-gui_windows_amd64_v1\komorebi-gui.exe" archives: - name_template: "{{ .ProjectName }}-{{ .Version }}-x86_64-pc-windows-msvc" diff --git a/Cargo.lock b/Cargo.lock index f74f98504..1cc0a726c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3347,9 +3347,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" +checksum = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43" dependencies = [ "unicode-ident", ] diff --git a/docs/cli/cycle-move-workspace-to-monitor.md b/docs/cli/cycle-move-workspace-to-monitor.md new file mode 100644 index 000000000..b3248e240 --- /dev/null +++ b/docs/cli/cycle-move-workspace-to-monitor.md @@ -0,0 +1,16 @@ +# cycle-move-workspace-to-monitor + +``` +Move the focused workspace monitor in the given cycle direction + +Usage: komorebic.exe cycle-move-workspace-to-monitor + +Arguments: + + [possible values: previous, next] + +Options: + -h, --help + Print help + +``` diff --git a/docs/cli/gui.md b/docs/cli/gui.md new file mode 100644 index 000000000..d9b83157a --- /dev/null +++ b/docs/cli/gui.md @@ -0,0 +1,12 @@ +# gui + +``` +Launch the komorebi-gui debugging tool + +Usage: komorebic.exe gui + +Options: + -h, --help + Print help + +``` diff --git a/docs/cli/promote-window.md b/docs/cli/promote-window.md new file mode 100644 index 000000000..80d93c1aa --- /dev/null +++ b/docs/cli/promote-window.md @@ -0,0 +1,16 @@ +# promote-window + +``` +Promote the window in the specified direction + +Usage: komorebic.exe promote-window + +Arguments: + + [possible values: left, right, up, down] + +Options: + -h, --help + Print help + +``` diff --git a/docs/installation.md b/docs/installation.md index cc02e168f..f6a00c510 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -114,6 +114,7 @@ Clone the git repository, enter the directory, and build the following binaries: cargo +stable install --path komorebi --locked cargo +stable install --path komorebic --locked cargo +stable install --path komorebic-no-console --locked +cargo +stable install --path komorebi-gui --locked ``` If the binaries have been built and added to your `$PATH` correctly, you should diff --git a/komorebi/src/static_config.rs b/komorebi/src/static_config.rs index 146a94a81..352ae5087 100644 --- a/komorebi/src/static_config.rs +++ b/komorebi/src/static_config.rs @@ -229,7 +229,7 @@ impl From<&Monitor> for MonitorConfig { } #[derive(Debug, Serialize, Deserialize, JsonSchema)] -/// The `komorebi.json` static configuration file reference for `v0.1.25` +/// The `komorebi.json` static configuration file reference for `v0.1.26` pub struct StaticConfig { /// DEPRECATED from v0.1.22: no longer required #[serde(skip_serializing_if = "Option::is_none")] diff --git a/mkdocs.yml b/mkdocs.yml index c5c7ca6b0..293128350 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -80,6 +80,7 @@ nav: - cli/whkdrc.md - cli/state.md - cli/global-state.md + - cli/gui.md - cli/visible-windows.md - cli/query.md - cli/subscribe-socket.md @@ -124,6 +125,7 @@ nav: - cli/cycle-monitor.md - cli/cycle-workspace.md - cli/move-workspace-to-monitor.md + - cli/cycle-move-workspace-to-monitor.md - cli/swap-workspaces-with-monitor.md - cli/new-workspace.md - cli/resize-delta.md @@ -140,6 +142,7 @@ nav: - cli/flip-layout.md - cli/promote.md - cli/promote-focus.md + - cli/promote-window.md - cli/retile.md - cli/monitor-index-preference.md - cli/display-index-preference.md diff --git a/schema.json b/schema.json index 4ef89c678..442d765fd 100644 --- a/schema.json +++ b/schema.json @@ -1039,6 +1039,14 @@ "type": "integer", "format": "int32" }, + "label": { + "description": "Stackbar height", + "type": "string", + "enum": [ + "Process", + "Title" + ] + }, "mode": { "description": "Stackbar mode", "type": "string", diff --git a/wix/License.rtf b/wix/License.rtf index f4bf5ddcb208b415a4d36d2040550bf38acc8776..9b3c3c4d6f4e5d2e52ee04eb3b10feb8154db3ee 100644 GIT binary patch literal 48442 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 literal 1258 zcmZ8hUvJws5Z`lve1}7x+ClJauPfH}iLvRJn=BcW+$?}zD2cMz%A`wDHG&}Dy+_*V zkOBr|9q)esPT*5zeK)IwcB*P+*G(&JM%9?ZQTV5-Gur!lz(3Qf(`u-?rWe*pKLuiy z7(PAY(d^fwg&D1q7BYGI^!$8%^;G>{?WLAhcw>R9rkCw}3bW~CI+^`7egEfk^n#+g47@{zhUqe^(7c??1r893QRP_a5FfZ(%;2&*2}@N?_k=F@%}x ztF5#L<(x7al!IPcSwF(w3hiZ^Kxd@{(?PJYmkD?SLO;S$T89Is_Cjf;_aLA_s?h0s zgmI?xCt)Qvw;-G|jS`3lt!c)C)L!_&*Qr4|c;kBsH^pV*=4~Wtr5HeIM3eAx1SjQt zGkUPnd8?X$kzi9ZjBU{Hay+Pmx-f+C=-&n9qeBNlX95S)sxCZbv~?WoLAgGGRt4yK z^w{Y_v5`7Vp^ras7fudCKv1YVdi`Hr>q`>!^ z1nyb6&UYnX2Pawi0Qm|?_5lB~Y?%Q4Z_8;>K+b_}wke}nW7#6zEm?L4w>X#OC8TV_ zN(3$QNO*x_6z5j3p?tAMWOB<=Rz4)KVr3RER|raAOL)l^yOeO)?)Ww@DAF$xHe=a} zBMaTotehY#)_{J-7bw;wO(PZAp?V(mE%NOHXLsuo)_J<5SiGgEjNGR5OogTvDPfxg zmSjWjf;tX4Cd6agMcw_H#uD-o{4GkBXTioI&q|K33A*Iv&(V8U&;$r)MF?cYbA%6Z v;zY + + + @@ -113,6 +116,8 @@ + +