4 个版本 (重大更新)
新 0.4.0 | 2024 年 8 月 23 日 |
---|---|
0.3.0 | 2024 年 3 月 1 日 |
0.2.0 | 2023 年 9 月 20 日 |
0.1.0 | 2023 年 7 月 20 日 |
#811 in GUI
273,636 每月下载量
用于 359 个工具包 (直接使用 2 个)
13KB
144 行代码
calloop-wayland-source
使用 EventQueue
从 wayland-client
与 calloop
的事件循环。
lib.rs
:
使用 EventQueue
从 wayland-client 与使用 calloop
进行轮询的事件循环的实用工具。
示例
use calloop::EventLoop;
use calloop_wayland_source::WaylandSource;
use wayland_client::{Connection, QueueHandle};
// Create a Wayland connection and a queue.
let connection = Connection::connect_to_env().unwrap();
let event_queue = connection.new_event_queue();
let queue_handle = event_queue.handle();
// Create the calloop event loop to drive everytihng.
let mut event_loop: EventLoop<()> = EventLoop::try_new().unwrap();
let loop_handle = event_loop.handle();
// Insert the wayland source into the calloop's event loop.
WaylandSource::new(connection, event_queue).insert(loop_handle).unwrap();
// This will start dispatching the event loop and processing pending wayland requests.
while let Ok(_) = event_loop.dispatch(None, &mut ()) {
// Your logic here.
}
依赖项
~4–13MB
~165K SLoC