No description
Find a file
Ian Douglas Scott b85c504d72
theme: Use boxed functions instead fn pointers (#99)
This is more general, and necessary if the custom theming is dynamically
generated.

Iced's builtin theme also uses `Box`ed `Fn`, or `Rc` where clone is
required, so this seems reasonable.

Only `Text` is left using `fn`, since it needs to be `Copy`. Hopefully
that can be changed in Iced at some point.

`::custom` methods are added to make these variants a little more
convenient to construct. This replaces a couple `From` implementations,
which are potentially problematic with a generic.
2023-04-28 16:04:57 -07:00
.github/workflows chore(ci): Test variant without shell 2023-01-17 13:47:47 +01:00
.vscode chore(vscode): rust-analyzer key for overrideCommand changed 2023-01-19 19:58:31 +01:00
cosmic-config WIP: Config API 2023-03-10 09:39:33 -07:00
examples theme: Use boxed functions instead fn pointers (#99) 2023-04-28 16:04:57 -07:00
iced@6f6c24bc36 update iced: drag fixes 2023-04-07 21:36:40 -04:00
res improv: use current design for nav bar toggle button 2023-01-10 20:49:49 +01:00
src theme: Use boxed functions instead fn pointers (#99) 2023-04-28 16:04:57 -07:00
.gitignore Implemented Expander 2022-10-13 11:42:13 +02:00
.gitmodules feat: autosized surface support & update freedesktop-icons & change iced branch to master 2022-12-27 17:27:04 +01:00
Cargo.toml Fix build on Windows/non-Unix 2023-04-25 06:20:20 -06:00
config.toml refactor launcher removing templates 2021-12-31 14:58:26 -05:00
LICENSE Initial commit 2021-11-12 20:22:30 -07:00
README.md Update README.md 2023-03-06 15:55:33 -07:00

LIBCOSMIC

Building blocks for COSMIC applications.

Building

Libcosmic is written in pure Rust, so cargo is all you need.

cargo build

Usage

There's examples in the examples directory.

Widget library

cargo run --release --example cosmic

On Pop!_OS

sudo apt install cargo libexpat1-dev libfontconfig-dev libfreetype-dev pkg-config cmake
git clone https://github.com/pop-os/libcosmic
cd libcosmic
git submodule update --init
cargo run --release -p cosmic

If already cloned

cd libcosmic
git pull origin master
cargo run --release -p cosmic

Text rendering

cargo run --release --example text

Documentation

The documentation can be found here.

Licence

Libcosmic is licenced under the MPL-2.0

Contact