ibusshare

ibusshare — Shared utility functions and definition.

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Description

This file defines some utility functions and definition which are shared among ibus component and services.

Functions

ibus_get_local_machine_id ()

const gchar *
ibus_get_local_machine_id (void);

Obtains the machine UUID of the machine this process is running on.

Returns

A newly allocated string that shows the UUID of the machine.


ibus_set_display ()

void
ibus_set_display (const gchar *display);

Set the display address.

Parameters

display

Display address, as in DISPLAY environment for X.

 

ibus_get_address ()

const gchar *
ibus_get_address (void);

Return the D-Bus address of IBus. It will find the address from following source:

  1. Environment variable IBUS_ADDRESS

  2. Socket file under ~/.config/ibus/bus/

Returns

D-Bus address of IBus. NULL for not found.

See also: ibus_write_address().


ibus_write_address ()

void
ibus_write_address (const gchar *address);

Write D-Bus address to socket file.

See also: ibus_get_address().

Parameters

address

D-Bus address of IBus.

 

ibus_get_user_name ()

const gchar *
ibus_get_user_name (void);

Get the current user name. It is determined by:

  1. getlogin()

  2. Environment variable SUDO_USER

  3. Environment variable USERHELPER_UID

  4. Environment variable USERNAME

  5. Environment variable LOGNAME

  6. Environment variable USER

  7. Environment variable LNAME

Returns

A newly allocated string that stores current user name.


ibus_get_daemon_uid ()

glong
ibus_get_daemon_uid (void);

ibus_get_daemon_uid is deprecated and should not be used in newly-written code.

This function has been deprecated and should not be used in newly written code.

Get UID of ibus-daemon.

Returns

UID of ibus-daemon; or 0 if UID is not available.


ibus_get_socket_path ()

const gchar *
ibus_get_socket_path (void);

Get the path of socket file.

Returns

A newly allocated string that stores the path of socket file.


ibus_get_timeout ()

gint
ibus_get_timeout (void);

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.

Returns

A GDBus timeout in milliseconds. -1 when default timeout for GDBus should be used.


ibus_free_strv ()

void
ibus_free_strv (gchar **strv);

ibus_free_strv is deprecated and should not be used in newly-written code.

This function has been deprecated and should not be used in newly written code.

Free a list of strings.

Parameters

strv

List of strings.

 

ibus_key_event_to_string ()

gchar *
ibus_key_event_to_string (guint keyval,
                          guint modifiers);

Return the name of a key symbol and modifiers.

For example, if press ctrl, shift, and enter, then this function returns: Shift+Control+enter.

Parameters

keyval

Key symbol.

 

modifiers

Modifiers such as Ctrl or Shift.

 

Returns

The name of a key symbol and modifier.


ibus_key_event_from_string ()

gboolean
ibus_key_event_from_string (const gchar *string,
                            guint *keyval,
                            guint *modifiers);

Parse key event string and return key symbol and modifiers.

Parameters

string

Key event string.

 

keyval

Variable that hold key symbol result.

[out]

modifiers

Variable that hold modifiers result.

[out]

Returns

TRUE for succeed; FALSE if failed.


ibus_init ()

void
ibus_init (void);

Initialize the ibus types.


ibus_main ()

void
ibus_main (void);

Runs an IBus main loop until ibus_quit() is called in the loop.

See also: ibus_quit().


ibus_quit ()

void
ibus_quit (void);

Stops an IBus from running.

Any calls to ibus_quit() for the loop will return. See also: ibus_main().


ibus_set_log_handler ()

void
ibus_set_log_handler (gboolean verbose);

Sets GLIB's log handler to ours. Our log handler adds time info including hour, minute, second, and microsecond, like:

(ibus-daemon:7088): IBUS-DEBUG: 18:06:45.822819: ibus-daemon started

If verbose is TRUE, 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.

Parameters

verbose

TRUE for verbose logging.

 

ibus_unset_log_handler ()

void
ibus_unset_log_handler (void);

Remove the log handler which is set by ibus_set_log_handler.

Types and Values

