Skip to content

akuzko/skadi-applet

Repository files navigation

Skadi Applet

Audio and media control applet for the COSMIC desktop.

Screenshot

Features

Audio

  • Toggle mute/unmute on the default audio output
  • List all available output devices and switch the default sink with a single click
  • Active device is highlighted in the list

Media

  • Shows the active MPRIS media player name alongside the section header (e.g. Media ⬩ Chrome)
  • Displays the current track title and artist when available
  • Play/Pause, Previous, and Next track controls — Previous/Next are only active when the player reports it supports them (e.g. radio streams disable navigation)

Installing

From source

You will need just and the standard Rust toolchain (rustup), plus a few system libraries. On a Debian/Ubuntu-based system:

sudo apt install just libxkbcommon-dev

Clone the repo and install:

git clone https://github.com/akuzko/skadi-applet
cd skadi-applet
just build-release
just install

To install without root (e.g. into ~/.local):

just install rootdir=$HOME/.local prefix=''

This installs the binary to ~/.local/bin/skadi-applet and the .desktop entry to ~/.local/share/applications/.

Post-installation

Once installed, the applet should appear in COSMIC Settings when editing applets on the panel or dock. It can also be launched directly from a terminal for testing:

skadi-applet

Logs can be viewed with:

journalctl SYSLOG_IDENTIFIER=skadi-applet

Building

# Debug build
just build

# Release build
just build-release

# Run directly (without installing)
just run

Packaging

To package for a Linux distribution, vendor dependencies first, then build from the vendored sources:

just vendor
just build-vendored
just rootdir=debian/skadi-applet prefix=/usr install

Developers

Developers should install rustup and configure their editor to use rust-analyzer.

A justfile is included for the casey/just command runner:

  • just — release build (default)
  • just run — build and run
  • just check — run clippy
  • just install — install into the system
  • just vendor — create a vendored dependency tarball
  • just build-vendored — compile using vendored dependencies

Translators

Fluent is used for localization. Translation files are in the i18n directory. To add a new translation, copy the English (en) directory, rename it to the desired ISO 639-1 language code, and provide translations for each message identifier. Messages that don't need translation can be omitted.

About

Audio and media control applet for the COSMIC desktop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors