# Overview

This manual is the API specification for the IBus. IBus is built upon GObject and D-Bus, so you may find that modules are named as classes and objects in the sense of GObject, and may D-Bus wrapper API.

According to the puroposes of modules, we categorized them into following parts:

Panel | A IBus-panel is an UI which provides UI components such as language bar, property buttons and so on.
Input method engine (IME) | An Input method engine is an implementation of certain input method. Here lists essential classes and functions for input method engine building, such as engine specification, and class abstracts.
Configuration | This part lists functions for configuring IBus and engines. Since most configuration files are in XML format, XML handling functions are also listed here.
Communication | Here lists the service communication functions.
Internal | Definition and functions for IBus internal use.

Normally input method developers need only to read the first three parts.