Skip to content

fix(macos): show launcher dialogs when started through LaunchServices - #89

Merged
mcoliver merged 1 commit into
mainfrom
fix/launcher-gui-detection
Oct 2, 2026
Merged

mcoliver merged 1 commit into
mainfrom
fix/launcher-gui-detection

Conversation

@mcoliver

@mcoliver mcoliver commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

open UTV.app from a shell passes the shell's TERM to the app. The launcher took that for a terminal launch and printed its missing-dependency and library-mismatch messages (#88) to a stderr nobody sees, so the app still just disappeared.

A launch whose stderr is a non-tty character device (/dev/null, which is what LaunchServices sets) is now treated as a GUI launch and gets the dialog. Launches from a terminal, or with stderr piped or redirected to a file, still print the message.

Verification

A copy of 2026.9 (built against OpenColorIO 2.5) with this launcher, on a Mac with OpenColorIO 2.6.0:

  • run from a terminal: prints UTV could not load opencolorio 2.6.0 and the fix command;
  • open -n UTV.app from a shell: the launcher stays up in its dialog (before this change it exited at once with no window);
  • an app whose libraries match starts as before.

Refs #85

🤖 Generated with Claude Code

`open UTV.app` from a shell passes the shell's TERM to the app, so the
launcher took it for a terminal launch and printed its missing-dependency and
library-mismatch messages to a stderr nobody sees. Treat a launch whose
stderr is a non-tty character device (/dev/null, as LaunchServices sets it)
as a GUI launch.

Refs #85

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Signed-off-by: Michael Oliver <mcoliver@gmail.com>
@mcoliver
mcoliver merged commit e1a287c into main Oct 2, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant