The Hipe API
Hipe applications use libhipe, a small C library that connects to the display server and exchanges instructions with it. It is statically linked, so an application built with it needs nothing at run time except a running hiped. C++ programs can also use an object-style interface to sessions and locations.
The instruction set is deliberately low-level: each instruction does one thing to one element, such as creating a tag, setting its text or style, or asking for its events. It is Hipe's assembly language. An application using it directly has complete control of its interface, and higher-level toolkits can be built on top of it.
libhipe isn't the only way in. Instructions travel over a local socket in a simple binary format, so any language that can write to a socket can talk to hiped.
libhipe is under the MIT licence, so it can be used in any application, open source or proprietary, and the sample applications are under 0BSD, so you can copy from them freely. See Licenses.
In this section
| Including libhipe | Building an application against the library. |
| libhipe functions | Opening a session, and sending and receiving instructions. |
| C++ extensions | The C++ interface. |
| Multithreading considerations | Using a session from more than one thread. |
| Hipe instructions | What an instruction contains, and its format on the socket. |
| Interprocess communication | Exchanging messages and data with other applications. |
| Tags, attributes and styles | What HTML and CSS can be used. |
| Locations | How applications refer to elements. |
Each instruction (HIPE_OP_...) has its own page, listed alphabetically after these.
