The sidebar mode (tabs on top, large sidebar, etc.) was only being saved when the application exits normally. This caused the setting to be lost if the application crashed or was force-closed, reverting to the default "Large Sidebar" mode on next startup. This fix connects the FancyTabWidget::ModeChanged signal to immediately save the tab_mode setting when the user changes it via the context menu. Fixes issue where sidebar keeps periodically reverting to Large mode. Co-authored-by: jonaski <10343810+jonaski@users.noreply.github.com>
🍓 Strawberry Music Player 
Strawberry is a music player and music collection organizer, originally forked from Clementine in 2018. It’s written in C++ using the Qt framework, designed for audiophiles and music collectors.
🌐 Resources
- Website: https://www.strawberrymusicplayer.org
- Wiki: https://wiki.strawberrymusicplayer.org
- Forum: https://forum.strawberrymusicplayer.org
- GitHub: https://github.com/strawberrymusicplayer/strawberry
- Latest builds: https://builds.strawberrymusicplayer.org
- openSUSE Build Service:
- Ubuntu PPAs:
- Translations: https://crowdin.com/project/strawberrymusicplayer
⚠️ Opening an Issue
Before creating a new GitHub issue:
- Read the FAQ.
- Search existing issues to avoid duplicates. If one already exists, comment there with any additional information.
- Use the forum for technical problems, discussions or feature suggestions — it’s better suited for back-and-forth conversation.
- Feature requests are not accepted on GitHub. Issues created for feature requests will be closed. You can still discuss ideas on the forum.
- Flatpak users: We do not maintain the Flatpak package. Report Flatpak-specific issues via Flatpak support.
💰 Sponsoring
Strawberry is free software released under the GPL. If you enjoy using it, please consider supporting development through sponsorship or donation.
Sponsorship options:
Supporting open-source developers helps ensure continued maintenance and improvements.
✅ Features
- Play and organize your music collection
- Supports formats: WAV, FLAC, WavPack, Ogg Vorbis, Opus, MPC, TrueAudio, AIFF, MP4, MP3, ASF, and Monkey’s Audio
- Audio CD playback
- Bit-perfect playback on Linux
- Native desktop notifications
- Advanced playlist management
- Smart and dynamic playlists
- Loudness analysis and EBU R128 normalization
- Editing tags and fetching missing tags via MusicBrainz
- Album art from: Last.fm, MusicBrainz, Discogs, Musixmatch, Deezer, Tidal, Qobuz, Spotify
- Lyrics from: Genius, Musixmatch, ChartLyrics, lyrics.ovh, lololyrics, songlyrics, azlyrics, elyrics, letras, LyricFind and lrclib.net
- Audio analyzer and equalizer
- Transfer music to USB, MTP and iPod devices
- Scrobbling to Last.fm and ListenBrainz
- Streaming from Subsonic-compatible servers
- Unofficial integrations: Tidal, Spotify, and Qobuz
- Discord Rich Presence
✅ Tested on Linux, OpenBSD, FreeBSD, macOS, and Windows.
Note: macOS and Windows releases are currently available to sponsors only. A monthly sponsorship via Patreon grants direct access to new releases.
⚙️ Requirements
To build Strawberry from source, you’ll need:
Dependencies:
- CMake ≥= 3.13
- C/C++ compiler (GCC, Clang, or MSVC)
- pkg-config or pkgconf
- Boost
- GLib
- Qt ≥= 6.4 (Core, Concurrent, Gui, Widgets, Network, SQL, D-Bus)
- SQLite ≥= 3.9
- ALSA (Linux only)
- GStreamer
- TagLib ≥= 1.12
- ICU
- KDSingleApplication ≥= 1.1.0
Dependencies for optional features:
- Fingerprinting & tagging: Chromaprint
- Moodbar: FFTW3
- PulseAudio integration: PulseAudio
- Audio CD support: libcdio
- MTP devices: libmtp
- iPod Classic: libgpod
- EBU R128 normalization: libebur128
- Discord presence: RapidJSON
Also install GStreamer plugins base, good, and optionally bad, ugly and libav for full codec support.
🔧 Build from Source
Get the code:
git clone --recursive https://github.com/strawberrymusicplayer/strawberry
Build and install:
cd strawberry
cmake -S . -B build
cmake --build build --parallel $(nproc)
sudo cmake --install build
For building on Windows with Visual Studio 2022, see: 👉 https://github.com/strawberrymusicplayer/strawberry-msvc
