GUI platform toolkit for developing COSMIC applications and applets
GUI platform toolkit for developing COSMIC applications and applets
A platform toolkit based on iced for creating applets and applications for the COSMIC™ desktop.
cargo docWhile libcosmic is written entirely in Rust, some of its dependencies may require shared system library headers to be installed. On Pop!_OS, the following dependencies are all that's necessary to compile a typical COSMIC project:
sudo apt install cargo cmake just libexpat1-dev libfontconfig-dev libfreetype-dev libxkbcommon-dev pkgconfTo identify a project as a COSMIC Application, add com.system76.CosmicApplication to the provides section of the project's metainfo.
com.system76.CosmicApplication
For COSMIC Applets, use com.system76.CosmicApplet.
com.system76.CosmicApplet
Some examples are included in the examples directory to to kickstart your COSMIC adventure. To run them, you need to clone the repository with the following commands:
git clone --recurse-submodules https://github.com/pop-os/libcosmic
cd libcosmicIf you have already cloned the repository, run these to sync with the latest updates:
git fetch origin
git checkout master
git reset --hard origin/masterThe examples may then be run by their cargo project names, such as just run application.
Available cargo features to choose from:
a11y: Experimental accessibility support.animated-image: Enables animated images from the image crate.debug: Enables addtional debugging features.smol: Uses smol as the preferred async runtime.tokiotokio: Uses tokio as the preferred async runtime.smolwayland: Wayland-compatible client windows.winitwinit: Cross-platform and X11 client window supportwaylandwgpu: GPU accelerated rendering with WGPU.xdg-portal: Enables XDG portal dialog integrations.Licensed under the Mozilla Public License 2.0.
No open issues yet, or sync has not completed.