Crate gdk4_x11

source ·
Expand description

§Rust GDK 4 X11 bindings

The project website is here.

Rust bindings of GDK 4’s X11 backend, part of gtk4-rs.

GDK is an intermediate layer that isolates GTK from the details of the windowing system. GDK X11 contains functions specific to the X11 backend.

§Minimum supported Rust version

Currently, the minimum supported Rust version is 1.70.



We recommend using crates from, as demonstrated here.

If you want to track the bleeding edge, use the git dependency instead:

gdk-wayland = { git = "", package = "gdk4-wayland" }

Avoid mixing versioned and git crates like this:

# This will not compile
gdk-x11 = {version = "0.1", package = "gdk4-x11"}
gdk-wayland = { git = "", package = "gdk4-wayland" }


v4_16Enable the new APIs part of GTK 4.16
v4_10Enable the new APIs part of GTK 4.10
v4_4Enable the new APIs part of GTK 4.4
eglIntegration with the khronos-egl crate
xlibIntegration with the x11 crate

§See Also


The Rust bindings of gdk4-x11 are available under the MIT License, please refer to it.






  • Returns the device ID as seen by XInput2.
  • Returns the gdk::Device that wraps the given device ID.
  • Routine to get the current X server time stamp.
  • Returns the X atom for a gdk::Display corresponding to @atom_name. This function caches the result, so if called repeatedly it is much faster than XInternAtom(), which is a round trip to the server each time.
  • Returns the name of an X atom for its display. This function is meant mainly for debugging, so for convenience, unlike XAtomName() and the result doesn’t need to be freed.
  • Sets the SM_CLIENT_ID property on the application’s leader window so that the window manager can save the application’s state using the X11R6 ICCCM session management protocol.