Overview | Architecture | Supported Devices
A configurable system monitor overlay for the COSMIC desktop.
COSMIC Widget combines a panel applet, a native COSMIC settings application, and a frosted-glass desktop overlay.
- CPU, memory, GPU, network, and disk I/O monitoring
- CPU and GPU temperatures with arc, circular, or text displays
- Local and mounted storage usage, including network filesystems
- Native battery monitoring for Logitech peripherals, gaming headsets, and the Razer Wolverine V3 Pro 8K PC
- Open-Meteo weather with no API key
- Grouped, expandable COSMIC notifications with synchronized dismissal
- Multi-source media controls for MPRIS players, Cider, Emby, and browser media
- YouTube thumbnails and Bandcamp album covers for browser playback
- Bandcamp track titles in Zen/Firefox when the playing duration uniquely identifies a track, without a browser extension
- Reorderable and individually configurable sections
- COSMIC theming, accent colors, blur, rounded corners, and drag-to-position
- Cached weather, notification, storage, and battery state for fast startup
See Supported Devices for the complete battery support matrix.
The project requires Rust, Cargo, just, a COSMIC desktop session, and the
development packages needed by libcosmic and hidapi.
just build-release
sudo just install
sudo udevadm control --reload-rules
sudo udevadm triggerReconnect newly supported USB receivers after the first installation so the
udev permissions take effect. The install recipe places the applet, overlay,
settings application, desktop entries, icon, metadata, and headset udev rules
under /usr/local.
Add COSMIC Widget to the COSMIC panel. Its popup can show or hide the overlay and open the settings application.
cargo run --release --bin cosmic-widget-applet
cargo run --release --bin cosmic-widget-iced
cargo run --release --bin cosmic-widget-settingsOnly one overlay instance can run at a time.
- Solaar can be enabled as a fallback for Logitech hardware that the native HID++ reader cannot access.
- HeadsetControl can provide fallback support for headset models newer than the built-in registry.
- Cider's local API adds direct Apple Music polling and controls. Standard MPRIS players work without Cider.
- COSMIC Files transfer progress shows copy and move progress, then updates the same notification when the operation ends. This requires the included COSMIC Files companion and notification timeout patches.
Configuration is stored through cosmic-config under:
~/.config/cosmic/com.github.zoliviragh.CosmicWidget/v1/
Runtime caches are stored under:
~/.cache/cosmic-widget-applet/
Cached battery readings are provisional at startup and are replaced by a live reading or the normal unavailable state.
cargo fmt --all -- --check
cargo test --all-targets
cargo clippy --all-targetsThe production overlay is implemented by the cosmic-widget-iced Cargo target
and installed as cosmic-widget. The older Cairo target remains in the source
tree only as migration compatibility code.
See Architecture for the process model, data flow, and source layout.
MPL-2.0
Weather icons are from Weather Icons under the SIL OFL 1.1.
