Repository navigation
Create the Windows launcher entry only once the VM is running - #7985
Closed
Chessing234 wants to merge 2 commits into
Closed
Chessing234 wants to merge 2 commits into
Chessing234 wants to merge 2 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Moves Windows launcher creation until after successful VM startup, preventing cancelled or failed installs from appearing installed.
Changes:
- Extracts launcher creation into
create_launcher_entry. - Calls it only after
docker-compose up -dsucceeds. - Adds regression coverage for ordering and launcher contents.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
bin/omarchy-windows-vm |
Defers launcher creation until VM startup succeeds. |
test/shell.d/windows-vm-launcher-test.sh |
Verifies creation ordering, uniqueness, and launcher contents. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
install_windows wrote windows-vm.desktop before any of the configuration prompts, and the launcher uses that file as its installed-state marker. Every way out of the setup after that point -- answering No at "Proceed with this configuration?", Ctrl+C on the INT trap, a failed docker-compose up -- left the marker behind, so the menu offered Launch and Remove for a VM that was never created and hid Install, which is the one thing the user needed. Move the entry into create_launcher_entry and call it after docker-compose reports the VM started. Nothing before that point claims an install exists.
Contributor
Author
|
rebased onto quattro; launcher still only written after the vm actually starts |
Chessing234
force-pushed
the
fix/windows-vm-cancel-marker
branch
from
August 25, 2026 04:00
52cc7b4 to
e343671
Compare
1 task
Contributor
Author
|
folded into #12264 for easier review. |
Chessing234
added a commit
to Chessing234/omarchy
that referenced
this pull request
Sep 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #7943.
install_windowswrote~/.local/share/applications/windows-vm.desktopat the top of the function — before the RAM, CPU, disk, username and password prompts, and about 120 lines before the final confirmation. The launcher uses that file as its installed-state marker, so from that moment the menu shows Launch Windows and Remove Windows and hides Install Windows.Every exit after that point leaves it behind:
exit 1);INTtrap installed at the top of the function;docker-compose up -dfailing, which alsoexit 1s.In each case no compose file, container, image or
~/Windowsexists, but the menu insists a VM does — and offers no way to install one.The entry now lives in
create_launcher_entry, called afterdocker-composereports the VM started. Nothing before that claims an install exists.mkdir -p "$HOME/.local/share/applications"moved with it, since that directory is only needed to write the entry.Evidence
New
test/shell.d/windows-vm-launcher-test.sh:create_launcher_entrycomes after both thegum confirmand thedocker-compose up -dsuccess check;windows-vm.desktopis written in exactly one place — a range check over the function, so re-adding an earlyteefails even if the ordering assertions still pass;create_launcher_entryis evaluated on its own and asserted to produce an entry with a usableName=andExec=.Against the current script the test fails with
windows vm install still has the landmarks this test relies on, so it is genuinely pinned to the new structure.bin-style-testpasses.What I could not run
The install flow can't execute here:
check_prerequisitesrequires/dev/kvm, and the prompts aregum, so the ordering is asserted against the source rather than by cancelling a real run. Someone on Linux answering No at the confirmation and checking that Install > Windows is still offered would confirm the user-visible half.I did not touch
remove_windows. It still runs a barermon the marker, which now has one more way to be absent — but that path is only reachable from a menu entry that requires the marker, so I left it rather than widen the diff.This was AI-assisted.