Giter Club home page Giter Club logo

hyper-spotify's Introduction

hyper-spotify npm

License hyper npm

Build Status GitHub issues

Spotify plugin for Hyper.
Display currently playing song on Spotify at the bottom of the terminal and allows you to control your favourite music

hyper-spotify

Installation

Simply add this plugin inside ~/.hyper.js and enjoy your music 🎵

module.exports = {
  ...
  plugins: ['hyper-spotify']
  ...
}

Configuration

In your ~/.hyper.js you can define the following parameters to customize hyper-spotify appearance

modules.exports = {
  config: {
    ...
    hyperSpotify: {
      position: 'top', // or 'bottom'
      margin: 'default', // or 'double' or custom value
      controlsPosition: 'default', // or 'left' or 'right'
    },
    ...
  },
  ... 
};

Position

hyper-spotify bar supports 2 different positioning:

  • top
  • bottom (default)

Margin

hyper-spotify bar supports 3 margin options:

  • default, should work most of the times
  • double, when using other bar plugins (such as hyper-statusline or hyperline)
  • custom value, specify a custom margin value as an interger (e.g. 30)

Controls position

hyper-spotify controls support 3 different positioning:

  • default, controls appears just before the song details
  • left, controls are fixed to the left side of Hyper window
  • right, controls are fixed to the right side of Hyper window

Theme

hyper-spotify support different themes:

  • default, A light theme with a Spotify Green (#1ED760) Spotify icon
  • light, An white theme suitable for dark hyper themes
  • dark, A deep-black theme suitable for light hyper themes
  • special event themes (look for them if you really want to 😜)
  • custom, A customizable theme (see below for more options)

Custom Theme

If you'd like to give a personal touch to hyper-spotify, you can use a custom theme and specify one or more of the theme colors

  • overlayColor, the color to apply to hyper-spotify bar background, defaults to white (#FFF)
  • iconColor, the color for every actionable icon, defaults to white (#FFF)
  • spotifyIconColor, the color for the Spotify icon (visible when Spotify app is not running), defaults to iconColor (if specified) or to Spotify Green (#1ED760)
  • textColor, track info color, defaults to white (#FFF)

Custom theme sample configuration, edit your ~/.hyper.js

modules.exports = {
  config: {
    ...
    hyperSpotify: {
      ...
      theme: 'custom', // important!
      overlayColor: '#000',
      iconColor: '#D75C1B',
      spotifyIconColor: '#1ED760',
      textColor: '#FFF'
    },
    ...
  },
  ... 
};

Hotkeys

The following hotkeys to control Spotify are enabled when Hyper terminal is focused:

  • Play/Pause: CmdOrCtrl+Shift+Space
  • Next song: CmdOrCtrl+Shift+N
  • Previous song: CmdOrCtrl+Shift+P

Limitations

Currently works only on macOS, Linux (Tested on Ubuntu 17.04).

Troubleshooting

Can't load hyper-spotify

Unfortunately this seems to be a common issue with Hyper plugins (see here zeit/hyper#191)

After installing hyper-spotify if Hyper complains about an error while enabling the plugin:

  • do a full restart of Hyper app

if even after restaring the issue persists try running the following command

$ cd ~/.hyper_plugins && npm install

abstract-socket module error

If you get an error related to abstract-socket not being compiled with the correct Node version, you can try the following solution:

  • Retrieve Hyper electron version by running process.versions.electron inside Hyper DevTools console
  • Run ~/.hyper_plugins/node_modules/.bin/electron-rebuild -v [output of process.versions.electron] inside the terminal

For more details see issue #13.

Issue with hyper-statusline

If you have issue using this plugin alongside hyper-statusline make sure this plugin is declared before hyper-statusline.


Credits

This plugin is inspired by atom-spotify2 and relies on spotify-js to interact with Spotify client

Related Projects

If you found this plugin of your interest or if you need to control other media players be sure to check out hyper-media-control by @OrionNebula


Made with ✨ & ❤️ by Mattia Panzeri and contributors

If you found this project to be helpful, please consider buying me a coffee.

buy me a coffee

hyper-spotify's People

Contributors

dependabot[bot] avatar orionnebula avatar panz3r avatar binyamin 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.