Files
docs/versioned_docs/version-0.0.9/h_extensions/id.md
T
2025-07-30 23:44:49 +02:00

762 B

title, slug
title slug
ID Extension /extensions/id

The IdExtension is a utility struct that provides an interface to look up widgets by a numeric ID within a Screen. It is implemented as an Extension and is built on top of a thread-safe Arc<Screen>.


📦 Usage

use osui::prelude::*;

fn main() -> std::io::Result<()> {
    let screen = Screen::new();
    let elements = IdExtension::new(screen.clone());
    screen.extension(elements.clone());

    rsx! {
        "Hello, World"
    }
    .draw(&screen);

    std::thread::spawn({
        let elements = elements.clone();
        move || {
            if let Some(widget) = elements.get_element(42) {
                // use widget
            }
        }
    });

    screen.run()
}