This post covers the final commit (or final planned commit) to Spotify Menubar.
Added
- Play/Pause and skip buttons embedded in the menubar.
- SIMBL plugin for seamless global shortcuts.
Removed
- Opening Spotify on launch.
- Opening Spotify on keybind trigger.
- Opening Spotify Menubar at login.
- Updating
Changed
- Preferences are now inline with the rest of the apps out there (using a toolbar).
- It should not be possible to have the menubar icon and the dock icon hidden at the same time.
The preferences were somewhat hideous and for such a simple app there was too much going on in one preference window, switching to the toolbar look just looks better. With the addition of the mini controls in the menubar I can’t see why the process would be running without either the regular menubar icon, the mini controls or the dock icon visible. Right-clicking any of the mini controls should bring up the regular menubar menu.
I initially used small version of Spotify’s play/pause and skip buttons, but they looked wrong in the menubar. I have borrowed the menubar icons from the Menubar Icon Pack by iAndrew which look pretty sleek!
Regarding the requests to remove the app from both the menubar and the dock, I’ve created a simple SIMBL plugin that reads the shortcuts from SM’s preferences to create global shortcuts. It actually works really well and if SM hasn’t been launched before then I just assign the default global keys I use in SM anyway (alt+shift+<key>).
To quickly explain the features removed:
- Opening Spotify on launch doesn’t seem necessary at all. Spotify is likely either already open or could be opened itself instead of launching SM.
- Opening Spotify on keybind trigger is pretty much the same idea. Again, Spotify is likely already open, or could be opened manually. There are many apps that let you efficiently open Spotify if productivity is your thing (Alfred, Quicksilver, etc).
- Realistically, I don’t want SM to open at login for me. If I have the SIMBL plugin installed then I will not be opening SM much at all (unless for the menubar controls).
- Since I did not need to actively update the app and will not be doing so in the future the feature for updating pretty much didn’t get used. I’ve left the code and framework to do so, but it is just another button that is not used.
All of these were really just inconvenient conveniences, where really there are better options for all of these (except updating).
I felt the need not to include some form of hovering controls like the space switcher in Hyperspaces that shows/hides the switcher at the mouse position just because it seemed to contrast the need for global shortcuts. Though it would be a sweet feature, it really comes down to the time I’m willing to spend on SM (which is not a lot anymore).
With all of this: the menubar controls, SIMBL plugin and simplified preferences I feel I’m leaving SM in a fairly fine state. If I was starting the project now, the code would be much tidier: pretty much all the code in one file is a disaster, haha. It still serves the one purpose I had intended for it, global shortcuts, and it does so with minimal intrusion to the user. The menubar controls are simple, the SIMBL plugin is easy to use and it has been an interesting wee project to develop.