A lightweight macOS menu bar app for quick Spotify playlist management. Remove songs and skip, move tracks between playlists, and control playback—all from your menu bar or global keyboard shortcuts.
- Remove + Skip: Remove the current song from its playlist and skip to the next track
- Add to Favorites: One-click add to your designated favorites playlist (with optional remove from current)
- Move to Playlist: Add current track to any playlist, optionally removing from the source
- Global Keyboard Shortcuts: Control Spotify from any app
- Persistent Auth: Sign in once, stay signed in (tokens stored securely in Keychain)
- Launch at Login: Start automatically when you log in
- macOS 13.0 (Ventura) or later
- Spotify Premium account (required for playback control)
- Xcode 15+ (for building)
- Go to Spotify Developer Dashboard
- Click Create App
- Fill in:
- App name:
Iffy(or anything you like) - App description:
Personal playlist manager - Redirect URI:
iffy://callback
- App name:
- Check the Web API checkbox
- Click Save
- Go to your app's settings and copy the Client ID
The real Secrets.plist is not tracked in version control. Copy Secrets.example.plist to Secrets.plist and add your Client ID.
Open Sources/Iffy/Resources/Secrets.plist and replace:
<string>YOUR_CLIENT_ID_HERE</string>with your actual Client ID:
<string>abc123your_actual_client_id</string>- Open the project folder in Xcode:
cd /path/to/iffy open Package.swift - Wait for Xcode to resolve package dependencies
- Select My Mac as the run destination
- Click Run (⌘R)
$ bash build.shThe built executable will be at .build/release/Iffy
- Click the music note icon (♪) in your menu bar
- Click Sign in to Spotify
- Your browser will open—authorize the app
- You'll be redirected back to Iffy (the app handles the
iffy://callbackURL) - Done! The menu will now show your current track
Click the menu bar icon to see:
- Now Playing: Current track and artist
- Remove + Skip (⌘R): Delete from playlist, play next
- Add to [Favorites] (⌘F): Add to your default playlist
- Add to Playlist...: Choose any playlist to add to
- Move to Playlist...: Add to another playlist AND remove from current
- Settings: Configure default playlist, keyboard shortcuts, launch at login
Default shortcuts (customizable in Settings):
| Action | Default Shortcut |
|---|---|
| Remove + Skip | ⌘⇧R |
| Add to Favorites | ⌘⇧F |
| Skip Track | ⌘⇧S |
These work from any app—no need to have Iffy focused.
Open Settings (⌘,) to:
- Set Default Playlist: Choose which playlist "Add to Favorites" uses
- Customize Shortcuts: Record your own key combinations
- Launch at Login: Toggle auto-start
Sources/Iffy/
├── IffyApp.swift # App entry point, menu bar setup
├── MenuBarView.swift # Menu UI and actions
├── SettingsView.swift # Settings window
├── SpotifyManager.swift # Spotify API & OAuth
├── KeychainManager.swift # Secure token storage
└── Resources/
├── Info.plist # App configuration
└── Iffy.entitlements # Keychain & network permissions
- Make sure you added
iffy://callbackas a Redirect URI in your Spotify app settings - Check that your Client ID is correct
- Go to System Settings → Privacy & Security → Accessibility
- Make sure Iffy is in the list and enabled
- You may need to remove and re-add it
- Make sure you're playing from a playlist (not an album, liked songs, or radio)
- The menu shows "Playing from playlist" in green when this works
- This usually means the refresh token was revoked (e.g., you revoked access in Spotify settings)
- Sign out in Iffy, then sign in again