nimf-im.xml 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  1. <?xml version="1.0"?>
  2. <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
  3. "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
  4. [
  5. <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
  6. <!ENTITY % gtkdocentities SYSTEM "../xml/gtkdocentities.ent">
  7. %gtkdocentities;
  8. ]>
  9. <refentry id="NimfIM">
  10. <refmeta>
  11. <refentrytitle role="top_of_page" id="NimfIM.top_of_page">NimfIM</refentrytitle>
  12. <manvolnum>3</manvolnum>
  13. <refmiscinfo>NIMF Library</refmiscinfo>
  14. </refmeta>
  15. <refnamediv>
  16. <refname>NimfIM</refname>
  17. <refpurpose></refpurpose>
  18. </refnamediv>
  19. <refsect1 id="NimfIM.functions" role="functions_proto">
  20. <title role="functions_proto.title">Functions</title>
  21. <informaltable pgwide="1" frame="none">
  22. <tgroup cols="2">
  23. <colspec colname="functions_proto_type" colwidth="150px"/>
  24. <colspec colname="functions_proto_name"/>
  25. <tbody>
  26. <row><entry role="function_type"><link linkend="NimfIM"><returnvalue>NimfIM</returnvalue></link>&#160;*
  27. </entry><entry role="function_name"><link linkend="nimf-im-new">nimf_im_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
  28. <row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
  29. </entry><entry role="function_name"><link linkend="nimf-im-focus-in">nimf_im_focus_in</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
  30. <row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
  31. </entry><entry role="function_name"><link linkend="nimf-im-focus-out">nimf_im_focus_out</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
  32. <row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
  33. </entry><entry role="function_name"><link linkend="nimf-im-reset">nimf_im_reset</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
  34. <row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
  35. </entry><entry role="function_name"><link linkend="nimf-im-filter-event">nimf_im_filter_event</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
  36. <row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
  37. </entry><entry role="function_name"><link linkend="nimf-im-get-preedit-string">nimf_im_get_preedit_string</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
  38. <row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
  39. </entry><entry role="function_name"><link linkend="nimf-im-set-cursor-location">nimf_im_set_cursor_location</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
  40. <row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
  41. </entry><entry role="function_name"><link linkend="nimf-im-set-use-preedit">nimf_im_set_use_preedit</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
  42. <row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
  43. </entry><entry role="function_name"><link linkend="nimf-im-set-surrounding">nimf_im_set_surrounding</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
  44. </tbody>
  45. </tgroup>
  46. </informaltable>
  47. </refsect1>
  48. <refsect1 id="NimfIM.signals" role="signal_proto">
  49. <title role="signal_proto.title">Signals</title>
  50. <informaltable frame="none">
  51. <tgroup cols="3">
  52. <colspec colname="signal_proto_type" colwidth="150px"/>
  53. <colspec colname="signal_proto_name" colwidth="300px"/>
  54. <colspec colname="signal_proto_flags" colwidth="200px"/>
  55. <tbody>
  56. <row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="NimfIM-beep">beep</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
  57. <row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="NimfIM-commit">commit</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
  58. <row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="NimfIM-delete-surrounding">delete-surrounding</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
  59. <row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="NimfIM-preedit-changed">preedit-changed</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
  60. <row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="NimfIM-preedit-end">preedit-end</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
  61. <row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="NimfIM-preedit-start">preedit-start</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
  62. <row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="NimfIM-retrieve-surrounding">retrieve-surrounding</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
  63. </tbody>
  64. </tgroup>
  65. </informaltable>
  66. </refsect1>
  67. <refsect1 id="NimfIM.object-hierarchy" role="object_hierarchy">
  68. <title role="object_hierarchy.title">Object Hierarchy</title>
  69. <screen> <link linkend="GObject">GObject</link>
  70. <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> NimfIM
  71. </screen>
  72. </refsect1>
  73. <refsect1 id="NimfIM.description" role="desc">
  74. <title role="desc.title">Description</title>
  75. </refsect1>
  76. <refsect1 id="NimfIM.functions_details" role="details">
  77. <title role="details.title">Functions</title>
  78. <refsect2 id="nimf-im-new" role="function">
  79. <title>nimf_im_new&#160;()</title>
  80. <indexterm zone="nimf-im-new"><primary sortas="im_new">nimf_im_new</primary></indexterm>
  81. <programlisting language="C"><link linkend="NimfIM"><returnvalue>NimfIM</returnvalue></link>&#160;*
  82. nimf_im_new (<parameter><type>void</type></parameter>);</programlisting>
  83. <para>Creates a new <link linkend="NimfIM"><type>NimfIM</type></link>.</para>
  84. <refsect3 id="nimf-im-new.returns" role="returns">
  85. <title>Returns</title>
  86. <para> a new <link linkend="NimfIM"><type>NimfIM</type></link></para>
  87. </refsect3></refsect2>
  88. <refsect2 id="nimf-im-focus-in" role="function">
  89. <title>nimf_im_focus_in&#160;()</title>
  90. <indexterm zone="nimf-im-focus-in"><primary sortas="im_focus_in">nimf_im_focus_in</primary></indexterm>
  91. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  92. nimf_im_focus_in (<parameter><link linkend="NimfIM"><type>NimfIM</type></link> *im</parameter>);</programlisting>
  93. <para>Notifies the input method that the caller has gained focus.</para>
  94. <refsect3 id="nimf-im-focus-in.parameters" role="parameters">
  95. <title>Parameters</title>
  96. <informaltable role="parameters_table" pgwide="1" frame="none">
  97. <tgroup cols="3">
  98. <colspec colname="parameters_name" colwidth="150px"/>
  99. <colspec colname="parameters_description"/>
  100. <colspec colname="parameters_annotations" colwidth="200px"/>
  101. <tbody>
  102. <row><entry role="parameter_name"><para>im</para></entry>
  103. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  104. <entry role="parameter_annotations"></entry></row>
  105. </tbody></tgroup></informaltable>
  106. </refsect3></refsect2>
  107. <refsect2 id="nimf-im-focus-out" role="function">
  108. <title>nimf_im_focus_out&#160;()</title>
  109. <indexterm zone="nimf-im-focus-out"><primary sortas="im_focus_out">nimf_im_focus_out</primary></indexterm>
  110. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  111. nimf_im_focus_out (<parameter><link linkend="NimfIM"><type>NimfIM</type></link> *im</parameter>);</programlisting>
  112. <para>Notifies the input method that the caller has lost focus.</para>
  113. <refsect3 id="nimf-im-focus-out.parameters" role="parameters">
  114. <title>Parameters</title>
  115. <informaltable role="parameters_table" pgwide="1" frame="none">
  116. <tgroup cols="3">
  117. <colspec colname="parameters_name" colwidth="150px"/>
  118. <colspec colname="parameters_description"/>
  119. <colspec colname="parameters_annotations" colwidth="200px"/>
  120. <tbody>
  121. <row><entry role="parameter_name"><para>im</para></entry>
  122. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  123. <entry role="parameter_annotations"></entry></row>
  124. </tbody></tgroup></informaltable>
  125. </refsect3></refsect2>
  126. <refsect2 id="nimf-im-reset" role="function">
  127. <title>nimf_im_reset&#160;()</title>
  128. <indexterm zone="nimf-im-reset"><primary sortas="im_reset">nimf_im_reset</primary></indexterm>
  129. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  130. nimf_im_reset (<parameter><link linkend="NimfIM"><type>NimfIM</type></link> *im</parameter>);</programlisting>
  131. <para>Reset the input method.</para>
  132. <refsect3 id="nimf-im-reset.parameters" role="parameters">
  133. <title>Parameters</title>
  134. <informaltable role="parameters_table" pgwide="1" frame="none">
  135. <tgroup cols="3">
  136. <colspec colname="parameters_name" colwidth="150px"/>
  137. <colspec colname="parameters_description"/>
  138. <colspec colname="parameters_annotations" colwidth="200px"/>
  139. <tbody>
  140. <row><entry role="parameter_name"><para>im</para></entry>
  141. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  142. <entry role="parameter_annotations"></entry></row>
  143. </tbody></tgroup></informaltable>
  144. </refsect3></refsect2>
  145. <refsect2 id="nimf-im-filter-event" role="function">
  146. <title>nimf_im_filter_event&#160;()</title>
  147. <indexterm zone="nimf-im-filter-event"><primary sortas="im_filter_event">nimf_im_filter_event</primary></indexterm>
  148. <programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
  149. nimf_im_filter_event (<parameter><link linkend="NimfIM"><type>NimfIM</type></link> *im</parameter>,
  150. <parameter><link linkend="NimfEvent"><type>NimfEvent</type></link> *event</parameter>);</programlisting>
  151. <para>Let the input method handle the <parameter>event</parameter>
  152. .</para>
  153. <refsect3 id="nimf-im-filter-event.parameters" role="parameters">
  154. <title>Parameters</title>
  155. <informaltable role="parameters_table" pgwide="1" frame="none">
  156. <tgroup cols="3">
  157. <colspec colname="parameters_name" colwidth="150px"/>
  158. <colspec colname="parameters_description"/>
  159. <colspec colname="parameters_annotations" colwidth="200px"/>
  160. <tbody>
  161. <row><entry role="parameter_name"><para>im</para></entry>
  162. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  163. <entry role="parameter_annotations"></entry></row>
  164. <row><entry role="parameter_name"><para>event</para></entry>
  165. <entry role="parameter_description"><para>a <link linkend="NimfEvent"><type>NimfEvent</type></link></para></entry>
  166. <entry role="parameter_annotations"></entry></row>
  167. </tbody></tgroup></informaltable>
  168. </refsect3><refsect3 id="nimf-im-filter-event.returns" role="returns">
  169. <title>Returns</title>
  170. <para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the input method handled the <parameter>event</parameter>
  171. .</para>
  172. </refsect3></refsect2>
  173. <refsect2 id="nimf-im-get-preedit-string" role="function">
  174. <title>nimf_im_get_preedit_string&#160;()</title>
  175. <indexterm zone="nimf-im-get-preedit-string"><primary sortas="im_get_preedit_string">nimf_im_get_preedit_string</primary></indexterm>
  176. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  177. nimf_im_get_preedit_string (<parameter><link linkend="NimfIM"><type>NimfIM</type></link> *im</parameter>,
  178. <parameter><link linkend="gchar"><type>gchar</type></link> **str</parameter>,
  179. <parameter><link linkend="NimfPreeditAttr"><type>NimfPreeditAttr</type></link> ***attrs</parameter>,
  180. <parameter><link linkend="gint"><type>gint</type></link> *cursor_pos</parameter>);</programlisting>
  181. <para>Retrieve the current preedit string, an array of attributes to apply to the
  182. string and position of cursor within the preedit string from the input
  183. method.</para>
  184. <refsect3 id="nimf-im-get-preedit-string.parameters" role="parameters">
  185. <title>Parameters</title>
  186. <informaltable role="parameters_table" pgwide="1" frame="none">
  187. <tgroup cols="3">
  188. <colspec colname="parameters_name" colwidth="150px"/>
  189. <colspec colname="parameters_description"/>
  190. <colspec colname="parameters_annotations" colwidth="200px"/>
  191. <tbody>
  192. <row><entry role="parameter_name"><para>im</para></entry>
  193. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  194. <entry role="parameter_annotations"></entry></row>
  195. <row><entry role="parameter_name"><para>str</para></entry>
  196. <entry role="parameter_description"><para>location to store the retrieved
  197. string. The string retrieved must be freed with <link linkend="g-free"><function>g_free()</function></link>. </para></entry>
  198. <entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>transfer full</acronym>]</emphasis></entry></row>
  199. <row><entry role="parameter_name"><para>attrs</para></entry>
  200. <entry role="parameter_description"><para>location to store the retrieved
  201. attribute array. When you are done with this array, you
  202. must free it with <link linkend="nimf-preedit-attr-freev"><function>nimf_preedit_attr_freev()</function></link>. </para></entry>
  203. <entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>transfer full</acronym>]</emphasis></entry></row>
  204. <row><entry role="parameter_name"><para>cursor_pos</para></entry>
  205. <entry role="parameter_description"><para>location to store position of cursor (in
  206. characters) within the preedit string. </para></entry>
  207. <entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>transfer full</acronym>]</emphasis></entry></row>
  208. </tbody></tgroup></informaltable>
  209. </refsect3></refsect2>
  210. <refsect2 id="nimf-im-set-cursor-location" role="function">
  211. <title>nimf_im_set_cursor_location&#160;()</title>
  212. <indexterm zone="nimf-im-set-cursor-location"><primary sortas="im_set_cursor_location">nimf_im_set_cursor_location</primary></indexterm>
  213. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  214. nimf_im_set_cursor_location (<parameter><link linkend="NimfIM"><type>NimfIM</type></link> *im</parameter>,
  215. <parameter>const <link linkend="NimfRectangle"><type>NimfRectangle</type></link> *area</parameter>);</programlisting>
  216. <para>Notifies the input method that a change in cursor position has been made. The
  217. location is the position of a window position in root window coordinates.</para>
  218. <refsect3 id="nimf-im-set-cursor-location.parameters" role="parameters">
  219. <title>Parameters</title>
  220. <informaltable role="parameters_table" pgwide="1" frame="none">
  221. <tgroup cols="3">
  222. <colspec colname="parameters_name" colwidth="150px"/>
  223. <colspec colname="parameters_description"/>
  224. <colspec colname="parameters_annotations" colwidth="200px"/>
  225. <tbody>
  226. <row><entry role="parameter_name"><para>im</para></entry>
  227. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  228. <entry role="parameter_annotations"></entry></row>
  229. <row><entry role="parameter_name"><para>area</para></entry>
  230. <entry role="parameter_description"><para>new location</para></entry>
  231. <entry role="parameter_annotations"></entry></row>
  232. </tbody></tgroup></informaltable>
  233. </refsect3></refsect2>
  234. <refsect2 id="nimf-im-set-use-preedit" role="function">
  235. <title>nimf_im_set_use_preedit&#160;()</title>
  236. <indexterm zone="nimf-im-set-use-preedit"><primary sortas="im_set_use_preedit">nimf_im_set_use_preedit</primary></indexterm>
  237. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  238. nimf_im_set_use_preedit (<parameter><link linkend="NimfIM"><type>NimfIM</type></link> *im</parameter>,
  239. <parameter><link linkend="gboolean"><type>gboolean</type></link> use_preedit</parameter>);</programlisting>
  240. <para>If <parameter>use_preedit</parameter>
  241. is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> (default is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>), then the input method may use
  242. some other input styles, such as over-the-spot, off-the-spot or root-window.</para>
  243. <refsect3 id="nimf-im-set-use-preedit.parameters" role="parameters">
  244. <title>Parameters</title>
  245. <informaltable role="parameters_table" pgwide="1" frame="none">
  246. <tgroup cols="3">
  247. <colspec colname="parameters_name" colwidth="150px"/>
  248. <colspec colname="parameters_description"/>
  249. <colspec colname="parameters_annotations" colwidth="200px"/>
  250. <tbody>
  251. <row><entry role="parameter_name"><para>im</para></entry>
  252. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  253. <entry role="parameter_annotations"></entry></row>
  254. <row><entry role="parameter_name"><para>use_preedit</para></entry>
  255. <entry role="parameter_description"><para>whether the input method should use an on-the-spot input style</para></entry>
  256. <entry role="parameter_annotations"></entry></row>
  257. </tbody></tgroup></informaltable>
  258. </refsect3></refsect2>
  259. <refsect2 id="nimf-im-set-surrounding" role="function">
  260. <title>nimf_im_set_surrounding&#160;()</title>
  261. <indexterm zone="nimf-im-set-surrounding"><primary sortas="im_set_surrounding">nimf_im_set_surrounding</primary></indexterm>
  262. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  263. nimf_im_set_surrounding (<parameter><link linkend="NimfIM"><type>NimfIM</type></link> *im</parameter>,
  264. <parameter>const <link linkend="char"><type>char</type></link> *text</parameter>,
  265. <parameter><link linkend="gint"><type>gint</type></link> len</parameter>,
  266. <parameter><link linkend="gint"><type>gint</type></link> cursor_index</parameter>);</programlisting>
  267. <para>Sets surrounding text to input method. This function is expected to be
  268. called in response to NimfIM::retrieve-surrounding which is emitted by
  269. <link linkend="nimf-engine-emit-retrieve-surrounding"><function>nimf_engine_emit_retrieve_surrounding()</function></link>.</para>
  270. <refsect3 id="nimf-im-set-surrounding.parameters" role="parameters">
  271. <title>Parameters</title>
  272. <informaltable role="parameters_table" pgwide="1" frame="none">
  273. <tgroup cols="3">
  274. <colspec colname="parameters_name" colwidth="150px"/>
  275. <colspec colname="parameters_description"/>
  276. <colspec colname="parameters_annotations" colwidth="200px"/>
  277. <tbody>
  278. <row><entry role="parameter_name"><para>im</para></entry>
  279. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  280. <entry role="parameter_annotations"></entry></row>
  281. <row><entry role="parameter_name"><para>text</para></entry>
  282. <entry role="parameter_description"><para>surrounding text</para></entry>
  283. <entry role="parameter_annotations"></entry></row>
  284. <row><entry role="parameter_name"><para>len</para></entry>
  285. <entry role="parameter_description"><para>the byte length of <parameter>text</parameter>
  286. , or -1 if <parameter>text</parameter>
  287. is nul-terminated.</para></entry>
  288. <entry role="parameter_annotations"></entry></row>
  289. <row><entry role="parameter_name"><para>cursor_index</para></entry>
  290. <entry role="parameter_description"><para>the character index of the cursor within <parameter>text</parameter>
  291. .</para></entry>
  292. <entry role="parameter_annotations"></entry></row>
  293. </tbody></tgroup></informaltable>
  294. </refsect3></refsect2>
  295. </refsect1>
  296. <refsect1 id="NimfIM.signal-details" role="signals">
  297. <title role="signals.title">Signal Details</title>
  298. <refsect2 id="NimfIM-beep" role="signal"><title>The <literal>“beep”</literal> signal</title>
  299. <indexterm zone="NimfIM-beep"><primary sortas="IM::beep">NimfIM::beep</primary></indexterm>
  300. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  301. user_function (<link linkend="NimfIM"><type>NimfIM</type></link> *im,
  302. <link linkend="gpointer"><type>gpointer</type></link> user_data)</programlisting>
  303. <para>The <link linkend="NimfIM-beep"><type>“beep”</type></link> signal is emitted when the input method needs to beep,
  304. if supported.</para>
  305. <refsect3 id="NimfIM-beep.parameters" role="parameters">
  306. <title>Parameters</title>
  307. <informaltable role="parameters_table" pgwide="1" frame="none">
  308. <tgroup cols="3">
  309. <colspec colname="parameters_name" colwidth="150px"/>
  310. <colspec colname="parameters_description"/>
  311. <colspec colname="parameters_annotations" colwidth="200px"/>
  312. <tbody>
  313. <row><entry role="parameter_name"><para>im</para></entry>
  314. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  315. <entry role="parameter_annotations"></entry></row>
  316. <row><entry role="parameter_name"><simpara>user_data</simpara></entry>
  317. <entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
  318. <entry role="parameter_annotations"></entry></row>
  319. </tbody></tgroup></informaltable>
  320. </refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
  321. </refsect2><refsect2 id="NimfIM-commit" role="signal"><title>The <literal>“commit”</literal> signal</title>
  322. <indexterm zone="NimfIM-commit"><primary sortas="IM::commit">NimfIM::commit</primary></indexterm>
  323. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  324. user_function (<link linkend="NimfIM"><type>NimfIM</type></link> *im,
  325. <link linkend="char"><type>char</type></link> *text,
  326. <link linkend="gpointer"><type>gpointer</type></link> user_data)</programlisting>
  327. <para>The <link linkend="NimfIM-commit"><type>“commit”</type></link> signal is emitted when a complete input sequence has
  328. been entered by the user.</para>
  329. <refsect3 id="NimfIM-commit.parameters" role="parameters">
  330. <title>Parameters</title>
  331. <informaltable role="parameters_table" pgwide="1" frame="none">
  332. <tgroup cols="3">
  333. <colspec colname="parameters_name" colwidth="150px"/>
  334. <colspec colname="parameters_description"/>
  335. <colspec colname="parameters_annotations" colwidth="200px"/>
  336. <tbody>
  337. <row><entry role="parameter_name"><para>im</para></entry>
  338. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  339. <entry role="parameter_annotations"></entry></row>
  340. <row><entry role="parameter_name"><para>text</para></entry>
  341. <entry role="parameter_description"><para>text to commit</para></entry>
  342. <entry role="parameter_annotations"></entry></row>
  343. <row><entry role="parameter_name"><simpara>user_data</simpara></entry>
  344. <entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
  345. <entry role="parameter_annotations"></entry></row>
  346. </tbody></tgroup></informaltable>
  347. </refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
  348. </refsect2><refsect2 id="NimfIM-delete-surrounding" role="signal"><title>The <literal>“delete-surrounding”</literal> signal</title>
  349. <indexterm zone="NimfIM-delete-surrounding"><primary sortas="IM::delete-surrounding">NimfIM::delete-surrounding</primary></indexterm>
  350. <programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
  351. user_function (<link linkend="NimfIM"><type>NimfIM</type></link> *im,
  352. <link linkend="int"><type>int</type></link> offset,
  353. <link linkend="int"><type>int</type></link> n_chars,
  354. <link linkend="gpointer"><type>gpointer</type></link> user_data)</programlisting>
  355. <para>The <link linkend="NimfIM-delete-surrounding"><type>“delete-surrounding”</type></link> signal is emitted when the input method
  356. needs to delete all or part of the text surrounding the cursor.</para>
  357. <refsect3 id="NimfIM-delete-surrounding.parameters" role="parameters">
  358. <title>Parameters</title>
  359. <informaltable role="parameters_table" pgwide="1" frame="none">
  360. <tgroup cols="3">
  361. <colspec colname="parameters_name" colwidth="150px"/>
  362. <colspec colname="parameters_description"/>
  363. <colspec colname="parameters_annotations" colwidth="200px"/>
  364. <tbody>
  365. <row><entry role="parameter_name"><para>im</para></entry>
  366. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  367. <entry role="parameter_annotations"></entry></row>
  368. <row><entry role="parameter_name"><para>offset</para></entry>
  369. <entry role="parameter_description"><para>the character offset from the cursor position of the text to be
  370. deleted. A negative value indicates a position before the cursor.</para></entry>
  371. <entry role="parameter_annotations"></entry></row>
  372. <row><entry role="parameter_name"><para>n_chars</para></entry>
  373. <entry role="parameter_description"><para>the number of characters to be deleted</para></entry>
  374. <entry role="parameter_annotations"></entry></row>
  375. <row><entry role="parameter_name"><simpara>user_data</simpara></entry>
  376. <entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
  377. <entry role="parameter_annotations"></entry></row>
  378. </tbody></tgroup></informaltable>
  379. </refsect3><refsect3 id="NimfIM-delete-surrounding.returns" role="returns">
  380. <title>Returns</title>
  381. <para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the signal was handled.</para>
  382. </refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
  383. </refsect2><refsect2 id="NimfIM-preedit-changed" role="signal"><title>The <literal>“preedit-changed”</literal> signal</title>
  384. <indexterm zone="NimfIM-preedit-changed"><primary sortas="IM::preedit-changed">NimfIM::preedit-changed</primary></indexterm>
  385. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  386. user_function (<link linkend="NimfIM"><type>NimfIM</type></link> *im,
  387. <link linkend="gpointer"><type>gpointer</type></link> user_data)</programlisting>
  388. <para>The <link linkend="NimfIM-preedit-changed"><type>“preedit-changed”</type></link> signal is emitted whenever the preedit
  389. sequence has been changed.</para>
  390. <refsect3 id="NimfIM-preedit-changed.parameters" role="parameters">
  391. <title>Parameters</title>
  392. <informaltable role="parameters_table" pgwide="1" frame="none">
  393. <tgroup cols="3">
  394. <colspec colname="parameters_name" colwidth="150px"/>
  395. <colspec colname="parameters_description"/>
  396. <colspec colname="parameters_annotations" colwidth="200px"/>
  397. <tbody>
  398. <row><entry role="parameter_name"><para>im</para></entry>
  399. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  400. <entry role="parameter_annotations"></entry></row>
  401. <row><entry role="parameter_name"><simpara>user_data</simpara></entry>
  402. <entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
  403. <entry role="parameter_annotations"></entry></row>
  404. </tbody></tgroup></informaltable>
  405. </refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
  406. </refsect2><refsect2 id="NimfIM-preedit-end" role="signal"><title>The <literal>“preedit-end”</literal> signal</title>
  407. <indexterm zone="NimfIM-preedit-end"><primary sortas="IM::preedit-end">NimfIM::preedit-end</primary></indexterm>
  408. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  409. user_function (<link linkend="NimfIM"><type>NimfIM</type></link> *im,
  410. <link linkend="gpointer"><type>gpointer</type></link> user_data)</programlisting>
  411. <para>The <link linkend="NimfIM-preedit-end"><type>“preedit-end”</type></link> signal is emitted when a preediting sequence has
  412. been completed or canceled.</para>
  413. <refsect3 id="NimfIM-preedit-end.parameters" role="parameters">
  414. <title>Parameters</title>
  415. <informaltable role="parameters_table" pgwide="1" frame="none">
  416. <tgroup cols="3">
  417. <colspec colname="parameters_name" colwidth="150px"/>
  418. <colspec colname="parameters_description"/>
  419. <colspec colname="parameters_annotations" colwidth="200px"/>
  420. <tbody>
  421. <row><entry role="parameter_name"><para>im</para></entry>
  422. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  423. <entry role="parameter_annotations"></entry></row>
  424. <row><entry role="parameter_name"><simpara>user_data</simpara></entry>
  425. <entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
  426. <entry role="parameter_annotations"></entry></row>
  427. </tbody></tgroup></informaltable>
  428. </refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
  429. </refsect2><refsect2 id="NimfIM-preedit-start" role="signal"><title>The <literal>“preedit-start”</literal> signal</title>
  430. <indexterm zone="NimfIM-preedit-start"><primary sortas="IM::preedit-start">NimfIM::preedit-start</primary></indexterm>
  431. <programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
  432. user_function (<link linkend="NimfIM"><type>NimfIM</type></link> *im,
  433. <link linkend="gpointer"><type>gpointer</type></link> user_data)</programlisting>
  434. <para>The <link linkend="NimfIM-preedit-start"><type>“preedit-start”</type></link> signal is emitted when a new preediting
  435. sequence starts.</para>
  436. <refsect3 id="NimfIM-preedit-start.parameters" role="parameters">
  437. <title>Parameters</title>
  438. <informaltable role="parameters_table" pgwide="1" frame="none">
  439. <tgroup cols="3">
  440. <colspec colname="parameters_name" colwidth="150px"/>
  441. <colspec colname="parameters_description"/>
  442. <colspec colname="parameters_annotations" colwidth="200px"/>
  443. <tbody>
  444. <row><entry role="parameter_name"><para>im</para></entry>
  445. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  446. <entry role="parameter_annotations"></entry></row>
  447. <row><entry role="parameter_name"><simpara>user_data</simpara></entry>
  448. <entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
  449. <entry role="parameter_annotations"></entry></row>
  450. </tbody></tgroup></informaltable>
  451. </refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
  452. </refsect2><refsect2 id="NimfIM-retrieve-surrounding" role="signal"><title>The <literal>“retrieve-surrounding”</literal> signal</title>
  453. <indexterm zone="NimfIM-retrieve-surrounding"><primary sortas="IM::retrieve-surrounding">NimfIM::retrieve-surrounding</primary></indexterm>
  454. <programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
  455. user_function (<link linkend="NimfIM"><type>NimfIM</type></link> *im,
  456. <link linkend="gpointer"><type>gpointer</type></link> user_data)</programlisting>
  457. <para>The <link linkend="NimfIM-retrieve-surrounding"><type>“retrieve-surrounding”</type></link> signal is emitted when the input method
  458. requires the text surrounding the cursor. The callback should set the
  459. input method surrounding text by calling the <link linkend="nimf-im-set-surrounding"><function>nimf_im_set_surrounding()</function></link>
  460. method.</para>
  461. <refsect3 id="NimfIM-retrieve-surrounding.parameters" role="parameters">
  462. <title>Parameters</title>
  463. <informaltable role="parameters_table" pgwide="1" frame="none">
  464. <tgroup cols="3">
  465. <colspec colname="parameters_name" colwidth="150px"/>
  466. <colspec colname="parameters_description"/>
  467. <colspec colname="parameters_annotations" colwidth="200px"/>
  468. <tbody>
  469. <row><entry role="parameter_name"><para>im</para></entry>
  470. <entry role="parameter_description"><para>a <link linkend="NimfIM"><type>NimfIM</type></link></para></entry>
  471. <entry role="parameter_annotations"></entry></row>
  472. <row><entry role="parameter_name"><simpara>user_data</simpara></entry>
  473. <entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
  474. <entry role="parameter_annotations"></entry></row>
  475. </tbody></tgroup></informaltable>
  476. </refsect3><refsect3 id="NimfIM-retrieve-surrounding.returns" role="returns">
  477. <title>Returns</title>
  478. <para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the signal was handled.</para>
  479. </refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
  480. </refsect2>
  481. </refsect1>
  482. </refentry>