Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/ItsEthra/egui-notify

Notifications library for egui
https://github.com/ItsEthra/egui-notify

gui notifications rust toast

Last synced: about 2 months ago
JSON representation

Notifications library for egui

Awesome Lists containing this project

README

        

# egui-notify

Simple notifications library for [`egui`](https://github.com/emilk/egui)

![example_image](media/toasts_type.png)

![example_video](media/toasts_example_video.gif)

## Usage

```rust
use egui_notify::Toasts;
use std::time::Duration;

// initialize once
let mut toasts = Toasts::default();
```

```rust
// somewhere within [egui::App::update]...
toasts.info("Hello world!").duration(Duration::from_secs(5));
// ...
toasts.show(ctx);
```

## Installation

```sh
cargo add egui-notify
```

```toml
[dependencies]
egui-notify = "0.17.0"
```

## Difference to [`egui-toast`](https://github.com/urholaukkarinen/egui-toast)

### `egui-notify` has

- Animations for appearing/disappearing toasts
- Duration meter for expiring toasts
- Toast positioning not influenced by which `Context` you pass to it (like if for example, you passed in a `Context` already altered for an `egui::Window`)
- Differing methodology (create `Toasts` instance once, save save somewhere in application state)
- Threadsafe `Toasts` instance, implements `Send`, `Sync`.
- No support for custom toasts