Listen to music without distraction
Mellow is an experimental music player, which strives for maximal immersion with minimal distraction. Elements of the interface are purposefully abstracted away, letting music be the central point of focus.
[!NOTE] This software is in active development; features and design may still be subject to change. If you encounter any problems while using it, please post about them on the issues page. Suggestions and feature requests are welcome as well.
[!WARNING] Forwards compatibility is not guaranteed; if you plan on trying out older versions or commits, it is recommended to backup your configuration beforehand.
Mellow's primary design goal is to minimize distraction and maximize immersion, and with that encourage experiencing the music in-the-moment.
Unlike most players, Mellow puts the currently playing song at the base of the interface. This means that there is no "back" button on the main player, which might be tempting to press. Rather, everything that is unrelated to the currently playing song is done inside an overlay, hidden from view except when needed.
This divides the interface into two parts; the main player (the "now"), and the overlay (the "not now"). The main player features the currently playing song and player controls, and the overlay is used for everything else; browsing the library to find what to play, editing the song queue to choose what plays next, setting the shuffle and repeat modes, and configuring the application. When the overlay is closed, it is time to enjoy the music.
[!NOTE] Only Linux builds are currently supported. If you would like to try Mellow on a different operating system, it may be possible by building it from source.
The recommended way to install Mellow is by downloading it from the
releases page.
It can be installed by opening the Flatpak file in Gnome Software
(or similar), or using the flatpak command from the terminal:
# Note: Check if the path is correct before running
flatpak install --user ~/Downloads/io.github.userwithaname.Mellow.flatpak
If you've installed Mellow using the Flatpak release asset and wish to remove it,
you can either do so through your distribution's software manager, or by using the
flatpak command from the terminal:
flatpak uninstall io.github.userwithaname.Mellow
If you've installed Mellow by building it from source, it can be uninstalled by manually removing the files listed at the bottom of this document.
[!NOTE] The below instructions are meant for Fedora; steps may be different for other systems
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
dnf install gstreamer1-devel gtk4-devel libadwaita-devel meson
[!TIP] Mellow may also be built using Cargo directly by adding
--feature no-meson. Note that this will require manually installing the GSchema, setting up icons, and creating the application shortcut. Building with Meson is recommended for a simpler build process.
dnf install \
gstreamer1-plugins-bad-free \
gstreamer1-plugins-bad-free-extras \
gstreamer1-plugins-good \
gstreamer1-plugins-good-extras \
gstreamer1-plugin-libav
Clone the source code and run the following command to build and install Mellow on your system:
meson setup builddir --prefix=~/.local && meson install -C builddir
The following files and directories will be created:
~
├── .cache
│ └── mellow ⟵╮
│ └── … ⟵┤
├── .config ├─ Created when launched
│ └── mellow ⟵┤
│ └── … ⟵╯
└── .local
├── bin
│ └── mellow ⟵─ Main program executable
└── share
├── applications
│ └── io.github.userwithaname.Mellow.desktop
├── dbus-1
│ └── services
│ └── io.github.userwithaname.Mellow.service
├── glib-2.0
│ └── schemas
│ ├── io.github.userwithaname.Mellow.gschema.xml
│ └── gschemas.compiled ⟵╮
│ Note: May also contain schemas for other apps
├── icons
│ └── hicolor
│ └── scalable
│ └── apps
│ └── io.github.userwithaname.Mellow.png
└── mellow
└── resources.gresource
[!TIP] Ensure the
mellowexecutable is within your$PATHfor the shortcut to work correctly. If you've used a different build command, the executable might be in a different location than shown above.
$ claude mcp add mellow \
-- python -m otcore.mcp_server <graph>