Repository navigation
Allow bypassing bundle-less apps such as Minecraft - #5
Merged
Merged
Conversation
Java games like Minecraft run as a bare `java` executable with no bundle identifier, so ShiftIME never recognized them as the foreground app and they could not be added to the bypass list. Fall back to the executable path as the identifier and point users to the menu bar item for them. Co-Authored-By: Claude Opus 5.5 <[email protected]>
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.
Problem
Java games like Minecraft (launched from Prism Launcher or the official launcher) run as a bare
javaexecutable. macOS reports them withbundleIdentifier == nil, soForegroundApplicationInforeturned nil and ShiftIME kept treating the previous app (e.g. Prism Launcher) as the foreground app. They could not be added to the bypass list from the menu bar, and the 「加入 App…」 panel only accepts.appbundles.Fix
ForegroundApplicationInfofalls back to the executable path (e.g.…/PrismLauncher/java/java-runtime-epsilon/bin/java) when there is no bundle ID. The existing bypass sets, menu bar toggle and status checks work unchanged with this identifier.Testing
make verifypasses: 43 checks plus the app smoke test.bundleIdentifier = niland a non-nilexecutableURL./Users/…/bin/java.Limits
javapath also excludes other programs using the same Java runtime.🤖 Generated with Claude Code