Notchify - Spotify in the Notch

Inspired by the much more advanced and complex Hi Notch! by @MStankiewiczOfficial I have created a much more simple and single-use Floating Menu behind the Notch specifically for launching and controlling Spotify.

I personally didn't require all the amazing bells and whistles of Hi Notch! but I was really impressed by it, especially the ability to control media from the notch. I personally only use Spotify, so I therefore used Hi Notch! to teach myself how floating menus work and make this.

This is my first attempt at floating menus, and I found the whole process all a bit confusing and complicated, to be quite honest. So there may well be lots of improvements to be made to this preset. There appears to be an intermittent bug with the currently playing floating menu item, which has been reported and is still being debugged by @Andreas_Hegenberg

But perhaps if more people who also like using Spotify use this preset then we might be able to figure out what causes it getting stuck.

Anyways, I'm a complete novice with floating menus, so YMMV with this, but thought I'd share anyway, just in case someone out there might also find it useful.

There is a play/pause button, skip forward and back buttons, and a launch button for the DJ playlist (As far as my research has found, I believe the Spotify playlist_id for the DJ playlist is universal, so this should work for everyone who has the Spotify DJ Playlist enabled).

There are also additional buttons to launch the control centre and to launch the screensaver, but these can be changed to whatever you prefer.

https://share.folivora.ai/sP/673c5cbb-d3d9-4476-991c-d9c5f196f6ab

Notchify.bttpresetzip (96.4 KB)
(includes Spotify icon)

Screenshots

TIP: If you choose to keep the Control Centre button, by clicking it whilst holding the ⌥ Option key, you can easily bring up the native Now Playing widget of the Control Centre, which includes a native seeking slider for the currently playing track - see below for a demonstration (I used native pixels for the mouse cursor position for this trigger, so you may need to edit it for different screen resolutions).

It's really cool! That bug will hopefully be gone soon :wink:

One thing that I'd recommend - but that's probably mostly personal preference:
I'd add some hover delay and some unhover delay.

This prevents that just moving the cursor quickly over the menubar will show the menu, and it also prevents accidentally closing the menu when briefly moving the cursor out.

2 Likes

Good idea! Will do that and update the preset. If you have any more tips or advice to improve this preset, especially the scripting side of things, then please do let me know :blush:

I've changed this and uploaded a new preset implementing it - it's indeed a good recommendation.

I have also changed the behaviour and logic of the Spotify button to make it a launch / show / play / pause button (feel free to correct me on the logic flow of this trigger if you can see room for improvements).

top man !

I made some modification and added some cover art...
like so:

created a new button (for the cover) with your script (and modified that a bit...)
here the script:

if application "Spotify" is running then
	tell application "Spotify"
		if player state is playing then
			set currentTrack to current track
			set artistName to artist of currentTrack
			set trackName to name of currentTrack
			
			set albumCoverUrl to artwork url of currentTrack
			set albumCoverPath to "/Users/ADD_HERE_YOUR_USERFOLDERNAME/Documents/Pictures/Spotify_cover.png"
			do shell script "curl " & quoted form of albumCoverUrl & " -o " & quoted form of albumCoverPath
			
			return artistName & " - " & trackName
		else
			return "Spotify is Paused"
		end if
	end tell
else
	return "                         Spotify"
end if

for the button use a background as below.
and select the path defined in the apple script
("/Users/ADD_HERE_YOUR_USERFOLDERNAME/Documents/Pictures/Spotify_cover.png")
..

Thx,
Christian

2 Likes

That's awesome! I was thinking I might like to try and get the album artwork in there at some point if I could - thank you so much for doing the work for me!

I think I'll update my preset and edit my OP to include one preset with the artwork and my original one without. Cheers!

1 Like

hi could you share your btt preset with the script you added?

I made some modifications to the UI layout and changed the function buttons slightly:

  • Lock Screen, Sleep, and Close All Notifications.

Here is my preset:
exported_triggers.bttpreset (79.7 KB)

One thing I'm unsure about is how to prevent the notch's position from being dragged by the mouse.

Here are the new updates on the function buttons:

  • Added "Toggle Do Not Disturb".
  • Moved the "Close All Notifications" button to the upper left corner.
  • Removed the "play/pause" function from both the track title and the album cover.

Here is my preset:
exported_triggers.bttpreset (89.2 KB)

By the way, is it possible to have this menu pop up when changing songs?


Another new updates:

  • Separated the display of the track artist and track name.
  • Added track duration and current position.
  • Increased menu height for greater bottom round corner.

Preset:
exported_triggers.bttpreset (103.0 KB)

1 Like