Introduction

NepTunes web widgets are small, always-on panels that sit on your desktop and react to whatever you’re playing in Apple Music or Spotify. A widget is just HTML, CSS and JavaScript — if you can build a web page, you can build a widget.

Each widget runs in its own transparent WebView and talks to the app through a single global object, window.NepTunes, which exposes the current track, playback state, and actions like play, pause and love.

The .nepget bundle

A widget ships as a .nepget bundle — a folder with a specific extension. At minimum it contains:

MyWidget.nepget/
├── manifest.json   # metadata, size, permissions, settings
├── index.html      # the entry point (set via "entry")
├── styles.css      # your styles (optional)
├── script.js       # your logic (optional)
└── preview.jpg     # a preview image for the picker (optional)

The manifest.json describes the widget — its name, version, default size, the permissions it needs, and any user-configurable settings. The entry HTML file is what NepTunes loads.

Installing a widget

Double-click a .nepget bundle and NepTunes installs it. Widgets live in:

~/Library/Application Support/NepTunes/Widgets/

Once installed, a widget appears on your desktop where you can position and (if it allows) resize it.

Desktop widgets require NepTunes Pro

The on-screen web-widget system is part of NepTunes Pro. Anyone can build and share widgets, and downloads from the gallery are free — running them on your desktop unlocks with Pro inside the app.

Quick start →