About this project

SpotMenu brings Spotify and Apple Music playback controls directly to the macOS menu bar. Built with Swift and SwiftUI, it offers a minimalist, native user experience for managing music playback without interrupting your workflow. ### Key Features - **Menu Bar Integration**: Displays the current artist and song title directly in the menu bar. - **Playback Controls**: A hover overlay provides play, pause, skip, and track liking capabilities alongside album art. - **Keyboard Shortcuts**: Global hotkeys are available for controlling playback from anywhere on your system. - **Track Liking**: Specifically for Spotify, users can like or unlike tracks using the Spotify Web API. - **Compact View**: Toggle between full and compact display modes to save menu bar space. - **Live Updates**: The app automatically syncs with active media playback changes. - **Multi-Player Support**: Automatically detects active players or allows manual selection between Spotify and Apple Music. ### Installation Users can install SpotMenu via several methods: - **Direct Download**: Grab the latest signed and notarized `.app.zip` from the GitHub Releases page, which includes automatic updates via Sparkle. - **Homebrew**: Install easily using the command `brew install --cask spotmenu`. - **Build from Source**: Requires macOS 13+ (Ventura) and Xcode 15+. Clone the repository and open `SpotMenu.xcodeproj`. ### Spotify Developer Setup To enable track liking, users must create an application on the Spotify Developer Dashboard, configure the redirect URI to `com.github.kmikiy.spotmenu://callback`, and input the generated Client ID into SpotMenu's preferences. ### Customization and Preferences The application provides extensive customization options under its Preferences menu: - **Music Player Selection**: Choose between Automatic detection, Spotify, or Apple Music. - **Appearance Controls**: Adjust hover tint colors, foreground colors, blur intensity, and opacity for the playback overlay. - **Menu Bar Visuals**: Toggle visibility of artist names, song titles, icons, and adjust maximum width (40–300pt). - **Shortcut Mapping**: Set global hotkeys for Play/Pause, Next/Previous track, and Like/Unlike actions. ### Usage Guide - **Left-click**: Show or hide the playback panel. - **Right-click**: Open the context menu. - **Hover on panel**: Reveal detailed playback controls. SpotMenu is released under the MIT License.