All Projects → Smithay → Wayland Rs

Smithay / Wayland Rs

Licence: mit
Rust implementation of the wayland protocol (client and server).

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to Wayland Rs

gobble
Rust rewrite of Devour
Stars: ✭ 23 (-94.64%)
Mutual labels:  wayland
Gromit Mpx
Gromit-MPX is an on-screen annotation tool that works with any Unix desktop environment under X11 as well as Wayland.
Stars: ✭ 287 (-33.1%)
Mutual labels:  wayland
Rofimoji
An emoji and character picker for rofi 😁
Stars: ✭ 319 (-25.64%)
Mutual labels:  wayland
dotfiles
My arch setup script and dotfiles
Stars: ✭ 37 (-91.38%)
Mutual labels:  wayland
Gnome Shell Extended Gestures
Better touchpad gesture handling for GNOME
Stars: ✭ 281 (-34.5%)
Mutual labels:  wayland
Wdisplays
GUI display configurator for wlroots compositors
Stars: ✭ 302 (-29.6%)
Mutual labels:  wayland
weston-rs
Rust bindings to libweston(-desktop) of Weston, the reference Wayland compositor
Stars: ✭ 14 (-96.74%)
Mutual labels:  wayland
Cage
A Wayland kiosk
Stars: ✭ 372 (-13.29%)
Mutual labels:  wayland
Wine Wayland
Wine-wayland allows playing DX9/DX11 and Vulkan games using pure wayland and Wine/DXVK.
Stars: ✭ 284 (-33.8%)
Mutual labels:  wayland
Wob
A lightweight overlay volume/backlight/progress/anything bar for Wayland.
Stars: ✭ 306 (-28.67%)
Mutual labels:  wayland
Swappy
A Wayland native snapshot editing tool, inspired by Snappy on macOS
Stars: ✭ 264 (-38.46%)
Mutual labels:  wayland
X11vnc
a VNC server for real X displays
Stars: ✭ 272 (-36.6%)
Mutual labels:  wayland
Brightnessctl
A program to read and control device brightness
Stars: ✭ 306 (-28.67%)
Mutual labels:  wayland
cute-sway-recorder
SwayWM screen recorder; a GUI for wf-recorder
Stars: ✭ 16 (-96.27%)
Mutual labels:  wayland
Dotfiles
Sway acid dark
Stars: ✭ 330 (-23.08%)
Mutual labels:  wayland
gnome-gesture-improvements
Touchpad gesture improvements for GNOME on Wayland/X11
Stars: ✭ 53 (-87.65%)
Mutual labels:  wayland
Greenfield
HTML5 Wayland compositor 🌱
Stars: ✭ 296 (-31%)
Mutual labels:  wayland
Dotfiles
Configuration for Arch Linux, sway, kitty, kakoune, zsh and more + scripted installation guide
Stars: ✭ 385 (-10.26%)
Mutual labels:  wayland
Slurp
Select a region in a Wayland compositor
Stars: ✭ 350 (-18.41%)
Mutual labels:  wayland
Farge
Click on a pixel on your screen and show its color value
Stars: ✭ 307 (-28.44%)
Mutual labels:  wayland

crates.io docs.rs Continuous Integration codecov

Wayland rust crates

This project contains rust crates for using the wayland protocol, both client side and server side.

There are two ways to use them:

  • By default, they use a pure rust implementation of the protocol
  • If you set the use_system_lib cargo feature, they will rather act as bindings on top of the wayland system C libraries, and this will add methods to access pointers to the C objects in the API. You'll need to use this feature if you need to interact with a C library that requires wayland objects (typically to intialize an OpenGL context)

If you use the use_system_lib feature, the crates thus obviously require that the wayland C libs are installed on your system. You can however require that they are dynamically loaded at startup rather than directly linked by setting the dlopen flag. This can be useful if you want to ship a binary that should gracefully handle the absence of these libs (by fallbacking to X11 for example).

This repository actually hosts 8 crates. The 3 main crates you'll likely want to use:

  • wayland-client and wayland-server are the main crates for client and server side bindings
  • wayland-protocols regroups bindings on the official protocol extentions available

There are also two auxilliary crates:

  • wayland-egl, which is necessary client-side for OpenGL integration
  • wayland-cursor, which helps with loading cursor images from the system themes for use in your apps

And finally 3 internal crates, that you'll need only for integrating a custom protocol extension:

  • wayland-commons contains the protocol logic that can be shared between client-side and server-side
  • wayland-sys is the actual C bindings, on which the crates are built
  • wayland-scanner is the crate used to convert the XML protocol specifications into rust code

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.41 to be used, and version 1.15 of the wayland system libraries if using the use_system_lib cargo feature.

Chat and support

For general quick questions you can get answers in the chat room.

The chat room is bridged over multiple chat servers, here are 3 options on how to connect to the chat:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].