#wayland #client #surface #applications #toolkit #global #shell

smithay-client-toolkit

Toolkit for making client wayland applications

47 releases

0.18.1 Feb 8, 2024
0.18.0 Oct 10, 2023
0.17.0 Apr 5, 2023
0.16.1 Sep 18, 2023
0.2.6 Jul 14, 2018

#14 in GUI

Download history 71253/week @ 2023-12-07 80193/week @ 2023-12-14 53770/week @ 2023-12-21 50448/week @ 2023-12-28 67548/week @ 2024-01-04 68715/week @ 2024-01-11 83022/week @ 2024-01-18 75044/week @ 2024-01-25 74298/week @ 2024-02-01 85829/week @ 2024-02-08 75897/week @ 2024-02-15 78947/week @ 2024-02-22 88864/week @ 2024-02-29 83523/week @ 2024-03-07 82668/week @ 2024-03-14 74982/week @ 2024-03-21

343,743 downloads per month
Used in 677 crates (23 directly)

MIT license

400KB
9K SLoC

crates.io docs.rs Build Status

Smithay's Client Toolkit

This crate is a toolkit for writing wayland clients in rust, on top of wayland-client.

Currently a work in progress, it currently provides the following utilities:

  • Automatic binding of general wayland globals (wl_compositor, wl_shm, etc..)
  • Abstraction to create windows (aka toplevel surfaces), abstracting the interaction with the shell (xdg_shell or wl_shell) and the drawing of decorations
  • Wrapper for wl_keyboard for automatic keymap interpretation using libxkbcommon.so.
  • Utilites for creating dpi aware surfaces.

Documentation

The documentation for the master branch is available online.

The documentation for the releases can be found on docs.rs.

Requirements

Requires at least rust 1.65 to be used and version 1.15 of the wayland system libraries if using the system backend.

Dependencies

~6–17MB
~209K SLoC