Thanks to visit codestin.com
Credit goes to lib.rs

20 releases

0.3.0-alpha0 Jun 11, 2025
0.2.0 Sep 12, 2020
0.1.6 Jun 1, 2020
0.1.2 Mar 8, 2020
0.1.0-alpha2 Nov 19, 2019

#938 in Game dev

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

275 downloads per month
Used in 6 crates (2 directly)

MIT/Apache

62KB
1.5K SLoC

blinds covers up the details of your windowing for you, by providing an async API.

A quick example of some code that prints all incoming events:

use blinds::{run, Event, EventStream, Key, Settings, Window};

run(Settings::default(), app);

async fn app(_window: Window, mut events: EventStream) {
    loop {
        while let Some(ev) = events.next_event().await {
            println!("{:?}", ev);
        }
    }
}

The core of blinds is run, which executes your app and provides your Window and EventStream instances.


blinds

blinds covers up the details of your windowing for you, by providing an async API.

use blinds::{run, Event, EventStream, Key, Settings, Window};

fn main() {
    run(Settings::default(), app);
}

async fn app(_window: Window, mut events: EventStream) {
    loop {
        while let Some(ev) = events.next_event().await {
            println!("{:?}", ev);
        }
    }
}

Dependencies

~6–28MB
~312K SLoC