libei/doc/mainpage.dox

62 lines
2 KiB
Text
Raw Normal View History

/**
@mainpage
This is the libei API reference.
libei provides two different libraries, `libei` for clients and `libeis` for
servers (read: compositors). These two libraries are independently and
normal consumers of either `libei` or `libeis` should never need the other
library.
@section ei EI - the client implementation
The `libei` library is the component used by clients that want to emulate
input. `libei` connects to an EIS implementation.
The API documentation for EI is available at @ref libei.
@section eis EIS - the server implementation
The `libeis` library is the component used by processes that handle input
events. `libeis` handles requests from a `libei` client.
The API documentation for EI is available at @ref libeis.
@section examples Examples
Please see the [demo programs](https://gitlab.freedesktop.org/libinput/libei/-/tree/master/tools)
in the git repository.
The `eis-demo-client` is a minimal client that connects to an EIS
implementation and sends events.
The `eis-demo-server` is a minimal EIS implementation that accepts all
requests and prints them to screen.
The `eis-fake-portal` is a minimal [XDG Desktop
Portal](https://github.com/flatpak/xdg-desktop-portal/) implementation that
connects a portal-aware libei client with an EIS implementation.
@section building_against Building against libei or libeis
libei and libeis provides
[pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) files.
Software that uses libei or libeis should use pkg-config and the
`PKG_CHECK_MODULES` autoconf macro or the `dependency()` function in meson.
Otherwise, the most rudimentary way to compile and link a program against
libei or libeis is:
@verbatim
gcc -o myprogram mylibeiclient.c `pkg-config --cflags --libs libei`
gcc -o myprogram myEISimplementation.c `pkg-config --cflags --libs libeis`
@endverbatim
For further information on using pkgconfig see the pkg-config documentation.
@section About
Documentation generated from git commit [__GIT_VERSION__](https://gitlab.freedesktop.org/libinput/libei/commit/__GIT_VERSION__)
*/