GithubHelp home page GithubHelp logo

doytsujin / x11rb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from psychon/x11rb

0.0 1.0 0.0 7.6 MB

X11 bindings for the rust programming language, similar to xcb being the X11 C bindings

License: Apache License 2.0

Rust 98.79% Python 1.18% Makefile 0.02% Shell 0.01% M4 0.01%

x11rb's Introduction

X11 rust bindings

GitHub Actions Status AppVeyor Build Status Crate API Minimum rustc version License

Feel free to open issues for any problems or questions you might have. A comparison with some other Rust X11 libraries is available in an extra document.

Building

This crate uses a code generator that is implemented in Rust. A copy of the generated code is included, so you do not need to run the generator unless you have modified the definitions or the generator itself.

The code generator uses the X11 XML description from xcb-proto. A copy of xcb-proto that comes with the source code is used.

The interaction with libxcb via XCBConnection requires at least libxcb 1.12.

Does this support async/await

No. If you have so many X11 connections that this would matter, you are doing something wrong. Also, it encourages people to write high-latency code instead of sending multiple requests and only afterwards wait for the replies.

Crate features

Most X11 extensions are feature-gated. For example, to use the shared memory extansion, the shm feature has to be enabled.

The all-extensions feature just enables all X11 extensions.

Additionally, the allow-unsafe-code feature enables XCBConnection. This uses libxcb internally and allows sharing the underlying xcb_connection_t pointer with other code.

The cursor feature enables X11 cursor support via the cursor module. This module helps with loading cursors from the current cursor theme.

Current state

The full X11 protocol is supported by this library. All extensions that are available in xcb-proto can be used and even FD passing with the server is supported.

The changelog is available in a separate file.

License

Licensed under either of

at your option.

The subdirectory xcb-proto-1.14-1-g2b3559c contains a vendored copy of the package of the same name. It is covered by the MIT license. See xcb-proto-1.14-1-g2b3559c/COPYING for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

x11rb's People

Contributors

psychon avatar mergify[bot] avatar eduardosm avatar khuey avatar notgull avatar dalcde avatar hafeoz avatar tadeokondrak avatar ma124 avatar spyrosroum avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.