{"id":24953289,"url":"https://github.com/fabcolonna/spotbar","last_synced_at":"2026-04-01T20:25:11.817Z","repository":{"id":160152580,"uuid":"587677579","full_name":"fabcolonna/Spotbar","owner":"fabcolonna","description":"Small applications that provides Spotify media controls in a window that runs in your macOS/Windows/Linux menu bar 🎶","archived":false,"fork":false,"pushed_at":"2023-05-14T12:50:28.000Z","size":3485,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-28T00:42:43.585Z","etag":null,"topics":["electron","electron-app","electron-builder","linux","macos","music","nodejs","player","react","react-rout","redux-toolkit","spotify","tailwind","tray-application","typescript","vite","vitejs","windows"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabcolonna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-01-11T10:18:09.000Z","updated_at":"2026-02-27T16:26:51.000Z","dependencies_parsed_at":"2024-01-08T01:07:47.839Z","dependency_job_id":null,"html_url":"https://github.com/fabcolonna/Spotbar","commit_stats":null,"previous_names":["fabcolonna/spotbar"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/fabcolonna/Spotbar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabcolonna%2FSpotbar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabcolonna%2FSpotbar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabcolonna%2FSpotbar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabcolonna%2FSpotbar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabcolonna","download_url":"https://codeload.github.com/fabcolonna/Spotbar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabcolonna%2FSpotbar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","electron-app","electron-builder","linux","macos","music","nodejs","player","react","react-rout","redux-toolkit","spotify","tailwind","tray-application","typescript","vite","vitejs","windows"],"created_at":"2025-02-03T03:33:14.540Z","updated_at":"2026-04-01T20:25:11.795Z","avatar_url":"https://github.com/fabcolonna.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align='center'\u003e\n\u003cimg src=\"./resources/readme/icon.png\" width=128\u003e\n\u003c/p\u003e\n\n# **Spotbar**\n\nSpotbar is a cute little widget-app that runs in your macOS/Windows/Linux menu bar, that offers\n\n- Media controls: Previous track, Play/Pause, Next track, Add/Remove to your library;\n- Album art displayed like a spinning disk, or a more compact version that hides it for a more minimal look;\n- Track information, such as Title, Artists, Album name, Duration and Progress time;\n- Info about which device it is currently playing (since Spotify has a Connect feature that lets you choose the device on which you'd like to stream music);\n- Ability to interact with Spotify Connect: you're able to send audio stream to other available devices directly in the widget, and control their relative volume\n\nThe idea behind all this is not having to open the Spotify app for such basic actions, and control music playback coming from other devices directly in the menu bar. I love tray applications in general, because their main goal is to make certain common actions very quickly accessible.\n\n\u003cp align='center'\u003e\n\u003cimg src=\"./resources/readme/main_view.png\"\u003e\n\u003c/p\u003e\n\n## Getting Started\n\nThe app requires `node.js`. Make sure to have it installed before proceeding, by typing `node --version` in your terminal. Install it on your machine if you don't have it by visiting [the official website](https://nodejs.org/it/download/), or by using your favorite package manager (i.e. `brew` on macOS, `choco / winget` on Windows, `apt / dnf / pacman` on Linux). This procedure should automatically install the node's package manager `npm`. Make sure you have it by typing `npm --version`.\n\n## Spotify API\n\nThis app relies on Spotify API. Rather than building my own library to interact with them, Spotbar relies on an amazing open source library named [`spotify-web-api-node`](https://github.com/thelinmichael/spotify-web-api-node) offered by [Michael Thelin aka. @thelinmicheael](https://github.com/thelinmichael).\n\nCurrently, in order to use Spotbar, you have to create your personal _client_id_ and _client_secret_ by creating an app into the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard/). Spotbar will ask those info as soon as it starts, and it'll memorize them.\n\n## Installing\n\nGrab the package for your OS in the **Releases** page, and you should be ready to go!\n\n## Building\n\nTake this route if Spotbar for you OS has not been packaged yet (it will, pretty soon!), or if you just wanna play around with the code.\n\nThis app is written in TypeScript, so the `tsc` compiler is required; type `tsc` in the command line to find out if you already have it installed. If you don't, install it through `npm` by typing `(sudo) npm install --global typscript`.\n\nOk, you're now ready: clone this repo and install the required modules:\n\n```\ngit clone https://github.com/levarr/Spotbar\ncd Spotbar\nnpm install\n```\n\nOnce the operation is complete, you can:\n\n- Start the application in development mode with the following command: `npm run dev`;\n- Build the application for your specific OS using `npm run build:{win,mac,linux}`.\n\nNB: Extensive documentation on the build commands won't be available until I actually try those on different machines with the various OSes. If you wanna use them right now and errors pop up, you'll need to sort them out yourself. I have to fully understand the _notarize_ process involved in Mac building yet.\n\n## Built With\n\n- [Electron.js](https://www.electronjs.org/)\n- [React.js](https://reactjs.org/) with Redux Toolkit \u0026 Framer Motion\n- [ViteJS](https://vitejs.dev)\n- [TailwindCSS](https://tailwindcss.com/)\n\n## Authors\n\n- **Fabio Colonna** - [levarr](https://github.com/levarr)\n\n## License\n\nSpotbar is under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabcolonna%2Fspotbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabcolonna%2Fspotbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabcolonna%2Fspotbar/lists"}