Since switching from Apple to a Dell XPS13 and Ubuntu Linux about a year ago I’ve been on the hunt for the best available media player for my own listening habits. Much of the time this is Spotify, but I haven’t spent years buying CDs and digital albums just to listen to streaming music—I wanted a good solution for MP3s and other local audio files, and I wanted something that worked well for albums, not just single tracks. Last time I used Linux this was Rhythmbox, but somewhat embarrassingly it collapsed under the weight of my music library. Audacious worked perfectly (and supports Winamp skins to boot!) but Audacious is still from the “spreadsheet interface” school of music players and doesn’t always feel quite right. Music’s emotional, so I figure it’s OK to pay attention to irrational emotional responses to music player UI; I wanted something different.
Enter Plexamp. Since last winter I’ve been using Plex to manage much of my personal media, and by and large I love it. I hadn’t gone so far as to use it for music, though, because despite the attractive album-art interface of the web player (which I use as desktop app thanks to Nativefier) the interface didn’t minimize well when I wanted my music to sit out of the way in the corner of the screen.
I mentioned that I liked Audacious’ support for Winamp skins; Winamp was fun, and I kind of miss it. The Plex team apparently feels similarly because last winter they released a new Plex client called Plexamp. Inspired by Winamp, Plexamp provides a music-specific, tailored interface to your Plex library.
On Ubuntu Plexamp properly handles media key presses (most of the time), and the minimal UI sits nicely alongside or behind whatever I’m working on while I listen to music. Best of all Plexamp also provides a mode called “Random Album Radio,” which selects a random album, plays it through, then moves on to the next random album. I wish every media player supported this feature! I like listening to records, and I hate that random shuffle constantly jumps between albums in most music software.
It’s not a perfect application, but it’s a nice complement to Audacious, the main Plex web interface, and the handful of other pieces of software I use to listen to my music collection. There were just a couple things needed before it worked well on Linux.
Restore the Tray Icon
Plexamp’s interface is minimal to a fault: despite claiming the application’s design is limited to a single window, many important player settings are accessed through a tray icon.
Since my only experience with Plexamp was on Linux, I didn’t know there was a tray icon because it was not appearing in the Ubuntu system tray.
Thankfully a thread about an unrelated feature request revealed what I’d been missing all this time, and showed me how to fix the problem by setting an environment variable. Setting the XDG_CURRENT_DESKTOP
variable to Unity
allows the icon to appear as normal.
Scale It Up
On a standard HD display, Plexamp doesn’t take up much screen size. On a HiDPI display with Ubuntu’s somewhat inconsistent handling for application scaling, Plexamp was minuscule. Before I could use the application I needed to find a way to make it big enough to see.
Spotify suffers from the same HiDPI scaling issues, and for that app we can use the --force-device-scale-factor=2
command line argument to make it render properly at 4K resolutions. Spotify and Plexamp are both Electron applications so we can use the exact same argument to bump Plexamp up to a readable size. I actually prefer to set Plexamp to 1.5x on standard-resolution screens, and 3x at HiDPI resolutions.
Launcher Command
Putting that all together, the command I use to launch Plexamp on Ubuntu is this:
nohup env XDG_CURRENT_DESKTOP=Unity /home/kadam/bin/plexamp-1.0.5-x86_64.AppImage --force-device-scale-factor=1.5
This launches Plexamp at a usable scale, and ensures the tray icon displays properly for me on Ubuntu 18.04 LTS “Bionic”. It’s a cool little app, and I’m grateful to the Plex team for taking the time to put it out there and release an AppImage that runs on Linux!