Fork de travail pop-os/libcosmic pour contribs COSMIC
Find a file
Victoria Brekenfeld b40839638a fix: Use globals instead of thread-locals
Better support for multi-threaded applications,
especially cosmic-comp rendering in parallel on
multiple threads, each potentially accessing
global configurations such as the active theme,
icon_theme and more...
2024-08-02 20:27:08 +02:00
.github/workflows ci: Add smol/tokio features when testing desktop feature 2024-07-26 12:01:40 -07:00
.vscode fix: remove rust-analyzer.linkedProjects 2024-04-13 17:11:42 -06:00
cosmic-config cosmic-config: Update calloop 2024-06-26 16:16:31 +02:00
cosmic-config-derive fix(cosmic-config-derive): do not return error when getting config which is not set 2024-03-07 07:13:40 -07:00
cosmic-theme fix: return error if vscode config fails to parse, instead of overwriting 2024-07-17 19:48:34 +02:00
examples update iced 2024-06-20 10:42:08 -06:00
iced@e31e29e99e fix(iced): lock surface scaling 2024-08-02 15:54:23 +02:00
res feat: use cached window control icons on other OSes 2024-07-30 18:29:01 +02:00
src fix: Use globals instead of thread-locals 2024-08-02 20:27:08 +02:00
.gitignore chore: remove debian directory 2023-09-15 17:37:35 +02:00
.gitmodules chore(examples): migrated cosmic-design-demo 2023-09-15 20:48:25 +02:00
Cargo.toml Add smol implementation for spawn 2024-07-26 12:01:40 -07:00
config.toml refactor launcher removing templates 2021-12-31 14:58:26 -05:00
justfile chore: remove design demo example 2024-05-29 06:25:15 -06:00
LICENSE Initial commit 2021-11-12 20:22:30 -07:00
README.md chore(readme): add cosmic-app-template 2024-07-29 13:24:33 +02:00

LIBCOSMIC

A platform toolkit based on iced for creating applets and applications for the COSMIC™ desktop.

Documentation

Templates

Dependencies

While 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 compile a typical COSMIC project:

sudo apt install cargo cmake just libexpat1-dev libfontconfig-dev libfreetype-dev libxkbcommon-dev pkgconf

Examples

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 https://github.com/pop-os/libcosmic
cd libcosmic

If you have already cloned the repository, run these to sync with the latest updates:

git fetch origin
git checkout master
git reset --hard origin/master

The examples may then be run by their cargo project names, such as just run application.

Cargo Features

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.
    • Conflicts with tokio
  • tokio: Uses tokio as the preferred async runtime.
    • If unset, the default executor defined by iced will be used.
    • Conflicts with smol
  • wayland: Wayland-compatible client windows.
    • Conflicts with winit
  • winit: Cross-platform and X11 client window support
    • Conflicts with wayland
  • wgpu: GPU accelerated rendering with WGPU.
    • By default, softbuffer is used for software rendering.
  • xdg-portal: Enables XDG portal dialog integrations.

Project Showcase

Licence

Licensed under the Mozilla Public License 2.0.

Contact