IBUS_DEPRECATED

#define IBUS_DEPRECATED

IBUS_SERVICE_IBUS

#define IBUS_SERVICE_IBUS       "org.freedesktop.IBus"

Address of IBus service.


IBUS_SERVICE_PORTAL

#define IBUS_SERVICE_PORTAL     "org.freedesktop.portal.IBus"

Address of IBus portalservice.


IBUS_SERVICE_PANEL

#define IBUS_SERVICE_PANEL      "org.freedesktop.IBus.Panel"

Address of IBus panel service.


IBUS_SERVICE_PANEL_EXTENSION

#define IBUS_SERVICE_PANEL_EXTENSION "org.freedesktop.IBus.Panel.Extension"

Address of IBus panel extension service.


IBUS_SERVICE_PANEL_EXTENSION_EMOJI

#define             IBUS_SERVICE_PANEL_EXTENSION_EMOJI

Address of IBus panel extension service for emoji. This service provides emoji, Unicode code point, Unicode name features.


IBUS_SERVICE_CONFIG

#define IBUS_SERVICE_CONFIG     "org.freedesktop.IBus.Config"

Address of IBus config service.


IBUS_SERVICE_NOTIFICATIONS

#define IBUS_SERVICE_NOTIFICATIONS    "org.freedesktop.IBus.Notifications"

Address of IBus notification service.


IBUS_PATH_IBUS

#define IBUS_PATH_IBUS          "/org/freedesktop/IBus"

D-Bus path for IBus


IBUS_PATH_FACTORY

#define IBUS_PATH_FACTORY       "/org/freedesktop/IBus/Factory"

D-Bus path for IBus factory.


IBUS_PATH_PANEL

#define IBUS_PATH_PANEL         "/org/freedesktop/IBus/Panel"

D-Bus path for IBus panel.


IBUS_PATH_PANEL_EXTENSION_EMOJI

#define             IBUS_PATH_PANEL_EXTENSION_EMOJI

D-Bus path for IBus extension panel for emoji. This service provides emoji, Unicode code point, Unicode name features.


IBUS_PATH_CONFIG

#define IBUS_PATH_CONFIG        "/org/freedesktop/IBus/Config"

D-Bus path for IBus config.


IBUS_PATH_NOTIFICATIONS

#define IBUS_PATH_NOTIFICATIONS "/org/freedesktop/IBus/Notifications"

D-Bus path for IBus notifications.


IBUS_PATH_INPUT_CONTEXT

#define IBUS_PATH_INPUT_CONTEXT "/org/freedesktop/IBus/InputContext_%d"

Template of D-Bus path for IBus input context.


IBUS_INTERFACE_IBUS

#define IBUS_INTERFACE_IBUS     "org.freedesktop.IBus"

D-Bus interface for IBus.


IBUS_INTERFACE_PORTAL

#define IBUS_INTERFACE_PORTAL   "org.freedesktop.IBus.Portal"

D-Bus interface for IBus portal.


IBUS_INTERFACE_INPUT_CONTEXT

#define             IBUS_INTERFACE_INPUT_CONTEXT

D-Bus interface for IBus input context.


IBUS_INTERFACE_FACTORY

#define IBUS_INTERFACE_FACTORY  "org.freedesktop.IBus.Factory"

D-Bus interface for IBus factory.


IBUS_INTERFACE_ENGINE

#define IBUS_INTERFACE_ENGINE   "org.freedesktop.IBus.Engine"

D-Bus interface for IBus engine.


IBUS_INTERFACE_PANEL

#define IBUS_INTERFACE_PANEL    "org.freedesktop.IBus.Panel"

D-Bus interface for IBus panel.


IBUS_INTERFACE_CONFIG

#define IBUS_INTERFACE_CONFIG   "org.freedesktop.IBus.Config"

D-Bus interface for IBus config.


IBUS_INTERFACE_NOTIFICATIONS

#define IBUS_INTERFACE_NOTIFICATIONS    "org.freedesktop.IBus.Notifications"

D-Bus interface for IBus notifications.