Skip to content

Instantly share code, notes, and snippets.

@inchoate
Last active November 14, 2024 07:53
Show Gist options
  • Save inchoate/5736cc1257066edd8fa643ca594a4778 to your computer and use it in GitHub Desktop.
Save inchoate/5736cc1257066edd8fa643ca594a4778 to your computer and use it in GitHub Desktop.
Open clicked URLs into a particular Google Chrome profile

Problem

When I click on links from Slack or Outlook on MacOS they open in seemingly random browser windows/profiles. This is annoying.

Solution

Open links in a particular google chrome profile window. Be less annoyed.

  1. In Chrome, visit chrome://version and find the desired profile name. Mine was Default. Copy that profile's directory name, like Profile 2 or Default, not the profile's vanity name you see when you click on your profile icon in the browser.
  2. Install Finicky: brew install finicky. After install it should be running and you should see the icon in the upper toolbar.
  3. From the Finicky Toolbar Item, click > Config > Create New
  4. Edit the new file ~/.finicky and make it look something like this, filling in your profile name:
module.exports = {
  defaultBrowser: "Google Chrome",
  options: {
    hideIcon: false,
    checkForUpdate: true,
  },
  handlers: [
    {
      match: ({ opener }) =>
        ["Slack", "Microsoft Outlook"].includes(opener.name),
      browser: {
        name: "Google Chrome",
        profile: "Default",
      },
    },
    {
      match: ({ url }) => url.protocol === "slack",
      browser: "/Applications/Slack.app",
    },
  ],
};
  1. Reload Finicky from the toolbar: > Config > Reload.
  2. Done. Enjoy.
@pierreact
Copy link

Between this, non-waterproof keyboard and the inability to rename desktops in mac, I wonder more and more what justifies the price.

@igormukhin
Copy link

What is an alternative for Windows?

@cawoodm
Copy link

cawoodm commented Nov 14, 2024

I made OptiBrowser for Windows 7 many years ago to solve this problem. Might be worth trying to use and/or forking for today's browsers. As it's C# (DOTNET) it should run on any platform if built appropriately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment