How does one set or change the defaults for the external viewer and lookup in browser settings? I am using Picard 1.4.1 for OS X.
When I attempt to view the images with the “info” button, the image opens in Firefox rather than in Preview as it did in the previous version of Picard. “Lookup in browser” also defaults to Firefox rather than Chrome which is my default browser. Any help would be appreciated.
When you say “previous version”, do you mean 1.3.2 or 1.4.0? Lots of code changed between 1.3.2 and 1.4.0, but comparatively next to nothing changed from 1.4.0 to 1.4.1. So if they behaviour changed going from 1.4.0 to 1.4.1 it will be much easier to track down what changed.
I am experiencing a very similar problem, where Picard is now using Firefox rather than Safari (my default browser). This indeed appears to be a bug that Apple introduced into Python in macOS 10.12.5. Andrew Jaffe gives a good description of the bug on his blog, http://www.andrewjaffe.net/blog/2017/05/python-bug-hunt.html
I encountered the same issue after the most recent OS X update. Picard no longer opens up “Lookup manually” in my default browser (Safari). It is launching Firefox instead.
This is not Picards’ fault. This is a Mac OS X issue.
The Python webbrowser module will use osascript (AppleScript) to open the browser, using the command open location "<url>". It is that command that is now opening things in the wrong browser.
and on Mac OS X 10.12.5 that gives an error message right now (error code -1708), at which point the webbrowser module moves on to trying Firefox and Safari, respectively.
I’m looking for a work-around still; Chrome may well have a command-line option to open URLs that we can use; when you set the BROWSER environment variable to that command (with a %s placeholder), that’ll be used instead of the currently b0rken default.
The plist will activate after system reboot. You can also use launchctl load ~/Library/LaunchAgents/org.musicbrainz.environment.plist to launch it immediately. Obviously, you should change the environment variable to the browser of your choice if you’re using something other than Chrome.