Repository navigation
feat(integrations): launch flags, joychromium:// links and quick tasks - #97
Merged
Merged
Conversation
So launchers such as ConsoleMode, Playnite or Steam can open the browser the way they need it: - Command line: --tv (alias --kiosk, --fullscreen) and --window for this run only, --new-tab, and a URL. The first launch used to ignore its argv; a second launch now opens its URL in a new tab instead of replacing the one playing, and applies the mode. - The installer registers joychromium:// with the OS; public internal pages and joychromium://open?url=<https URL> are accepted, anything else is dropped. macOS links arrive through open-url. - Windows jump list: New tab, TV mode, Window mode. - Quick menu: "Fechar o JoyChromium", so a controller user returns to the launcher without a mouse. - docs/INTEGRATIONS.md: flags, scheme, how to detect the install, which process to watch, and the ConsoleMode setup. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
launch.spec.ts spawns a second Electron by hand, and without a root-owned setuid chrome-sandbox it aborts on Linux before it can hand its URL to the running app. The setup used to run only in the later Wayland step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Summary
Makes JoyChromium easy for launchers (ConsoleMode, Playnite, Steam, shortcuts) to open, documented in
docs/INTEGRATIONS.md.src/shared/launchArgs.ts, unit-tested):--tv(aliases--kioskand--fullscreen) and--windowapply for this run only, so the saved preference stays.--new-taband a URL are also accepted. Before this, the first launch ignored its argv (onlyJOYCHROMIUM_STARTworked).joychromium://registered with the OS viabuild.protocols(NSIS, Info.plist and .desktop). Only public internal pages andjoychromium://open?url=<https>are accepted;chrome,design,file:andjavascript:are dropped. macOS usesopen-url.Shell.windowMode= command-line mode ?? saved mode. The menu toggle and Esc now read it, so a--windowrun toggles correctly.Checked on Windows with the packaged build: Electron starts 5
JoyChromium.exeprocesses and only the main one has aMainWindowHandle. The doc tells ConsoleMode to pick the process that has a window, and records the NSIS uninstall key for detection.Test plan
npm run typechecknpm test(103 passed)npm run test:e2e(48 passed, 3 skipped). The newlaunch.spec.tsstarts with--windowand a URL, then spawns a second launch with--tvandjoychromium://open?url=…CI: on Linux the
chrome-sandboxsetup now runs before the e2e, not only before the Wayland smoke. Without it, the second Electron thatlaunch.spec.tsspawns aborts. The spec now prints that process's output and the app log when it fails.🤖 Generated with Claude Code