GithubHelp home page GithubHelp logo

mcharo / finicky Goto Github PK

View Code? Open in Web Editor NEW

This project forked from johnste/finicky

0.0 1.0 0.0 2.54 MB

A macOS app for customizing which browser to start

License: MIT License

Swift 49.68% JavaScript 0.73% Rich Text Format 0.82% TypeScript 48.08% C 0.23% Makefile 0.16% Shell 0.29%

finicky's Introduction

finicky logo

Always open the right browser

Finicky is a macOS application that allows you to set up rules that decide which browser is opened for every link or url. With Finicky as your default browser, you can tell it to open Facebook or Reddit in one browser, and Trello or LinkedIn in another.

  • Decide what urls to open in what browser or app
  • Edit urls before opening them
  • Complete control over configuration using JavaScript

GitHub start GitHub release

Finicky screenshot

Table of Contents

Installation

  1. Installation alternatives:
  1. Create a file called .finicky.js with configuration (examples) in your home directory OR generate a basic configuration with Finicky Kickstart

  2. Start Finicky. Please allow it to be set as the default browser.

  3. And you're done. All links clicked that would have opened your browser are now first handled by Finicky.

Example configuration

// ~/.finicky.js

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.org urls in Safari
      match: ["apple.com*", "example.org*"],
      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
        finicky.matchDomains(/.*\.google.com/) // use helper function to match on domain only
      ],
      browser: "Google Chrome"
    }
  ]
};

See the documentation for all the features Finicky supports.

Documentation

Finicky has extensive support for matching, rewriting and starting browsers or other application that handle urls. See the wiki for the full configuration documentation explaining all available, APIs and options as well as detail information on how to match on urls.

Configuration ideas

See the wiki page for other configuration ideas by users of Finicky.

Alternatives

If you are looking for something that lets you pick the browser to activate in a graphical interface, check out Browserosaurus by Will Stone, an open source browser prompter for macOS. It works really well together with Finicky!

Building Finicky from source

If you'd like to build Finicky from source, you can do so by installing Xcode, Xcode Command Line Tools, and yarn, and then running the following:

# build the source
make

# run the compiled app
make run

Support development

If you want to help support further development of finicky, feel free to buy me a coffee on ko-fi.

Buy Me a Coffee at ko-fi.com

Issues

Bugs

Please file an issue for bugs, missing documentation, or unexpected behavior.

See Bugs

Feature Requests

Please file an issue to suggest new features. Vote on feature requests by adding a ๐Ÿ‘.

See Feature Requests

Questions

Have any other questions or need help? Please feel free to reach out to me on Twitter.

License

MIT

finicky's People

Contributors

johnste avatar ldub avatar skoshy avatar dependabot[bot] avatar bhedavivek avatar erkekin avatar matthewdias avatar camji55 avatar pichfl avatar hdabrows avatar joshtch avatar pqrth avatar skywinder avatar gitetsu avatar mergefailure avatar kawarimidoll avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.