Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    google-music-electronpublic

    google-music-electron Build status

    Desktop app for Google Music on top of Electron

    Features:

    • Google Music as a standalone application
    • Tray for quick play/pause/quit and tooltip with information
    • Media key shortcuts
    • MPRIS integration (for GNU/Linux desktop environments)

    Screenshot

    This was written as a successsor to google-music-webkit. When upgrading between versions of nw.js, there were regressions with taskbar and shortcut bindings. We wrote this as an alternative.

    Requirements

    Getting Started

    google-music-electron can be installed globally via npm:

    # Install google-music-electron via npm
    npm install -g google-music-electron
     
    # Run google-music-electron
    google-music-electron

    When the application has launched, it will appear in your taskbar and via a tray icon, tray icon.

    Screenshot

    Newsletter

    Interested in hearing about updates and new releases of google-music-electron?

    Subscribe to our newsletter!

    MPRIS integration

    If you are on GNU/Linux and your desktop environment supports MPRIS, you can install our MPRIS integration via:

    google-music-electron install-mpris
    # Once this succeeds, MRPIS will be integrated on `google-music-electron` restart 

    MPRIS screenshot

    Updating

    google-music-electron can be updated via npm:

    # Update google-music-electron to a newer version via npm
    npm update -g google-music-electron
    # Alternatively, the following can be used as well to specify a version
    # npm install -g google-music-electron@latest

    Documentation

    CLI

    We have a few CLI options available for you:

      Usage: google-music-electron [options] [command]
    
    
      Commands:
    
        install-mpris   Install integration with MPRIS (Linux only)
    
      Options:
    
        -h, --help                  output usage information
        -V, --version               output the version number
        -S, --skip-taskbar          Skip showing the application in the taskbar
        --minimize-to-tray          Hide window to tray instead of minimizing
        --hide-via-tray             Hide window to tray instead of minimizing (only for tray icon)
        --allow-multiple-instances  Allow multiple instances of `google-music-electron` to run
        --verbose                   Display verbose log output in stdout
        --debug-repl                Starts a `replify` server as `google-music-electron` for debugging
    

    Development

    Running locally

    To get a local development copy running, you will need:

    • npm, usually installed with node. Same npm that is used during installation
    • git, version control tool

    Follow the steps below to get a development copy set up:

    # Clone our repository 
    git clone https://github.com/twolfson/google-music-electron.git
    cd google-music-electron/
     
    # Install our dependencies and dev dependencies 
    npm install
     
    # Start up `google-music-electron` 
    npm start

    After running the above steps, a copy of google-music-electron should begin running.

    Screenshot

    Adding local setup as a global installation

    After getting our local development set up, we can go one step further and get google-music-electron working on our CLI as if it were installed via npm install -g.

    # Link local copy as a global copy 
    # WARNING: Make sure that `npm install` has been run before this point 
    #   or your local copy's permissions may get messed up 
    npm link
     
    # Run `google-music-electron` for local copy 
    google-music-electron

    More information on npm link can be found in npm's documentation:

    https://docs.npmjs.com/cli/link

    Icons

    Source images are kept in the resources/ folder. Icons are maintained via Inkscape and the play/pause buttons are isolated in layers.

    To generate icons:

    1. Export each of the play/pause/clean variants as a .svg file
    2. Load the icons via GIMP as a 32x32 SVG
    3. Export via GIMP as a .png

    At the time of writing, Inkscape and Image Magick seemed to be generating non-transparent backgrounds upon converting SVG to PNG.

    Contributing

    In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint via npm run lint and test via npm test.

    Donating

    Support this project and others by twolfson via donations.

    http://twolfson.com/support-me

    Attribution

    Headphones designed by Jake Dunham from the Noun Project

    Unlicense

    As of May 16 2015, Todd Wolfson has released this repository and its contents to the public domain.

    It has been released under the UNLICENSE.

    install

    npm i google-music-electron

    Downloadslast 7 days

    7

    version

    2.18.0

    license

    Unlicense

    repository

    github.com

    last publish

    collaborators

    • avatar