sergeyvfx / xew

X extension wrangler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

X extension wrangler
====================

X Extension Wrangler (XEW) is a cross-platform open-source C/C++ extension
loading wrangler for lowe level graphical libraries, such as X11, XCB, XKB
and others. This allows to avoid application to be linked against those
libraries by doing runtime open of dynamic libraries. This allows to have
software which can gracefully handle situations when it is running in the
headless mode, or to choose library they want to use based on what is installed
on the system.

Real usecases which are planned to be addressed with this library:

- Software which can either run in headed and headless mode. Using this
  wrangler allows to run software on  compute farms of all sorts.

- Detect whether native display manager is X11 or Wayland, and use that
  protocol.

COVERED LIBRARIES
=================

Currently following libraries are covered by this wrangler:

- X11 (only subset).
- XCB
- xkbcommon

LIMITATIONS
===========

- Only limited set of headers from X11 are covered.
- All functions with varargs (...) are only supported as a macros.
  This means, if those functions are used the wrangler library can not be
  used as a transparent LD_PRELOAD replacement for an actual X libraries.

LICENSE
=======

X Extension Wrangler library itself is released under the MIT license.

This project is heavily inspired by more decoupled wranglers/experiments
like X11ew [1] and xcbew [1], with heavily rewritten/generalized automation
script.

The code of libraries which are being wrangled are distributed under their own
licenses.

[1] https://github.com/Nazg-Gul/X11ew
[2] https://github.com/Nazg-Gul/xcbew

About

X extension wrangler

License:MIT License


Languages

Language:C 95.2%Language:Python 4.5%Language:C++ 0.2%Language:CMake 0.1%