Skip to content

AbsurdlySuspicious/wayland-protocols-table

Repository files navigation

Wayland protocol support table


A convenient way to explore current Wayland protocols and their support status.
Try it out on GitHub Pages

Features

Protocol descriptions

Click the document icon to view a protocol’s description and author information directly in the table. Or click its name to read the full description and API specification on Wayland explorer

Interfaces listings

Click the bullet-list icon to view the list of interfaces for each protocol, along with the full compositor support matrix for each interface. Interfaces will auto-expand if any compositor has only partial support. For the complete API specification, click the protocol name to go to Wayland explorer

Open/close all toggles

Toggle all descriptions or interface listings at once using the corresponding icons in the header

Supported protocols percentage

See what percentage of listed protocols each compositor supports. You can exclude non-standard protocols from these calculations by toggling the option under Settings button in header

Filter protocols by compositor



Filter the table by clicking a compositor’s name in the header:

  • First click shows only supported protocols
  • Second click shows only unsupported protocols
  • Third click clears the filter

Support percentages in the header are also updated according to active filter

Hover helpers



Hover highlights help with visual navigation within the table. Colored dots beneath compositor names reflect the support status of the currently highlighted protocol row

Building

Run prepare.sh and it will:

  • Initialize and checkout wayland-explorer submodule
  • Compile the necessary TypeScript files containing protocol and compositor data
  • Generate the static website in the dist directory

Also note that:

  • Node.js and TypeScript are required to generate data.json file
    • You can use one included in repo, though it may be outdated since it's not updated during CI. Use SKIP_TSC=1 and/or SKIP_PREP=1 environment variables to skip ts compile stage, or preparation js script altogether, respectively
  • prepare.sh needs bash to run and is most likely linux-only

Why not React, Webpack, etc. ?

Initial goal for this project was to make it with as little dependencies as possible. Even tsc is optional if you use precompiled data.json. Now that we have a working MVP, any contributions, including refactors that require new dependencies, are welcome

Acknowledgments

Many thanks to people behind Wayland Explorer (aka wayland.app) project: https://github.com/vially/wayland-explorer
This project uses precompiled .ts registry files from wayland-explorer as data source, and also links to wayland.app for full protocol descriptions

About

Compositor table for wayland.app / wayland-explorer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published