crmne/fastpotify
Spotify, native and fast. One lightweight Rust app for your whole library, local playback, and Spotify Connect on Linux, macOS, and Windows.
View Origin LinkProduct Positioning & Context
AI Executive Synthesis
Seamless integration with Linux window managers (specifically Hyprland) for tiling functionality. The expectation is that the mini player should not exclusively be a floating window, but allow tiling.
This issue highlights a critical UX friction point for Fastpotify users on specific Linux window managers like Hyprland. The Winamp mini player's exclusive floating window behavior directly contradicts the tiling paradigm, disrupting user workflows and diminishing the 'native and fast' promise. For a lightweight application targeting power users, failing to integrate seamlessly with core desktop environments creates a perception of incomplete or unpolished functionality. This directly impacts user satisfaction and adoption within a segment that values precise window management. The market implication is that niche, performance-oriented applications must prioritize deep integration with diverse operating system environments, especially for features like mini-players, to maintain competitive advantage and user loyalty.
Spotify, native and fast. One lightweight Rust app for your whole library, local playback, and Spotify Connect on Linux, macOS, and Windows.
Related Ecosystem & Alternatives
Discover adjacent products, open-source repositories, and developer tools sharing similar technical architecture.
Deep-Dive FAQs
What is crmne/fastpotify?
crmne/fastpotify is analyzed by our AI as: Seamless integration with Linux window managers (specifically Hyprland) for tiling functionality. The expectation is that the mini player should not exclusively be a floating window, but allow tiling.. It focuses on This issue highlights a critical UX friction point for Fastpotify users on specific Linux window managers like Hyprland. The Winamp mini player's e...
Where did crmne/fastpotify originate?
Data for crmne/fastpotify was aggregated directly from the GitHub Open Source community ecosystem, representing raw developer and early-adopter sentiment.
When was crmne/fastpotify publicly launched?
The initial public indexing or launch date for crmne/fastpotify within our tracked developer communities was recorded on August 27, 2026.
How popular is crmne/fastpotify?
crmne/fastpotify has achieved measurable traction, logging over 3,687 traction score and facilitating 165 recorded discussions or engagements.
Which technical categories define crmne/fastpotify?
Based on metadata extraction, crmne/fastpotify is categorized under topics such as: audio, cross-platform, desktop-app, egui.
Are there active development issues for crmne/fastpotify?
Yes, we are currently tracking open architectural debates and bug reports for this project on GitHub. There are currently 5 active high-priority issues logged recently.
What are some commercial alternatives to crmne/fastpotify?
Our semantic intelligence engine identifies potential commercial alternatives in the SaaS space, such as Navige, which offers overlapping value propositions.
How does the creator describe crmne/fastpotify?
The original author or development team describes the product as follows: "Spotify, native and fast. One lightweight Rust app for your whole library, local playback, and Spotify Connect on Linux, macOS, and Windows."
Active Developer Issues (GitHub)
Logged: Sep 1, 2026
Logged: Aug 29, 2026
Logged: Aug 29, 2026
Logged: Aug 29, 2026
Logged: Aug 29, 2026
Community Voice & Feedback
0.5.0 includes a first-open command that works on macOS 26 and 27, but the release is still not notarized. Could you try 0.5.0 using the current download-page instructions and confirm whether it opens normally?
`-r` doesn't work on macOS 27 beta:
```
% xattr -dr com.apple.quarantine /Applications/Fastpotify.app
option -r not recognized
```
```
% xattr -dr com.apple.quarantine /Applications/Fastpotify.app
option -r not recognized
```
Yes, a notarized release probably also avoids
Sounds good, and yea might aswell do it the proper way once ur at it.
Fair enough. The poll costs next to nothing, but immediacy is a real feature, so I will look at the callbacks (IMMNotificationClient on Windows, a CoreAudio property listener on macOS) for a later version; if their contract is clean they are the better way. Linux needs neither, PipeWire and PulseAudio move the stream themselves.
Part of this exists since 0.2.0: at start the app asks GitHub for the latest release and, when it is newer than the one running, shows a notice with the version and a link to the release page. Pre-releases are left out, which is why 0.3.0 does not mention 0.4.0-rc1, and if you never saw the notice you were on the latest release. Replacing the install from inside the app is a bigger piece; the split you describe between self-contained installs and package managers is the right shape for it. Leaving this open as that request.
> Two things in that log. The crash is librespot: when its PulseAudio sink loses the connection ("Connection terminated") it calls exit(1) and takes the whole app down. On Linux that sink is the default output. The connection dying is the other thing: the Flatpak is a community package, not built here, and a sandbox without the PulseAudio socket looks exactly like this (the log also shows it cannot reach X11 for the clipboard). Could you run `flatpak info --show-permissions rocks.fastpotify.Fastpotify` and check for `--socket=pulseaudio`? If it is missing, `flatpak override --user --socket=pulseaudio rocks.fastpotify.Fastpotify` should fix it, and the package needs the same. Two other things to try: Settings, Audio output, "ALSA (rodio)", which reports an output failure instead of exiting, or the release binary or AUR package.
pulseaudio does show in the sockets.
this is the full output:
> [Context]
shared=ipc;network;
sockets=fallback-x11;pulseaudio;wayland;x11;
devices=dri;
filesy...
pulseaudio does show in the sockets.
this is the full output:
> [Context]
shared=ipc;network;
sockets=fallback-x11;pulseaudio;wayland;x11;
devices=dri;
filesy...
The problem is only with the flatpak package, regular binary install works fine
Same issue on Fedora KDE, Flatpak 0.3.0. Dug into it with strace — might help narrow this down.
The connect() to the PulseAudio socket actually **succeeds**:
```
connect(57, {sa_family=AF_UNIX, sun_path="/run/flatpak/pulse/native"}, 110) = 0
```
but no PulseAudio protocol bytes are ever written to that fd before it gets closed:
```
connect(57, ".../pulse/native") = 0
close(57)
```
So this isn't an actual connection refusal at the socket/sandbox level — the client gives up before completing the protocol handshake, and the app reports that as "Connection Refused" itself. Same result with `audio_backend: "rodio"` (ALSA→pulse plugin), so it's not backend-specific.
Ruled out on the system side: sandbox has `sockets=pulseaudio` permission, `PULSE_SERVER`/`PULSE_CLIENTCONFIG` env vars are set correctly inside the sandboxed process, and `pactl info` run from inside the same sandbox connects and completes the handshake fine — so PulseAudio/PipeWire itself and the Flatpak permissions are not t...
The connect() to the PulseAudio socket actually **succeeds**:
```
connect(57, {sa_family=AF_UNIX, sun_path="/run/flatpak/pulse/native"}, 110) = 0
```
but no PulseAudio protocol bytes are ever written to that fd before it gets closed:
```
connect(57, ".../pulse/native") = 0
close(57)
```
So this isn't an actual connection refusal at the socket/sandbox level — the client gives up before completing the protocol handshake, and the app reports that as "Connection Refused" itself. Same result with `audio_backend: "rodio"` (ALSA→pulse plugin), so it's not backend-specific.
Ruled out on the system side: sandbox has `sockets=pulseaudio` permission, `PULSE_SERVER`/`PULSE_CLIENTCONFIG` env vars are set correctly inside the sandboxed process, and `pactl info` run from inside the same sandbox connects and completes the handshake fine — so PulseAudio/PipeWire itself and the Flatpak permissions are not t...
can't add label to the issue. it should be `enhancement`
Got the exact same behaviour on Fedora 44 Workstation (Gnome) with the FlatPark package.
There are ways to receive callbacks for audio device changes on windows linux and mac, polling every 2 seconds is wasteful.
mise ~/.config/mise/config.toml tools: gh@2.98.0
mise ~/.config/mise/config.toml tools: gh@2.98.0
Two things in that log. The crash is librespot: when its PulseAudio sink loses the connection ("Connection terminated") it calls exit(1) and takes the whole app down. On Linux that sink is the default output. The connection dying is the other thing: the Flatpak is a community package, not built here, and a sandbox without the PulseAudio socket looks exactly like this (the log also shows it cannot reach X11 for the clipboard). Could you run `flatpak info --show-permissions rocks.fastpotify.Fastpotify` and check for `--socket=pulseaudio`? If it is missing, `flatpak override --user --socket=pulseaudio rocks.fastpotify.Fastpotify` should fix it, and the package needs the same. Two other things to try: Settings, Audio output, "ALSA (rodio)", which reports an output failure instead of exiting, or the release binary or AUR package.
Update, with the strace and the permissions posted below: the sa...
mise ~/.config/mise/config.toml tools: gh@2.98.0
Two things in that log. The crash is librespot: when its PulseAudio sink loses the connection ("Connection terminated") it calls exit(1) and takes the whole app down. On Linux that sink is the default output. The connection dying is the other thing: the Flatpak is a community package, not built here, and a sandbox without the PulseAudio socket looks exactly like this (the log also shows it cannot reach X11 for the clipboard). Could you run `flatpak info --show-permissions rocks.fastpotify.Fastpotify` and check for `--socket=pulseaudio`? If it is missing, `flatpak override --user --socket=pulseaudio rocks.fastpotify.Fastpotify` should fix it, and the package needs the same. Two other things to try: Settings, Audio output, "ALSA (rodio)", which reports an output failure instead of exiting, or the release binary or AUR package.
Update, with the strace and the permissions posted below: the sa...
Released in 0.4.0-rc5 (https://github.com/crmne/fastpotify/releases/tag/v0.4.0-rc5): while playing on this computer, Fastpotify checks every couple of seconds which device the system calls its default and moves playback there when it changes, on Windows and macOS. Linux already gets this from PipeWire and PulseAudio. It applies while no specific device is set in the settings. I could only exercise the Linux side here, so if you can try it on Windows I would like to hear how it behaves.
Thanks, that is a precise report. The docs and the Homebrew cask now say `xattr -dr`, which clears the flag from the files inside the bundle as well; that is what macOS 26 trips over. The real fix is a notarized build. The release workflow already signs and notarizes when the Apple credentials are there, and I am putting those in place, so this stays open until a notarized release is out.
Discovery Source
GitHub Open Source Aggregated via automated community intelligence tracking.
Tech Stack Dependencies
No direct open-source NPM package mentions detected in the product documentation.
Media Tractions & Mentions
No mainstream media stories specifically mentioning this product name have been intercepted yet.
Deep Research & Science
No direct peer-reviewed scientific literature matched with this product's architecture.
SaaS Metrics