Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thebashpotato/egui-aesthetix

Easy to use theming library for egui
https://github.com/thebashpotato/egui-aesthetix

Last synced: 2 months ago
JSON representation

Easy to use theming library for egui

Awesome Lists containing this project

README

        


Egui-Aesthetix






Crates.io
Crates.io
docs.rs
Crates.io


A Uniform and Programmatic approach to theming Egui Applications


## Table of Contents

- [About](#about)
- [Install](#install)
- [Usage](#usage)
- [Maintainers](#maintainers)
- [License](#license)

## About

This library is my answer to theming egui. There are other libraries, and approaches.
I like this method because it is trait based, so many themes could be added to this crate for everyone to use.

### Default themes

> The library ships with the following themes if default features are left on.
> These should look great on Mac, Windows and Linux alike.

1. Standard Dark
- Based off of the [Gnome Adwaita color palette](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/named-colors.html)

2. Standard Light
- Based off of the [Gnome Adwaita color palette](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/named-colors.html)

### Other themes

> There are plenty of other themes that can be specified through features

1. Carl Dark
- Based off of the [Kde plasma theme](https://store.kde.org/p/1338881/)

2. Nord (Light and Dark)
- Based off the [ popular Nord theme](https://www.nordtheme.com/)

3. Tokyo Night (Dark and Storm)
- Based off the [VSCode Extension](https://github.com/enkia/tokyo-night-vscode-theme)

4. Catpuccin
- TODO

### Checkout the results

Screen Shots


Standard Dark theme on Kde Plasma


Standard Dark


Standard Light theme on Kde Plasma


Standard Light


Carl Dark theme Kde on Plasma


Standard Light

Nord Dark


Nord Dark

Nord Light


Nord Light

Tokyo Night


Tokyo Night

Tokyo Night Sorm


Tokyo Night Storm

## Install

The library is very flexible and doesn't force you to include themes you don't want.

> This includes default features which is the Aesthetix trait, and
> the StandardDark and StandardLight themes

```toml
egui-aesthetix = "0.2.4"
```

> Only includes the Aesthetix trait, no themes will be included

```toml
egui-aesthetix = { version = "0.2.4", default-features = false }
```

> Include all the themes

```toml
egui-aesthetix = { version = "0.2.4", features = ["all_themes"] }
```

> Only include standard themes and a specified theme (here carl is used as the specified theme)

```toml
egui-aesthetix = { version = "0.2.4", features = ["standard", "carl" ] }
```

> Only include nord themes

```toml
egui-aesthetix = { version = "0.2.4", features = ["nord"] }
```

> Only include tokyo night themes

```toml
egui-aesthetix = { version = "0.2.4", features = ["tokyo_night"] }
```

## Usage

Here is the [dashboard template from the above screenshots](https://github.com/thebashpotato/egui-dashboard-template) using this crate for its themes. The code is
straight forward to read. Reading the `egui-aesthetix` source code and the dashboard code
should give you more than enough information and context to use it in your own applications
as well as implement your own custom themes using the `Aesthetix` trait. **Happy Theming!!**

## Maintainers

[@thebashpotato](https://github.com/thebashpotato)

PRs accepted.

Small note: If editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.

## License

MIT © 2023 Matt Williams