@techstack/x-default-browser

1.3.249 • Public • Published

x-default-browser

Build Status

Get it on npm

This cross-platform module finds out the default browser for current user.

Tested on Windows 10 64-bit, Windows 7 64-bit, Windows XP 32-bit, Ubuntu 14.04 64-bit (en-US locale), Mac OS X.

It requires nodejs and npm. If you don't have node, grab it at nodejs.org. Node installer bundles npm (node package manager)

How it works

  • Windows:
    • checks registry value HKCU\Software\Clients\StartMenuInternet
  • Linuxes:
    • reads the output of xdg-mime query default x-scheme-handler/http
  • OS X:

Usage as a nodejs module

$ npm install x-default-browser
var defaultBrowser = require('x-default-browser');

defaultBrowser(function (err, res) {

    // in case of error, `err` will be a string with error message; otherwise it's `null`.

    console.dir(res);
    // => {
    //  isIE: false,
    //  isFirefox: true,
    //  isChrome: false,
    //  isChromium: false,
    //  isOpera: false,
    //  isWebkit: false,
    //  identity: 'firefox.exe',
    //  commonName: 'firefox'
    // }
});
  • commonName is portable, it will be ie, safari, firefox, chrome, chromium, opera or unknown
  • isBlink is true for Chrome, Chromium, Opera
  • isWebkit is true for Chrome, Chromium, Opera, Safari
  • identity key is platform-specific.
    • On Windows, it's the prefix you can use for querying HKLM\Software\Clients\StartMenuInternet\<prefix> keys to find out details of the browser. It'll be one of iexplore.exe, firefox.exe, google chrome, chromium.<somerandomkeyhere>, operastable.
    • On Ubuntu, it will be firefox.desktop, google-chrome.desktop, chromium-browser.desktop or opera.desktop
    • On Mac OS X, it will be the bundle ID: com.apple.Safari, com.google.chrome, com.operasoftware.Opera, org.mozilla.firefox etc

Usage from command line

$ npm install -g x-default-browser
$ x-default-browser
firefox

Command line version outputs the commonName key, i.e. ie, safari, firefox, chrome, chromium, opera or unknown.

Linux support

This module was only tested on Ubuntu. Compatibility reports and fixes for other distros are more than welcome! Use GitHub issues or email: (jakub.g.opensource) (gmail)

License

MIT © Jakub Gieryluk

Related projects

Package Sidebar

Install

npm i @techstack/x-default-browser

Weekly Downloads

66

Version

1.3.249

License

MIT

Unpacked Size

125 kB

Total Files

17

Last publish

Collaborators

  • the-code-monkey