Open llange opened 4 years ago
@llange, I suspect that this stopped working due to updating to Catalina and not due to a Finicky version update.
Hi @ldub , I'm pretty sure you're right, I didn't make the link but I had a (forced) upgrade to Catalina which do coincide with the breakage.
I do hope to find a way to make my setup work again...
As I mentioned here https://github.com/johnste/finicky/issues/40#issuecomment-581168657 , other apps have this problem too. One was able to find a workaround, but overall it seems like a macOS bug that we need to report to Apple, or potentially a sandboxing "feature" that they have added to Catalina.
Hi @llange , did you find any workaround. I'm stuck with the same problem. Another issue I have is that I have two Firefox instance open with two different profiles and even without finicky the link is trying to open two different windows again withe default profile as reported in Bugzilla.
Hi @p-prakash , unfortunately, no, I do not have a workaround at the moment, and thus I'm not using finicky any more as a consequence... which is sad as I like the tool. And this is an area where I'm not able to help further - apart from testing a new release and see if it works.
Hi @p-prakash , @llange I don't know if I'm missing something with what you're intending to do, but I've managed to get Finicky to work with opening different Firefox Profiles by creating a new Firefox application in my applications folder called "WorkFirefox". (I did this by just renaming the Firefox.app in my Applications folder, and dragging a new version from the Firefox.dmg installer to create the two apps. The profiles are still all stored in the normal location: /Users/YourMacUsername/Library/Application Support/Firefox/Profiles/ )
I then assign my Work profile as the default in WorkFirefox.app, and assign my Personal profile as default in normal "Firefox.app" and use the recently added Finicky functionality for opening by application path e.g.
{match: ({ keys }) => keys.shift, browser: "/Applications/WorkFirefox.app"},
{match: ({ keys }) => keys.function, browser: "/Applications/Firefox.app"},
to open WorkFirefox with the shift key, and Firefox with the function key for example.
I don't know if this is would provide what you're looking for as a workaround?
Hi Prakash P , unfortunately, no, I do not have a workaround at the moment, and thus I'm not using finicky any more as a consequence... which is sad as I like the tool. And this is an area where I'm not able to help further - apart from testing a new release and see if it works.
@llange if you change the browser in finicky to the absolute path of the app instead of the bundle it will work.
browser: "/Applications/Firefox-<customer1>.app"
I have the same setup of multiple Firefox "app"s running an exec script and the above works for me for each profile.
Just an FYI: the "opening different Firefox Profiles by creating a new Firefox application" workaround does not work properly for me in the latest Big Sur public beta.
For example, when Firefox is already opened with "profile 2" active, and I launch an url assigned to this "profile 2", nothing happens. I do however see a second Firefox dock icon bouncing next to the Trash that doesn't open.
When i close Firefox, launching an url assigned to this "profile 2" does work though... 🤷🏼♂️
-- Finicky v3.1.1 (246)
thanks @llange ! worked for me. but still would like to see it built-in ( since people do that anyway ). perf is approx same as brave/chrome
This is solution which works for me (one Firefox, multiple profiles)
browser: ({ urlString }) => ({
name: "Firefox",
args: ["-P", "nameOfWorkProfile", `${urlString}`],
}),
This is solution which works for me (one Firefox, multiple profiles)
browser: ({ urlString }) => ({ name: "Firefox", args: ["-P", "nameOfWorkProfile", `${urlString}`], }),
Where would these line inside of .finicky.js?
I currently have the example file , and would like to add your solution to it
module.exports = {
defaultBrowser: "Google Chrome",
rewrite: [
{
// Redirect all urls to use https
match: ({ url }) => url.protocol === "http",
url: { protocol: "https" }
}
],
handlers: [
{
// Open apple.com and example.com urls in Safari
match: finicky.matchHostnames(["apple.com", "example.com"]),
browser: "Safari"
},
{
// Open any url that includes the string "workplace" in Firefox
match: /workplace/,
browser: "Firefox"
},
{
// Open google.com and *.google.com urls in Google Chrome
match: [
"google.com/*", // match google.com urls
"*.google.com/*", // match google.com subdomains
],
browser: "Google Chrome"
}
]
};
Thanks!
I'd like to see some support for Firefox Profiles (ability to open some urls in one or another profile, having both instances open and directing urls to one instance or another). It will involve the use of some specific command line options (
-P
,--no-remote
).Use-case
My ideal use-case is the following:
Workaround
As there is currently no support for profiles in Finicky, I was using, until recently, the following workaround:
Firefox-<customer1>.app
and containing:with:
./Contents/Info.plist
being a copy of~/Applications/Firefox.app/Contents/Info.plist
with the following changes:CFBundleExecutable
changed fromfirefox
tofirefox-<customer1>
CFBundleIdentifier
changed fromorg.mozilla.firefox
toorg.mozilla.firefox-<customer1>
CFBundleName
changed fromFirefox
toFirefox-<customer1>
and
./Contents/MacOS/firefox-<customer1>
being:This workaround used to work fine and allowed me to use, in Finicky, the bundle Id to refer to the browser: I could use this to refer to the default browser:
or this to refer to the browser for customer1:
Unfortunately, a few Finicky versions ago, it stopped working (for non default browsers). (I did not notice at which version the change occurred)
I did not dig it too much, but in the logs I have the following error message (Note: Using Catalina 10.15.1):
May be I'm able to fix it, but it still is a workaround, and in this time of quarantined, notarized applications, there is no guarantee that my workaround setup is viable long term.
Thus I believe proper support for browser command lines (like in #89) or profiles (browser-specific, see also #40) is cleaner for this kind of use-case.
Thanks !