At startup authorization is done using a webview or external browser window. The tokens are saved so a next startup might not need a login. Still this webview/browser window might appear. When authorization is successful you can switch to the app.

There are some 'main' pages

  • New Releases (albums)
  • Top Stuff (artists/tracks)
  • My Stuff (albums/artists/playlists/tracks)
  • Search (albums/artists/playlists/tracks)
  • Genre & Mood (categories)
  • New Releases (albums)

Opening one of these pages will clear the current Page stack

The Playing page is either an 'attached' page of the current page and can be opened by flicking or it be opened using the menu and will then be put on top of the Page stack.

Viewing an Album/Artists/Playlist will add a new page to the stack. There is no programmed limit on the number of them.

There are two implementations of a 'menu' 1. a page with a list of menu items 2. a docked panel with icons

The panel, normally hidden, contains buttons to open the various pages. The panel becomes visible when clicking on the icon next to the page header.

The menu page is an 'attached' page of the Player or can be openend from the docked panel.

The Settings page allows to configure: * The number of results per request. Spotify seems to have a maximum of 50. * Use external Browser or a Webview to login at Spotify. * Start Librespot when launched and stop it on exit. * Start Librespot or stop it. * Ask for confirmation of save/follow changes * Which menu implementation to use * Have the player as an attached page

The menu list:

The icons in the tool bar mean:
* Music: Playing page * Plus: New Releases [age * Person: My Stuff page * Like: Top Stuff page * Magnifier: Search page * Speaker: Devices page * Gear: Settings page * Info: About page


  • Device Page: A list is shown of known play devices. The current one is highlighted. Using the context menu (long press) you select another device.
  • Various actions can triggered using the context menu (long press)
  • For some lists the nex/previous set (paging) can be retrieved using the Push/Pull menus
  • The Playing page shows what is currently playing and contains various player controls.
  • Pause/Next/Previous can also be done on the Cover page or the controls on the Lock Screen.
  • Settings are saved in .local/share/wdehoog/hutspot/ and .cache/wdehoog/hutspot and dconf (dconf list /hutspot/)