Finicky

Gyazo画像

設定サンプル

module.exports = {
  // 機械的に決められるやつは handlers で決めるけど、そうじゃないやつは Choosy のプロンプトで人間が選ぶ
  defaultBrowser: "/Applications/Choosy.app",

  rewrite: [
    // meet.google.com を開くときはこのユーザで!と指定したい場合
    {
      match: ({ url }) => url.host.includes("meet.google.com"),
      url: ({ url }) => {
        return {
          ...url,
          search: url.search + "authuser=june29.jp@gmail.com"
        }
      }
    },

    // drive.google.com を開くときはこのユーザで!と指定したい場合
    {
      match: ({ url }) => url.host.includes("drive.google.com"),
      url: ({ url }) => {
        return {
          ...url,
          pathname: url.pathname.replace(/\/drive\/u\/\d+\//, "/drive/u/june29.jp@gmail.com/")
        }
      }
    },

    // amazon.co.jp の商品ページの URL をシュッとさせたい場合
    {
      match: ({ url }) => url.host.includes("amazon.co.jp") && url.pathname.match(/\/dp\/[^/]{10}/),
      url: ({ url }) => {
        return {
          ...url,
          pathname: url.pathname.match(/(\/dp\/[^/]{10})/)[1],
          search: ""
        }
      }
    },
  ],
  handlers: [
    {
      match: finicky.matchHostnames(["scrapbox.io", "github.com"]),
      browser: "/Applications/Brave Browser.app"
    },
    {
      match: finicky.matchHostnames(["zoom.us", "pepabo.zoom.us"]),
      browser: "/Applications/zoom.us.app"
    },
    {
      match: finicky.matchHostnames(["www.notion.so", "notion.so"]),
      browser: "/Applications/Notion.app"
    },
  ]
};