https://github.com/noobping/listenmoe
Listen to J-POP and K-POP, or pause and resume the live stream. Stream and metadata provided by LISTEN.moe.
https://github.com/noobping/listenmoe
adw-gtk4 adwaita app gtk4 gtk4-rs listen listen-moe listenmoe moe music radio rust
Last synced: 2 months ago
JSON representation
Listen to J-POP and K-POP, or pause and resume the live stream. Stream and metadata provided by LISTEN.moe.
- Host: GitHub
- URL: https://github.com/noobping/listenmoe
- Owner: noobping
- License: mit
- Created: 2025-11-26T23:13:12.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-04-02T10:47:36.000Z (3 months ago)
- Last Synced: 2026-04-03T08:29:37.119Z (3 months ago)
- Topics: adw-gtk4, adwaita, app, gtk4, gtk4-rs, listen, listen-moe, listenmoe, moe, music, radio, rust
- Language: Rust
- Homepage: https://flathub.org/apps/io.github.noobping.listenmoe
- Size: 7.5 MB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# The world's cutest radio

[](https://github.com/noobping/listenmoe/actions/workflows/win.yml)
[](https://github.com/noobping/listenmoe/actions/workflows/linux.yml)
[](https://flathub.org/apps/details/io.github.noobping.listenmoe)
[](https://github.com/noobping/listenmoe/releases/latest/download/listenmoe.msi)
Listen to J-POP and K-POP, or pause and resume the live stream. Stream and metadata provided by [LISTEN.moe](https://listen.moe).

The application uses a compact, titlebar-style layout that displays the current album and artist, along with basic playback controls.
When album or artist artwork is available, a dominant color is extracted and used to select the appropriate GNOME light or dark appearance. If no artwork is available, the default GNOME appearance is used.
The background includes subtle, animated sound bars that respond to the music. Their color adapts to the extracted palette while remaining unobtrusive. Text readability is preserved using a soft overlay behind the title and subtitle.
## Installation
You can install ListenMoe using one of the following options:
- **Windows / Linux (AppImage):**
Download the latest release from the [GitHub releases page](https://github.com/noobping/listenmoe/releases/latest).
- **Linux (Flatpak):**
Install it from [Flathub](https://flathub.org/apps/details/io.github.noobping.listenmoe).
## Options
The application can be started with optional flags. For example:
```sh
flatpak run io.github.noobping.listenmoe --autoplay --kpop --stop --no-discord --preferences
```
Available flags:
- `-a`, `--autoplay`: start playing automatically on launch
- `-j`, `--jpop`: use J-POP as default station
- `-k`, `--kpop`: use K-POP as default station
- `-p`, `--preferences`: save current startup flags as defaults
- `--no-discord`: disable Discord Rich Presence at runtime
- `-s`, `--stop`: use stop behavior instead of pause
- `-v`, `--verbose`: print extra startup diagnostics
- `-h`, `--help`: show help and exit
- `--version`: show version and exit
Keyboard shortcuts:
- `Ctrl+,`: open Preferences
- `Ctrl+?` or `F1`: open Keyboard Shortcuts
## Translations
The `po` folder contains translation files in `.po` (Portable Object) format. If you spot a typo, unclear wording, or have a better translation, contributions are welcome.
## Development
Dependencies:
```sh
sudo dnf install -y @development-tools cargo clang gcc gcc-c++ gettext libadwaita-devel alsa-lib-devel cairo-devel gdk-pixbuf2-devel glib2-devel libgpg-error-devel gtk4-devel pango-devel openssl-devel make mold nettle-devel pkgconf-pkg-config pkgconf
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
```
Build the AppImage:
```sh
./.appimage-po.sh
appimage-builder --recipe .appimage-builder.yml
```
Run (debug):
```sh
glib-compile-schemas data
GSETTINGS_SCHEMA_DIR=data cargo run -p
```
Use `cargo-edit` to update the dependencies.
```sh
cargo install cargo-edit
```
```sh
cargo upgrade --incompatible
```