npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

tidal-cli-client

v2.0.6

Published

You can now use Tidal on linux. With your loved CLI. <3

Downloads

170

Readme

tidal-cli-client

Build Status BCH compliance

tidal-cli-client is an open-source Tidal client for your linux terminal. You can finally listen to your favourite tracks without any web wrappers and flash. With your loved terminal. <3

Donations

If you like this app and you want to help me with the development, you can donate me some money, so I can buy more RAM for my Chrome.

I'm 14 years old passionated JS developer and this app is a big success for me. I would appreciate every donation.

paypal

Here is my Bitcoin address: 1FJqNsijJpctJwsFB4LPhf7KEKNYVb1Mcd

My Bitcoin address QR code

Update 2.0.0 notes

The app is now completly rewritten. Most of the new features are:

  • More abstraction with components and cleaner code.
  • Better error handling.
  • Caching every api request.
  • Configurable shortcuts.
  • Unit tests
  • Playback queue control

Installation

Installation sources:

  • Arch Linux:

  • Other distros:

    • It is prefered to install tidal-cli-client package from npm using command sudo npm -g i tidal-cli-client@latest. After installation you can run app from anywhere using command tidal-cli.

    • If you don't want to use npm installation you can clone this repo. Then you install other dependencies with npm install and run with npm run app.

    You must have MPV and W3M installed. On some systems you'll also need to check, if you have got w3m-img, because it is not always installed directly with w3m.

Usage instructions

When you open app for the first time you can see a form. Input username (first) and password (second) to the boxes and submit. Then it loads the main app.

To change focus from one item to another, press tab.

Action bar

On the bottom of the app there is a green bar. When you press : it automatically focuses itself. Most of the navigation in the app is based on this text input. The list of commands is as follows:

| Command | Description | Example | |-------------|-----------------------------------------------------------------------|-----------------------| | search | Searches for a query specified after space | search Led Zeppelin | | queue | Opens tracks queue panel, where you can view and edit playback queue | queue | | pause | Pauses playback | pause | | resume | Resumes playback | resume | | skip | Skips a number of tracks in queue specified after space | skip 3 | | next | Works as skip 1 | resume | | shuffle | Shuffles a tracks queue randomly | shuffle | | playlists | Opens user playlists panel where you can view and play your playlists | playlists | | quit | Quits from the app | quit |

Shortcuts

You can press these keys at any point and they'll do their thing.

| Shortcut | Description | |----------|------------------------------------------------------------------------------------------------| | F2 | Opens actions input bar and automatically enters search . Then you can only enter your query | | n | When focused on the list item or playback button adds focused element to the queue as next | | a | When focused on the list item or playback button adds focused element to the queue as last | | l | Play next track from queue. Works as next | | j | When focused on the list, goes up | | k | When focused on the list, goes down | | w | When on the playback queue list, moves selected item up in queue | | s | When on the playback queue list, moves selected item down in queue |

Config file

The apps config file is located in ~/.config/tidal-cli-client/app.json. You can configure your shortcuts from there.

  • STYLES object contains all of apps colors are located. You can customize them as you like with HEX color codes.

  • INPUT_BAR_ACTION object contains all action bar actions are stored. You can edit their values to fit your preference.

  • SHORTCUTS object contains all of apps shortcuts which you can customize as you wish.

Shortcut naming for Ctrl-(key) is C-(key), for function keys it's f(key)

Your login credentials are stored in ~/.config/tidal-cli-client/credentials.json. You can edit this file if you want to.

  • USERNAME is your username

  • PASSWORD is your password

  • STREAM_QUALITY is TIDAL's stream quality, either LOW, HIGH or LOSSLESS.

For developers

If you want to help me with the development, create a fork on Github and clone it to your machine.

Call npm install. After the work call npm run test to check for any errors and the you can create a PR.