Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ibusshare: IBus Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="IBus Reference Manual">
<link rel="up" href="ch06.html" title="Internal">
<link rel="prev" href="IBusObject.html" title="IBusObject">
<link rel="next" href="ibus-ibustypes.html" title="ibustypes">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#ibus-ibusshare.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch06.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="IBusObject.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="ibus-ibustypes.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="ibus-ibusshare"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="ibus-ibusshare.top_of_page"></a>ibusshare</span></h2>
<p>ibusshare — Shared utility functions and definition.</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="ibus-ibusshare.stability-level"></a><h2>Stability Level</h2>
<acronym title="The intention of a Stable interface is to enable arbitrary third parties to
develop applications to these interfaces, release them, and have confidence that
they will run on all minor releases of the product (after the one in which the
interface was introduced, and within the same major release). Even at a major
release, incompatible changes are expected to be rare, and to have strong
justifications.
"><span class="acronym">Stable</span></acronym>, unless otherwise indicated
</div>
<div class="refsect1">
<a name="ibus-ibusshare.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-get-local-machine-id" title="ibus_get_local_machine_id ()">ibus_get_local_machine_id</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-set-display" title="ibus_set_display ()">ibus_set_display</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-get-address" title="ibus_get_address ()">ibus_get_address</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-write-address" title="ibus_write_address ()">ibus_write_address</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-get-user-name" title="ibus_get_user_name ()">ibus_get_user_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#glong"><span class="returnvalue">glong</span></a>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-get-daemon-uid" title="ibus_get_daemon_uid ()">ibus_get_daemon_uid</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-get-socket-path" title="ibus_get_socket_path ()">ibus_get_socket_path</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-get-timeout" title="ibus_get_timeout ()">ibus_get_timeout</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-free-strv" title="ibus_free_strv ()">ibus_free_strv</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-key-event-to-string" title="ibus_key_event_to_string ()">ibus_key_event_to_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-key-event-from-string" title="ibus_key_event_from_string ()">ibus_key_event_from_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-init" title="ibus_init ()">ibus_init</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-main" title="ibus_main ()">ibus_main</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-quit" title="ibus_quit ()">ibus_quit</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-set-log-handler" title="ibus_set_log_handler ()">ibus_set_log_handler</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="ibus-ibusshare.html#ibus-unset-log-handler" title="ibus_unset_log_handler ()">ibus_unset_log_handler</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ibus-ibusshare.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-DEPRECATED:CAPS" title="IBUS_DEPRECATED">IBUS_DEPRECATED</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-SERVICE-IBUS:CAPS" title="IBUS_SERVICE_IBUS">IBUS_SERVICE_IBUS</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-SERVICE-PORTAL:CAPS" title="IBUS_SERVICE_PORTAL">IBUS_SERVICE_PORTAL</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-SERVICE-PANEL:CAPS" title="IBUS_SERVICE_PANEL">IBUS_SERVICE_PANEL</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-SERVICE-PANEL-EXTENSION:CAPS" title="IBUS_SERVICE_PANEL_EXTENSION">IBUS_SERVICE_PANEL_EXTENSION</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-SERVICE-PANEL-EXTENSION-EMOJI:CAPS" title="IBUS_SERVICE_PANEL_EXTENSION_EMOJI">IBUS_SERVICE_PANEL_EXTENSION_EMOJI</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-SERVICE-CONFIG:CAPS" title="IBUS_SERVICE_CONFIG">IBUS_SERVICE_CONFIG</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-SERVICE-NOTIFICATIONS:CAPS" title="IBUS_SERVICE_NOTIFICATIONS">IBUS_SERVICE_NOTIFICATIONS</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-PATH-IBUS:CAPS" title="IBUS_PATH_IBUS">IBUS_PATH_IBUS</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-PATH-FACTORY:CAPS" title="IBUS_PATH_FACTORY">IBUS_PATH_FACTORY</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-PATH-PANEL:CAPS" title="IBUS_PATH_PANEL">IBUS_PATH_PANEL</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-PATH-PANEL-EXTENSION-EMOJI:CAPS" title="IBUS_PATH_PANEL_EXTENSION_EMOJI">IBUS_PATH_PANEL_EXTENSION_EMOJI</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-PATH-CONFIG:CAPS" title="IBUS_PATH_CONFIG">IBUS_PATH_CONFIG</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-PATH-NOTIFICATIONS:CAPS" title="IBUS_PATH_NOTIFICATIONS">IBUS_PATH_NOTIFICATIONS</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-PATH-INPUT-CONTEXT:CAPS" title="IBUS_PATH_INPUT_CONTEXT">IBUS_PATH_INPUT_CONTEXT</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-INTERFACE-IBUS:CAPS" title="IBUS_INTERFACE_IBUS">IBUS_INTERFACE_IBUS</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-INTERFACE-PORTAL:CAPS" title="IBUS_INTERFACE_PORTAL">IBUS_INTERFACE_PORTAL</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-INTERFACE-INPUT-CONTEXT:CAPS" title="IBUS_INTERFACE_INPUT_CONTEXT">IBUS_INTERFACE_INPUT_CONTEXT</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-INTERFACE-FACTORY:CAPS" title="IBUS_INTERFACE_FACTORY">IBUS_INTERFACE_FACTORY</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-INTERFACE-ENGINE:CAPS" title="IBUS_INTERFACE_ENGINE">IBUS_INTERFACE_ENGINE</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-INTERFACE-PANEL:CAPS" title="IBUS_INTERFACE_PANEL">IBUS_INTERFACE_PANEL</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-INTERFACE-CONFIG:CAPS" title="IBUS_INTERFACE_CONFIG">IBUS_INTERFACE_CONFIG</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="ibus-ibusshare.html#IBUS-INTERFACE-NOTIFICATIONS:CAPS" title="IBUS_INTERFACE_NOTIFICATIONS">IBUS_INTERFACE_NOTIFICATIONS</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="ibus-ibusshare.description"></a><h2>Description</h2>
<p>This file defines some utility functions and definition
which are shared among ibus component and services.</p>
</div>
<div class="refsect1">
<a name="ibus-ibusshare.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="ibus-get-local-machine-id"></a><h3>ibus_get_local_machine_id ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
ibus_get_local_machine_id (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Obtains the machine UUID of the machine this process is running on.</p>
<div class="refsect3">
<a name="ibus-get-local-machine-id.returns"></a><h4>Returns</h4>
<p> A newly allocated string that shows the UUID of the machine.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-set-display"></a><h3>ibus_set_display ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_set_display (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *display</code></em>);</pre>
<p>Set the display address.</p>
<div class="refsect3">
<a name="ibus-set-display.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>display</p></td>
<td class="parameter_description"><p>Display address, as in DISPLAY environment for X.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-get-address"></a><h3>ibus_get_address ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
ibus_get_address (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Return the D-Bus address of IBus.
It will find the address from following source:</p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><p>Environment variable IBUS_ADDRESS</p></li>
<li class="listitem"><p>Socket file under ~/.config/ibus/bus/</p></li>
</ol></div>
<div class="refsect3">
<a name="ibus-get-address.returns"></a><h4>Returns</h4>
<p> D-Bus address of IBus. <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for not found.</p>
<p>See also: <a class="link" href="ibus-ibusshare.html#ibus-write-address" title="ibus_write_address ()"><code class="function">ibus_write_address()</code></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-write-address"></a><h3>ibus_write_address ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_write_address (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *address</code></em>);</pre>
<p>Write D-Bus address to socket file.</p>
<p>See also: <a class="link" href="ibus-ibusshare.html#ibus-get-address" title="ibus_get_address ()"><code class="function">ibus_get_address()</code></a>.</p>
<div class="refsect3">
<a name="ibus-write-address.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>address</p></td>
<td class="parameter_description"><p>D-Bus address of IBus.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-get-user-name"></a><h3>ibus_get_user_name ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
ibus_get_user_name (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Get the current user name.
It is determined by:</p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem"><p><code class="function">getlogin()</code></p></li>
<li class="listitem"><p>Environment variable SUDO_USER</p></li>
<li class="listitem"><p>Environment variable USERHELPER_UID</p></li>
<li class="listitem"><p>Environment variable USERNAME</p></li>
<li class="listitem"><p>Environment variable LOGNAME</p></li>
<li class="listitem"><p>Environment variable USER</p></li>
<li class="listitem"><p>Environment variable LNAME</p></li>
</ol></div>
<div class="refsect3">
<a name="ibus-get-user-name.returns"></a><h4>Returns</h4>
<p> A newly allocated string that stores current user name.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-get-daemon-uid"></a><h3>ibus_get_daemon_uid ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#glong"><span class="returnvalue">glong</span></a>
ibus_get_daemon_uid (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<div class="warning">
<p><code class="literal">ibus_get_daemon_uid</code> is deprecated and should not be used in newly-written code.</p>
<p>This function has been deprecated and should
not be used in newly written code.</p>
</div>
<p>Get UID of ibus-daemon.</p>
<div class="refsect3">
<a name="ibus-get-daemon-uid.returns"></a><h4>Returns</h4>
<p> UID of ibus-daemon; or 0 if UID is not available.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-get-socket-path"></a><h3>ibus_get_socket_path ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
ibus_get_socket_path (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Get the path of socket file.</p>
<div class="refsect3">
<a name="ibus-get-socket-path.returns"></a><h4>Returns</h4>
<p> A newly allocated string that stores the path of socket file.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-get-timeout"></a><h3>ibus_get_timeout ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
ibus_get_timeout (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Get the GDBus timeout in milliseconds. The timeout is for clients (e.g.
im-ibus.so), not for ibus-daemon.
Note that the timeout for ibus-daemon could be set by --timeout command
line option of the daemon.</p>
<div class="refsect3">
<a name="ibus-get-timeout.returns"></a><h4>Returns</h4>
<p> A GDBus timeout in milliseconds. -1 when default timeout for
GDBus should be used.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-free-strv"></a><h3>ibus_free_strv ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_free_strv (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **strv</code></em>);</pre>
<div class="warning">
<p><code class="literal">ibus_free_strv</code> is deprecated and should not be used in newly-written code.</p>
<p>This function has been deprecated and should
not be used in newly written code.</p>
</div>
<p>Free a list of strings.</p>
<div class="refsect3">
<a name="ibus-free-strv.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>strv</p></td>
<td class="parameter_description"><p>List of strings.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-key-event-to-string"></a><h3>ibus_key_event_to_string ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
ibus_key_event_to_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> keyval</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> modifiers</code></em>);</pre>
<p>Return the name of a key symbol and modifiers.</p>
<p>For example, if press ctrl, shift, and enter, then this function returns:
Shift+Control+enter.</p>
<div class="refsect3">
<a name="ibus-key-event-to-string.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>keyval</p></td>
<td class="parameter_description"><p>Key symbol.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>Modifiers such as Ctrl or Shift.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-key-event-to-string.returns"></a><h4>Returns</h4>
<p> The name of a key symbol and modifier.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-key-event-from-string"></a><h3>ibus_key_event_from_string ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
ibus_key_event_from_string (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *string</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *keyval</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *modifiers</code></em>);</pre>
<p>Parse key event string and return key symbol and modifiers.</p>
<div class="refsect3">
<a name="ibus-key-event-from-string.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>string</p></td>
<td class="parameter_description"><p>Key event string.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyval</p></td>
<td class="parameter_description"><p>Variable that hold key symbol result.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>Variable that hold modifiers result.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="ibus-key-event-from-string.returns"></a><h4>Returns</h4>
<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for succeed; <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if failed.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-init"></a><h3>ibus_init ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_init (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Initialize the ibus types.</p>
</div>
<hr>
<div class="refsect2">
<a name="ibus-main"></a><h3>ibus_main ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_main (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Runs an IBus main loop until <a class="link" href="ibus-ibusshare.html#ibus-quit" title="ibus_quit ()"><code class="function">ibus_quit()</code></a> is called in the loop.</p>
<p>See also: <a class="link" href="ibus-ibusshare.html#ibus-quit" title="ibus_quit ()"><code class="function">ibus_quit()</code></a>.</p>
</div>
<hr>
<div class="refsect2">
<a name="ibus-quit"></a><h3>ibus_quit ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_quit (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Stops an IBus from running.</p>
<p>Any calls to <a class="link" href="ibus-ibusshare.html#ibus-quit" title="ibus_quit ()"><code class="function">ibus_quit()</code></a> for the loop will return.
See also: <a class="link" href="ibus-ibusshare.html#ibus-main" title="ibus_main ()"><code class="function">ibus_main()</code></a>.</p>
</div>
<hr>
<div class="refsect2">
<a name="ibus-set-log-handler"></a><h3>ibus_set_log_handler ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_set_log_handler (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> verbose</code></em>);</pre>
<p>Sets GLIB's log handler to ours. Our log handler adds time info
including hour, minute, second, and microsecond, like:</p>
<p>(ibus-daemon:7088): IBUS-DEBUG: 18:06:45.822819: ibus-daemon started</p>
<p>If <em class="parameter"><code>verbose</code></em>
 is <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, all levels of messages will be logged. Otherwise,
DEBUG and WARNING messages will be ignored.  The function is used in
ibus-daemon, but can be useful for IBus client programs as well for
debugging. It's totally fine for not calling this function. If you
don't set a custom GLIB log handler, the default GLIB log handler will
be used.</p>
<div class="refsect3">
<a name="ibus-set-log-handler.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>verbose</p></td>
<td class="parameter_description"><p>TRUE for verbose logging.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="ibus-unset-log-handler"></a><h3>ibus_unset_log_handler ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
ibus_unset_log_handler (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Remove the log handler which is set by ibus_set_log_handler.</p>
</div>
</div>
<div class="refsect1">
<a name="ibus-ibusshare.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="IBUS-DEPRECATED:CAPS"></a><h3>IBUS_DEPRECATED</h3>
<pre class="programlisting">#define IBUS_DEPRECATED
</pre>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-SERVICE-IBUS:CAPS"></a><h3>IBUS_SERVICE_IBUS</h3>
<pre class="programlisting">#define IBUS_SERVICE_IBUS       "org.freedesktop.IBus"
</pre>
<p>Address of IBus service.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-SERVICE-PORTAL:CAPS"></a><h3>IBUS_SERVICE_PORTAL</h3>
<pre class="programlisting">#define IBUS_SERVICE_PORTAL     "org.freedesktop.portal.IBus"
</pre>
<p>Address of IBus portalservice.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-SERVICE-PANEL:CAPS"></a><h3>IBUS_SERVICE_PANEL</h3>
<pre class="programlisting">#define IBUS_SERVICE_PANEL      "org.freedesktop.IBus.Panel"
</pre>
<p>Address of IBus panel service.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-SERVICE-PANEL-EXTENSION:CAPS"></a><h3>IBUS_SERVICE_PANEL_EXTENSION</h3>
<pre class="programlisting">#define IBUS_SERVICE_PANEL_EXTENSION "org.freedesktop.IBus.Panel.Extension"
</pre>
<p>Address of IBus panel extension service.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-SERVICE-PANEL-EXTENSION-EMOJI:CAPS"></a><h3>IBUS_SERVICE_PANEL_EXTENSION_EMOJI</h3>
<pre class="programlisting">#define             IBUS_SERVICE_PANEL_EXTENSION_EMOJI</pre>
<p>Address of IBus panel extension service for emoji.
This service provides emoji, Unicode code point, Unicode name features.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-SERVICE-CONFIG:CAPS"></a><h3>IBUS_SERVICE_CONFIG</h3>
<pre class="programlisting">#define IBUS_SERVICE_CONFIG     "org.freedesktop.IBus.Config"
</pre>
<p>Address of IBus config service.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-SERVICE-NOTIFICATIONS:CAPS"></a><h3>IBUS_SERVICE_NOTIFICATIONS</h3>
<pre class="programlisting">#define IBUS_SERVICE_NOTIFICATIONS    "org.freedesktop.IBus.Notifications"
</pre>
<p>Address of IBus notification service.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-PATH-IBUS:CAPS"></a><h3>IBUS_PATH_IBUS</h3>
<pre class="programlisting">#define IBUS_PATH_IBUS          "/org/freedesktop/IBus"
</pre>
<p>D-Bus path for IBus</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-PATH-FACTORY:CAPS"></a><h3>IBUS_PATH_FACTORY</h3>
<pre class="programlisting">#define IBUS_PATH_FACTORY       "/org/freedesktop/IBus/Factory"
</pre>
<p>D-Bus path for IBus factory.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-PATH-PANEL:CAPS"></a><h3>IBUS_PATH_PANEL</h3>
<pre class="programlisting">#define IBUS_PATH_PANEL         "/org/freedesktop/IBus/Panel"
</pre>
<p>D-Bus path for IBus panel.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-PATH-PANEL-EXTENSION-EMOJI:CAPS"></a><h3>IBUS_PATH_PANEL_EXTENSION_EMOJI</h3>
<pre class="programlisting">#define             IBUS_PATH_PANEL_EXTENSION_EMOJI</pre>
<p>D-Bus path for IBus extension panel for emoji.
This service provides emoji, Unicode code point, Unicode name features.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-PATH-CONFIG:CAPS"></a><h3>IBUS_PATH_CONFIG</h3>
<pre class="programlisting">#define IBUS_PATH_CONFIG        "/org/freedesktop/IBus/Config"
</pre>
<p>D-Bus path for IBus config.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-PATH-NOTIFICATIONS:CAPS"></a><h3>IBUS_PATH_NOTIFICATIONS</h3>
<pre class="programlisting">#define IBUS_PATH_NOTIFICATIONS "/org/freedesktop/IBus/Notifications"
</pre>
<p>D-Bus path for IBus notifications.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-PATH-INPUT-CONTEXT:CAPS"></a><h3>IBUS_PATH_INPUT_CONTEXT</h3>
<pre class="programlisting">#define IBUS_PATH_INPUT_CONTEXT "/org/freedesktop/IBus/InputContext_%d"
</pre>
<p>Template of D-Bus path for IBus input context.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-INTERFACE-IBUS:CAPS"></a><h3>IBUS_INTERFACE_IBUS</h3>
<pre class="programlisting">#define IBUS_INTERFACE_IBUS     "org.freedesktop.IBus"
</pre>
<p>D-Bus interface for IBus.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-INTERFACE-PORTAL:CAPS"></a><h3>IBUS_INTERFACE_PORTAL</h3>
<pre class="programlisting">#define IBUS_INTERFACE_PORTAL   "org.freedesktop.IBus.Portal"
</pre>
<p>D-Bus interface for IBus portal.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-INTERFACE-INPUT-CONTEXT:CAPS"></a><h3>IBUS_INTERFACE_INPUT_CONTEXT</h3>
<pre class="programlisting">#define             IBUS_INTERFACE_INPUT_CONTEXT</pre>
<p>D-Bus interface for IBus input context.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-INTERFACE-FACTORY:CAPS"></a><h3>IBUS_INTERFACE_FACTORY</h3>
<pre class="programlisting">#define IBUS_INTERFACE_FACTORY  "org.freedesktop.IBus.Factory"
</pre>
<p>D-Bus interface for IBus factory.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-INTERFACE-ENGINE:CAPS"></a><h3>IBUS_INTERFACE_ENGINE</h3>
<pre class="programlisting">#define IBUS_INTERFACE_ENGINE   "org.freedesktop.IBus.Engine"
</pre>
<p>D-Bus interface for IBus engine.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-INTERFACE-PANEL:CAPS"></a><h3>IBUS_INTERFACE_PANEL</h3>
<pre class="programlisting">#define IBUS_INTERFACE_PANEL    "org.freedesktop.IBus.Panel"
</pre>
<p>D-Bus interface for IBus panel.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-INTERFACE-CONFIG:CAPS"></a><h3>IBUS_INTERFACE_CONFIG</h3>
<pre class="programlisting">#define IBUS_INTERFACE_CONFIG   "org.freedesktop.IBus.Config"
</pre>
<p>D-Bus interface for IBus config.</p>
</div>
<hr>
<div class="refsect2">
<a name="IBUS-INTERFACE-NOTIFICATIONS:CAPS"></a><h3>IBUS_INTERFACE_NOTIFICATIONS</h3>
<pre class="programlisting">#define IBUS_INTERFACE_NOTIFICATIONS    "org.freedesktop.IBus.Notifications"
</pre>
<p>D-Bus interface for IBus notifications.</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
</body>
</html>