From c2bc5dc114395dd7f398ca0716c10ac41d98a98a Mon Sep 17 00:00:00 2001 From: Takao Fujiwara Date: Wed, 30 Jun 2010 05:09:01 +0000 Subject: [PATCH] Add patch from HEAD. --- ibus-HEAD.patch | 2514 ++++++++++++++++++++++++++++++++++++++++++++++- ibus.spec | 10 +- 2 files changed, 2519 insertions(+), 5 deletions(-) diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch index 8b13789..83832db 100644 --- a/ibus-HEAD.patch +++ b/ibus-HEAD.patch @@ -1 +1,2513 @@ - +diff --git a/bus/ibus.desktop.in b/bus/ibus.desktop.in +index a36cb9b..9212d5a 100644 +--- a/bus/ibus.desktop.in ++++ b/bus/ibus.desktop.in +@@ -1,8 +1,8 @@ + [Desktop Entry] + Encoding=UTF-8 + _Name=IBus +-_GenericName=IBus input method framework +-_Comment=IBus input method framework ++_GenericName=Input Method Framework ++_Comment=Start IBus Input Method Framework + Exec=ibus-daemon --xim + Icon=ibus + Terminal=false +diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c +index 32f6df0..c14831c 100644 +--- a/bus/ibusimpl.c ++++ b/bus/ibusimpl.c +@@ -395,11 +395,15 @@ bus_ibus_impl_reload_config (BusIBusImpl *ibus) + void ( *func) (BusIBusImpl *, GValue *); + } entries [] = { + { "general/hotkey", "trigger", bus_ibus_impl_set_trigger }, ++ #if 0 + /* Only for backward compatibility, shall be removed later. */ + { "general/hotkey", "next_engine", bus_ibus_impl_set_next_engine_in_menu }, ++ #endif + { "general/hotkey", "next_engine_in_menu", bus_ibus_impl_set_next_engine_in_menu }, ++ #if 0 + /* Only for backward compatibility, shall be removed later. */ + { "general/hotkey", "prev_engine", bus_ibus_impl_set_previous_engine }, ++ #endif + { "general/hotkey", "previous_engine", bus_ibus_impl_set_previous_engine }, + { "general", "preload_engines", bus_ibus_impl_set_preload_engines }, + { "general", "use_system_keyboard_layout", bus_ibus_impl_set_use_sys_layout }, +@@ -444,11 +448,15 @@ _config_value_changed_cb (IBusConfig *config, + void ( *func) (BusIBusImpl *, GValue *); + } entries [] = { + { "general/hotkey", "trigger", bus_ibus_impl_set_trigger }, ++ #if 0 + /* Only for backward compatibility, shall be removed later. */ + { "general/hotkey", "next_engine", bus_ibus_impl_set_next_engine_in_menu }, ++ #endif + { "general/hotkey", "next_engine_in_menu", bus_ibus_impl_set_next_engine_in_menu }, ++ #if 0 + /* Only for backward compatibility, shall be removed later. */ + { "general/hotkey", "prev_engine", bus_ibus_impl_set_previous_engine }, ++ #endif + { "general/hotkey", "previous_engine", bus_ibus_impl_set_previous_engine }, + { "general", "preload_engines", bus_ibus_impl_set_preload_engines }, + { "general", "use_system_keyboard_layout", bus_ibus_impl_set_use_sys_layout }, +@@ -712,7 +720,7 @@ _ibus_introspect (BusIBusImpl *ibus, + " \n" + " \n" + " \n" +- " \n" ++ " \n" + " \n" + " \n" + " \n" +@@ -1255,7 +1263,7 @@ _ibus_current_input_context (BusIBusImpl *ibus, + reply = ibus_message_new_method_return (message); + path = ibus_service_get_path((IBusService *)ibus->focused_context); + ibus_message_append_args (reply, +- G_TYPE_STRING, &path, ++ IBUS_TYPE_OBJECT_PATH, &path, + G_TYPE_INVALID); + + return reply; +diff --git a/bus/main.c b/bus/main.c +index b100d2a..2357ae8 100644 +--- a/bus/main.c ++++ b/bus/main.c +@@ -36,6 +36,7 @@ static gboolean daemonize = FALSE; + static gboolean single = FALSE; + static gboolean xim = FALSE; + static gboolean replace = FALSE; ++static gboolean restart = FALSE; + static gchar *panel = "default"; + static gchar *config = "default"; + static gchar *desktop = "gnome"; +@@ -72,6 +73,7 @@ static const GOptionEntry entries[] = + { "monitor-timeout", 'j', 0, G_OPTION_ARG_INT, &g_monitor_timeout, "timeout of poll changes of engines in seconds. 0 to disable it. ", "timeout [default is 0]" }, + #endif + { "mem-profile", 'm', 0, G_OPTION_ARG_NONE, &g_mempro, "enable memory profile, send SIGUSR2 to print out the memory profile.", NULL }, ++ { "restart", 'R', 0, G_OPTION_ARG_NONE, &restart, "restart panel and config processes when they die.", NULL }, + { "verbose", 'v', 0, G_OPTION_ARG_NONE, &g_verbose, "verbose.", NULL }, + { NULL }, + }; +@@ -255,6 +257,9 @@ main (gint argc, gchar **argv) + if (g_strcmp0 (config, "default") == 0) { + IBusComponent *component; + component = bus_registry_lookup_component_by_name (BUS_DEFAULT_REGISTRY, IBUS_SERVICE_CONFIG); ++ if (component) { ++ ibus_component_set_restart (component, restart); ++ } + if (component == NULL || !ibus_component_start (component, g_verbose)) { + g_printerr ("Can not execute default config program\n"); + exit (-1); +@@ -268,6 +273,9 @@ main (gint argc, gchar **argv) + if (g_strcmp0 (panel, "default") == 0) { + IBusComponent *component; + component = bus_registry_lookup_component_by_name (BUS_DEFAULT_REGISTRY, IBUS_SERVICE_PANEL); ++ if (component) { ++ ibus_component_set_restart (component, restart); ++ } + if (component == NULL || !ibus_component_start (component, g_verbose)) { + g_printerr ("Can not execute default panel program\n"); + exit (-1); +diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c +index 2bf1e7b..2bd37a9 100644 +--- a/client/gtk2/ibusimcontext.c ++++ b/client/gtk2/ibusimcontext.c +@@ -141,6 +141,8 @@ static IBusBus *_bus = NULL; + void + ibus_im_context_register_type (GTypeModule *type_module) + { ++ IDEBUG ("%s", __FUNCTION__); ++ + static const GTypeInfo ibus_im_context_info = { + sizeof (IBusIMContextClass), + (GBaseInitFunc) NULL, +@@ -175,6 +177,8 @@ ibus_im_context_register_type (GTypeModule *type_module) + GType + ibus_im_context_get_type (void) + { ++ IDEBUG ("%s", __FUNCTION__); ++ + if (_ibus_type_im_context == 0) { + ibus_im_context_register_type (NULL); + } +@@ -186,10 +190,10 @@ ibus_im_context_get_type (void) + IBusIMContext * + ibus_im_context_new (void) + { +- IBusIMContext *obj; +- obj = IBUS_IM_CONTEXT(g_object_new (IBUS_TYPE_IM_CONTEXT, NULL)); ++ IDEBUG ("%s", __FUNCTION__); + +- return obj; ++ GObject *obj = g_object_new (IBUS_TYPE_IM_CONTEXT, NULL); ++ return IBUS_IM_CONTEXT (obj); + } + + static gint +@@ -200,8 +204,7 @@ _key_snooper_cb (GtkWidget *widget, + IDEBUG ("%s", __FUNCTION__); + gboolean retval = FALSE; + +- IBusIMContext *ibusimcontext; +- ibusimcontext = (IBusIMContext *) _focus_im_context; ++ IBusIMContext *ibusimcontext = (IBusIMContext *)_focus_im_context; + + if (G_UNLIKELY (!_use_key_snooper)) + return retval; +@@ -249,6 +252,8 @@ _key_snooper_cb (GtkWidget *widget, + static void + ibus_im_context_class_init (IBusIMContextClass *klass) + { ++ IDEBUG ("%s", __FUNCTION__); ++ + GtkIMContextClass *im_context_class = GTK_IM_CONTEXT_CLASS (klass); + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + +@@ -330,6 +335,7 @@ ibus_im_context_class_init (IBusIMContextClass *klass) + static void + ibus_im_context_init (GObject *obj) + { ++ IDEBUG ("%s", __FUNCTION__); + + IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (obj); + +@@ -398,8 +404,7 @@ ibus_im_context_init (GObject *obj) + static void + ibus_im_context_finalize (GObject *obj) + { +- g_return_if_fail (obj != NULL); +- g_return_if_fail (IBUS_IS_IM_CONTEXT (obj)); ++ IDEBUG ("%s", __FUNCTION__); + + IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (obj); + +@@ -432,11 +437,8 @@ ibus_im_context_filter_keypress (GtkIMContext *context, + GdkEventKey *event) + { + IDEBUG ("%s", __FUNCTION__); +- g_return_val_if_fail (context != NULL, FALSE); +- g_return_val_if_fail (IBUS_IS_IM_CONTEXT (context), FALSE); +- +- IBusIMContext *ibusimcontext = (IBusIMContext *) context; + ++ IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context); + + if (G_LIKELY (ibusimcontext->ibuscontext && ibusimcontext->has_focus)) { + /* If context does not have focus, ibus will process key event in sync mode. +@@ -450,6 +452,10 @@ ibus_im_context_filter_keypress (GtkIMContext *context, + if (event->state & IBUS_IGNORED_MASK) + return gtk_im_context_filter_keypress (ibusimcontext->slave, event); + ++ /* XXX it is a workaround for some applications do not set client window. */ ++ if (ibusimcontext->client_window == NULL && event->window != NULL) ++ gtk_im_context_set_client_window ((GtkIMContext *)ibusimcontext, event->window); ++ + switch (event->type) { + case GDK_KEY_RELEASE: + retval = ibus_input_context_process_key_event (ibusimcontext->ibuscontext, +@@ -493,10 +499,8 @@ static void + ibus_im_context_focus_in (GtkIMContext *context) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_IM_CONTEXT (context)); + +- IBusIMContext *ibusimcontext; +- ibusimcontext = IBUS_IM_CONTEXT (context); ++ IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context); + + if (_focus_im_context != NULL && _focus_im_context != context) { + gtk_im_context_focus_out (_focus_im_context); +@@ -522,10 +526,8 @@ static void + ibus_im_context_focus_out (GtkIMContext *context) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_IM_CONTEXT (context)); + +- IBusIMContext *ibusimcontext; +- ibusimcontext = IBUS_IM_CONTEXT (context); ++ IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context); + + if (_focus_im_context == context) { + g_object_weak_unref ((GObject *)_focus_im_context, _weak_notify_cb, NULL); +@@ -543,10 +545,8 @@ static void + ibus_im_context_reset (GtkIMContext *context) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_IM_CONTEXT (context)); + +- IBusIMContext *ibusimcontext; +- ibusimcontext = IBUS_IM_CONTEXT (context); ++ IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context); + + if (ibusimcontext->ibuscontext) { + ibus_input_context_reset (ibusimcontext->ibuscontext); +@@ -562,10 +562,8 @@ ibus_im_context_get_preedit_string (GtkIMContext *context, + gint *cursor_pos) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_IM_CONTEXT (context)); + +- IBusIMContext *ibusimcontext; +- ibusimcontext = IBUS_IM_CONTEXT (context); ++ IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context); + + if (ibusimcontext->enable) { + if (ibusimcontext->preedit_visible) { +@@ -606,20 +604,16 @@ static void + ibus_im_context_set_client_window (GtkIMContext *context, GdkWindow *client) + { + IDEBUG ("%s", __FUNCTION__); +- g_return_if_fail (context != NULL); +- g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); + + IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context); + + if (ibusimcontext->client_window) { + g_object_unref (ibusimcontext->client_window); ++ ibusimcontext->client_window = NULL; + } + +- if (client) { +- g_object_ref (client); +- } +- +- ibusimcontext->client_window = client; ++ if (client != NULL) ++ ibusimcontext->client_window = g_object_ref (client); + + if (ibusimcontext->slave) + gtk_im_context_set_client_window (ibusimcontext->slave, client); +@@ -658,8 +652,6 @@ static void + ibus_im_context_set_cursor_location (GtkIMContext *context, GdkRectangle *area) + { + IDEBUG ("%s", __FUNCTION__); +- g_return_if_fail (context != NULL); +- g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); + + IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context); + +@@ -671,8 +663,7 @@ ibus_im_context_set_cursor_location (GtkIMContext *context, GdkRectangle *area) + static void + ibus_im_context_set_use_preedit (GtkIMContext *context, gboolean use_preedit) + { +- g_return_if_fail (context != NULL); +- g_return_if_fail (IBUS_IS_IM_CONTEXT (context)); ++ IDEBUG ("%s", __FUNCTION__); + + IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context); + +@@ -705,13 +696,47 @@ _ibus_context_commit_text_cb (IBusInputContext *ibuscontext, + IBusIMContext *ibusimcontext) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_INPUT_CONTEXT (ibuscontext)); +- g_assert (IBUS_IS_TEXT (text)); +- g_assert (IBUS_IS_IM_CONTEXT (ibusimcontext)); + + g_signal_emit (ibusimcontext, _signal_commit_id, 0, text->text); + } + ++static gboolean ++_key_is_modifier (guint keyval) ++{ ++ /* See gdkkeys-x11.c:_gdk_keymap_key_is_modifier() for how this ++ * really should be implemented */ ++ ++ switch (keyval) { ++ case GDK_Shift_L: ++ case GDK_Shift_R: ++ case GDK_Control_L: ++ case GDK_Control_R: ++ case GDK_Caps_Lock: ++ case GDK_Shift_Lock: ++ case GDK_Meta_L: ++ case GDK_Meta_R: ++ case GDK_Alt_L: ++ case GDK_Alt_R: ++ case GDK_Super_L: ++ case GDK_Super_R: ++ case GDK_Hyper_L: ++ case GDK_Hyper_R: ++ case GDK_ISO_Lock: ++ case GDK_ISO_Level2_Latch: ++ case GDK_ISO_Level3_Shift: ++ case GDK_ISO_Level3_Latch: ++ case GDK_ISO_Level3_Lock: ++ case GDK_ISO_Level5_Shift: ++ case GDK_ISO_Level5_Latch: ++ case GDK_ISO_Level5_Lock: ++ case GDK_ISO_Group_Shift: ++ case GDK_ISO_Group_Latch: ++ case GDK_ISO_Group_Lock: ++ return TRUE; ++ default: ++ return FALSE; ++ } ++} + /* Copy from gdk */ + static GdkEventKey * + _create_gdk_event (IBusIMContext *ibusimcontext, +@@ -724,8 +749,10 @@ _create_gdk_event (IBusIMContext *ibusimcontext, + GdkEventKey *event; + + event = (GdkEventKey *)gdk_event_new ((state & IBUS_RELEASE_MASK) ? GDK_KEY_RELEASE : GDK_KEY_PRESS); ++ ++ if (ibusimcontext->client_window) ++ event->window = g_object_ref (ibusimcontext->client_window); + event->time = GDK_CURRENT_TIME; +- event->window = g_object_ref (ibusimcontext->client_window); + event->send_event = FALSE; + event->state = state; + event->keyval = keyval; +@@ -733,7 +760,7 @@ _create_gdk_event (IBusIMContext *ibusimcontext, + event->length = 0; + event->hardware_keycode = (keycode != 0) ? keycode + 8 : 0; + event->group = 0; +- event->is_modifier = 0; ++ event->is_modifier = _key_is_modifier (keyval); + + if (keyval != GDK_VoidSymbol) + c = gdk_keyval_to_unicode (keyval); +@@ -791,11 +818,8 @@ _ibus_context_forward_key_event_cb (IBusInputContext *ibuscontext, + IBusIMContext *ibusimcontext) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_IM_CONTEXT (ibusimcontext)); + +- GdkEventKey *event; +- +- event = _create_gdk_event (ibusimcontext, keyval, keycode, state); ++ GdkEventKey *event = _create_gdk_event (ibusimcontext, keyval, keycode, state); + gdk_event_put ((GdkEvent *)event); + gdk_event_free ((GdkEvent *)event); + } +@@ -806,11 +830,7 @@ _ibus_context_delete_surrounding_text_cb (IBusInputContext *ibuscontext, + guint nchars, + IBusIMContext *ibusimcontext) + { +- g_assert (IBUS_IS_INPUT_CONTEXT (ibuscontext)); +- g_assert (IBUS_IS_IM_CONTEXT (ibusimcontext)); +- + gboolean return_value; +- + g_signal_emit (ibusimcontext, _signal_delete_surrounding_id, 0, offset_from_cursor, nchars, &return_value); + } + +@@ -822,9 +842,6 @@ _ibus_context_update_preedit_text_cb (IBusInputContext *ibuscontext, + IBusIMContext *ibusimcontext) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_INPUT_CONTEXT (ibuscontext)); +- g_assert (IBUS_IS_TEXT (text)); +- g_assert (IBUS_IS_IM_CONTEXT (ibusimcontext)); + + const gchar *str; + gboolean flag; +@@ -904,7 +921,6 @@ _ibus_context_show_preedit_text_cb (IBusInputContext *ibuscontext, + IBusIMContext *ibusimcontext) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_IM_CONTEXT (ibusimcontext)); + + if (ibusimcontext->preedit_visible == TRUE) + return; +@@ -919,7 +935,6 @@ _ibus_context_hide_preedit_text_cb (IBusInputContext *ibuscontext, + IBusIMContext *ibusimcontext) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_IM_CONTEXT (ibusimcontext)); + + if (ibusimcontext->preedit_visible == FALSE) + return; +@@ -934,7 +949,6 @@ _ibus_context_enabled_cb (IBusInputContext *ibuscontext, + IBusIMContext *ibusimcontext) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_IM_CONTEXT (ibusimcontext)); + + ibusimcontext->enable = TRUE; + } +@@ -961,7 +975,6 @@ _ibus_context_destroy_cb (IBusInputContext *ibuscontext, + IBusIMContext *ibusimcontext) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_IM_CONTEXT (ibusimcontext)); + g_assert (ibusimcontext->ibuscontext == ibuscontext); + + g_object_unref (ibusimcontext->ibuscontext); +@@ -983,7 +996,7 @@ static void + _create_input_context (IBusIMContext *ibusimcontext) + { + IDEBUG ("%s", __FUNCTION__); +- g_assert (IBUS_IS_IM_CONTEXT (ibusimcontext)); ++ + g_assert (ibusimcontext->ibuscontext == NULL); + + ibusimcontext->ibuscontext = ibus_bus_create_input_context (_bus, "gtk-im"); +@@ -1040,8 +1053,6 @@ _slave_commit_cb (GtkIMContext *slave, + gchar *string, + IBusIMContext *ibusimcontext) + { +- g_return_if_fail (IBUS_IS_IM_CONTEXT (ibusimcontext)); +- + #if 0 + if ((GtkIMContext *)context == CURRENT_CONTEXT && ibus_im_client_is_enabled (_client)) + return; +@@ -1053,8 +1064,6 @@ static void + _slave_preedit_changed_cb (GtkIMContext *slave, + IBusIMContext *ibusimcontext) + { +- g_return_if_fail (IBUS_IS_IM_CONTEXT (ibusimcontext)); +- + if (ibusimcontext->enable && ibusimcontext->ibuscontext) { + return; + } +@@ -1066,8 +1075,6 @@ static void + _slave_preedit_start_cb (GtkIMContext *slave, + IBusIMContext *ibusimcontext) + { +- g_return_if_fail (IBUS_IS_IM_CONTEXT (ibusimcontext)); +- + if (ibusimcontext->enable && ibusimcontext->ibuscontext) { + return; + } +@@ -1079,8 +1086,6 @@ static void + _slave_preedit_end_cb (GtkIMContext *slave, + IBusIMContext *ibusimcontext) + { +- g_return_if_fail (IBUS_IS_IM_CONTEXT (ibusimcontext)); +- + if (ibusimcontext->enable && ibusimcontext->ibuscontext) { + return; + } +@@ -1091,8 +1096,6 @@ static void + _slave_retrieve_surrounding_cb (GtkIMContext *slave, + IBusIMContext *ibusimcontext) + { +- g_return_if_fail (IBUS_IS_IM_CONTEXT (ibusimcontext)); +- + if (ibusimcontext->enable && ibusimcontext->ibuscontext) { + return; + } +@@ -1105,7 +1108,6 @@ _slave_delete_surrounding_cb (GtkIMContext *slave, + guint nchars, + IBusIMContext *ibusimcontext) + { +- g_return_if_fail (IBUS_IS_IM_CONTEXT (ibusimcontext)); + gboolean return_value; + + if (ibusimcontext->enable && ibusimcontext->ibuscontext) { +diff --git a/configure.ac b/configure.ac +index b599551..975ef39 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -21,7 +21,7 @@ + # Boston, MA 02111-1307 USA + + # if not 1, append datestamp to the version number. +-m4_define([ibus_released], [1]) ++m4_define([ibus_released], [0]) + m4_define([ibus_major_version], [1]) + m4_define([ibus_minor_version], [3]) + m4_define([ibus_micro_version], [5]) +@@ -123,12 +123,15 @@ if test x"$enable_vala" != x"yes"; then + enable_vala="no (disabled, use --enable-vala to enable)" + fi + +-if test x"$enable_gtk2" = x"yes"; then +- # check for gtk2, gdk2 ++if test x"$enable_gtk2" = x"yes" -o x"$enable_xim" = x"yes" ; then ++ # check for gtk2 + PKG_CHECK_MODULES(GTK2, [ + gtk+-2.0 + ]) ++fi + ++if test x"$enable_gtk2" = x"yes"; then ++ # check for gdk2 + gtk2_binary_version=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0` + GTK2_IM_MODULEDIR="$libdir"/gtk-2.0/$gtk2_binary_version/immodules + +diff --git a/gconf/config.c b/gconf/config.c +index f690ee4..6ee039b 100644 +--- a/gconf/config.c ++++ b/gconf/config.c +@@ -103,7 +103,10 @@ static void + ibus_config_gconf_init (IBusConfigGConf *config) + { + config->client = gconf_client_get_default (); +- gconf_client_add_dir (config->client, GCONF_PREFIX, GCONF_CLIENT_PRELOAD_NONE, NULL); ++ gconf_client_add_dir (config->client, ++ GCONF_PREFIX, ++ GCONF_CLIENT_PRELOAD_RECURSIVE, ++ NULL); + g_signal_connect (config->client, "value-changed", G_CALLBACK (_value_changed_cb), config); + } + +@@ -111,6 +114,7 @@ static void + ibus_config_gconf_destroy (IBusConfigGConf *config) + { + if (config->client) { ++ g_signal_handlers_disconnect_by_func (config->client, G_CALLBACK (_value_changed_cb), config); + g_object_unref (config->client); + config->client = NULL; + } +diff --git a/ibus/interface/iibus.py b/ibus/interface/iibus.py +index 2c0b109..e63caa3 100644 +--- a/ibus/interface/iibus.py ++++ b/ibus/interface/iibus.py +@@ -53,7 +53,7 @@ class IIBus(dbus.service.Object): + @method(in_signature="s", out_signature="o") + def CreateInputContext(self, client_name, dbusconn): pass + +- @method(out_signature="s") ++ @method(out_signature="o") + def CurrentInputContext(self, dbusconn): pass + + # general methods +diff --git a/po/ar.po b/po/ar.po +index 2b72a0a..84c99d1 100644 +--- a/po/ar.po ++++ b/po/ar.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2009-04-06 11:45+0800\n" + "Last-Translator: Muayyad Alsadi \n" + "Language-Team: Arabic \n" +@@ -20,8 +20,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "إطار إطرق الإدخال IBUS" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "إطار إطرق الإدخال IBUS" + + #: ../ibus/_config.py.in:38 +@@ -59,6 +65,10 @@ msgstr "إعادة تشغيل" + msgid "Later" + msgstr "أخرى" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "إطار إطرق الإدخال IBUS" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "إعادة تشغيل" +@@ -190,6 +200,11 @@ msgstr "" + msgid "IBus Preferences" + msgstr "تفضيلات IBus" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "تفضيلات IBus" ++ + #: ../data/ibus.schemas.in.h:1 + #, fuzzy + msgid "Auto hide" +diff --git a/po/as.po b/po/as.po +index 789c1ee..615b411 100644 +--- a/po/as.po ++++ b/po/as.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus.master.ibus.as\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-05 16:04+0530\n" + "Last-Translator: Amitakhya Phukan \n" + "Language-Team: Assamese \n" +@@ -21,8 +21,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus input method framework" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus input method framework" + + #: ../ibus/_config.py.in:38 +@@ -61,6 +67,10 @@ msgstr "এতিয়া পুনৰাৰম্ভ কৰক" + msgid "Later" + msgstr "পিছত" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus input method framework" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "পুনৰাৰম্ভ" +@@ -193,6 +203,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus পছন্দ" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus পছন্দ" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "স্বয়ংক্ৰিয়ভাবে লুকাওক" +diff --git a/po/bn_IN.po b/po/bn_IN.po +index 35af1fa..7682a97 100644 +--- a/po/bn_IN.po ++++ b/po/bn_IN.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: bn_IN\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-03-25 17:16+0530\n" + "Last-Translator: Runa Bhattacharjee \n" + "Language-Team: Bengali INDIA \n" +@@ -22,8 +22,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus ইনপুট পদ্ধতির পরিকাঠামো" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus ইনপুট পদ্ধতির পরিকাঠামো" + + #: ../ibus/_config.py.in:38 +@@ -62,6 +68,10 @@ msgstr "অবিলম্বে পুনরারম্ভ" + msgid "Later" + msgstr "পরে" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus ইনপুট পদ্ধতির পরিকাঠামো" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "পুনরারম্ভ" +@@ -194,6 +204,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus সংক্রান্ত পছন্দ" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus সংক্রান্ত পছন্দ" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "স্বয়ংক্রিয়ভাবে আড়াল করা হবে" +diff --git a/po/ca.po b/po/ca.po +index 2ef7be7..927d790 100644 +--- a/po/ca.po ++++ b/po/ca.po +@@ -20,7 +20,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2009-09-19 20:43+0200\n" + "Last-Translator: Patricia Rivera Escuder \n" + "Language-Team: Catalan \n" +@@ -33,8 +33,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "Entorn de mètodes d'entrada IBus" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "Entorn de mètodes d'entrada IBus" + + #: ../ibus/_config.py.in:38 +@@ -72,6 +78,10 @@ msgstr "Reinicia" + msgid "Later" + msgstr "Altres" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "Entorn de mètodes d'entrada IBus" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Reinicia" +@@ -208,6 +218,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "Prefèrencies de l'IBus" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "Prefèrencies de l'IBus" ++ + #: ../data/ibus.schemas.in.h:1 + #, fuzzy + msgid "Auto hide" +diff --git a/po/da.po b/po/da.po +index 7f46b8f..bdf4e93 100644 +--- a/po/da.po ++++ b/po/da.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2009-06-11 17:58+0200\n" + "Last-Translator: Kris Thomsen \n" + "Language-Team: Danish \n" +@@ -19,8 +19,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus-ramme for inddatametode" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus-ramme for inddatametode" + + #: ../ibus/_config.py.in:38 +@@ -58,6 +64,10 @@ msgstr "Genstart" + msgid "Later" + msgstr "Andre" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus-ramme for inddatametode" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Genstart" +@@ -198,6 +208,11 @@ msgstr "" + msgid "IBus Preferences" + msgstr "Indstillinger for IBus" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "Indstillinger for IBus" ++ + #: ../data/ibus.schemas.in.h:1 + #, fuzzy + msgid "Auto hide" +diff --git a/po/de.po b/po/de.po +index 4583d04..83cdd0c 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -11,7 +11,7 @@ msgid "" + msgstr "" + "Project-Id-Version: de\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2009-12-10 09:44+1000\n" + "Last-Translator: Hedda Peters \n" + "Language-Team: \n" +@@ -25,8 +25,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus-Eingabemethode-Framework" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus-Eingabemethode-Framework" + + #: ../ibus/_config.py.in:38 +@@ -65,6 +71,10 @@ msgstr "Jetzt neu starten" + msgid "Later" + msgstr "Später" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus-Eingabemethode-Framework" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Neustart" +@@ -199,6 +209,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus-Einstellungen" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus-Einstellungen" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "Automatisch verstecken" +diff --git a/po/es.po b/po/es.po +index 6f3384f..c03aecf 100644 +--- a/po/es.po ++++ b/po/es.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: \n" + "Last-Translator: Héctor Daniel Cabrera \n" + "Language-Team: Fedora Spanish \n" +@@ -21,8 +21,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "Marco de trabajo para métodos de entrada IBus" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "Marco de trabajo para métodos de entrada IBus" + + #: ../ibus/_config.py.in:38 +@@ -61,6 +67,10 @@ msgstr "Reiniciar ahora" + msgid "Later" + msgstr "Más tarde" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "Marco de trabajo para métodos de entrada IBus" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Reiniciar" +@@ -193,6 +203,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "Preferencias de IBus" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "Preferencias de IBus" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "Auto Ocultar" +@@ -214,13 +229,14 @@ msgid "Embed Preedit Text in Application Window" + msgstr "Insertar texto previamente editado en la ventana de la aplicación" + + #: ../data/ibus.schemas.in.h:6 +-#, fuzzy + msgid "Enable input method by default" +-msgstr "siguiente método de entrada" ++msgstr "Habilitar método de entrada en forma predeterminada" + + #: ../data/ibus.schemas.in.h:7 + msgid "Enable input method by default when the application gets input focus" + msgstr "" ++"Habilitar método de entrada en forma predeterminada cuando la aplicación en " ++"uso solicite alguno" + + #: ../data/ibus.schemas.in.h:8 + msgid "Language panel position" +@@ -284,16 +300,15 @@ msgstr "" + "derecha, 4 = personalizado" + + #: ../data/ibus.schemas.in.h:21 +-#, fuzzy + msgid "The shortcut keys for switching to the next input method in the list" + msgstr "" +-"Tecla programada para cambiar al siguiente método de entrada en la lista" ++"Los atajos de teclado para avanzar al siguiente método de entrada de la lista" + + #: ../data/ibus.schemas.in.h:22 +-#, fuzzy + msgid "The shortcut keys for switching to the previous input method" + msgstr "" +-"Tecla programada para cambiar al método de entrada anterior en la lista" ++"Los atajos de teclado para retroceder al método de entrada anterior en la " ++"lista" + + #: ../data/ibus.schemas.in.h:23 ../setup/setup.ui.h:49 + msgid "The shortcut keys for turning input method on or off" +diff --git a/po/fr.po b/po/fr.po +index d1b3935..650f236 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-06-04 12:06+0200\n" + "Last-Translator: \n" + "Language-Team: French \n" +@@ -26,8 +26,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "Environnement de méthode de saisie iBus" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "Environnement de méthode de saisie iBus" + + #: ../ibus/_config.py.in:38 +@@ -66,6 +72,10 @@ msgstr "Redémarrer IBus maintenant" + msgid "Later" + msgstr "Plus tard" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "Environnement de méthode de saisie iBus" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Redémarrer IBus" +@@ -199,6 +209,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "Préférences IBus" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "Préférences IBus" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "Masquage automatique" +@@ -286,8 +301,8 @@ msgid "" + "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" + msgstr "" + "Position de la barre de langue. 0 = Coin supérieur gauche, 1 = Coin " +-"supérieur droit, " +-"2 = Coin inférieur gauche, 3 = Coin inférieur droit, 4 = Personnalisé" ++"supérieur droit, 2 = Coin inférieur gauche, 3 = Coin inférieur droit, 4 = " ++"Personnalisé" + + #: ../data/ibus.schemas.in.h:21 + msgid "The shortcut keys for switching to the next input method in the list" +diff --git a/po/gu.po b/po/gu.po +index 1217385..b35608d 100644 +--- a/po/gu.po ++++ b/po/gu.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: gu\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-03-23 12:09+0530\n" + "Last-Translator: Sweta Kothari \n" + "Language-Team: Gujarati\n" +@@ -23,8 +23,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus ઇનપુટ પદ્દતિ ફ્રેમવર્ક" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus ઇનપુટ પદ્દતિ ફ્રેમવર્ક" + + #: ../ibus/_config.py.in:38 +@@ -63,6 +69,10 @@ msgstr "હવે પુન:શરૂ કરો" + msgid "Later" + msgstr "પછી" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus ઇનપુટ પદ્દતિ ફ્રેમવર્ક" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "પુન:શરૂ કરો" +@@ -195,6 +205,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus પસંદગીઓ" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus પસંદગીઓ" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "આપમેળે છુપાવો" +diff --git a/po/hi.po b/po/hi.po +index 499790a..bb7db85 100644 +--- a/po/hi.po ++++ b/po/hi.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: hi\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-06 13:55+0530\n" + "Last-Translator: Rajesh Ranjan \n" + "Language-Team: Hindi \n" +@@ -28,8 +28,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus इनपुट विधि फ्रेमवर्क" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus इनपुट विधि फ्रेमवर्क" + + #: ../ibus/_config.py.in:38 +@@ -68,6 +74,10 @@ msgstr "अब फिर प्रारंभ करें" + msgid "Later" + msgstr "बाद में" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus इनपुट विधि फ्रेमवर्क" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "पुनः प्रारंभ करें" +@@ -200,6 +210,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus वरीयता" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus वरीयता" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "स्वतः छुपाएँ" +diff --git a/po/hu.po b/po/hu.po +index 9846b7d..b055976 100644 +--- a/po/hu.po ++++ b/po/hu.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: IBus master\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2009-04-11 10:58+0200\n" + "Last-Translator: Sulyok Péter \n" + "Language-Team: Hungarian \n" +@@ -19,8 +19,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus bevitel eljárás keretrendszer" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus bevitel eljárás keretrendszer" + + #: ../ibus/_config.py.in:38 +@@ -58,6 +64,10 @@ msgstr "Újraindítás" + msgid "Later" + msgstr "Más" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus bevitel eljárás keretrendszer" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Újraindítás" +@@ -194,6 +204,11 @@ msgstr "" + msgid "IBus Preferences" + msgstr "IBus beállítás" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus beállítás" ++ + #: ../data/ibus.schemas.in.h:1 + #, fuzzy + msgid "Auto hide" +diff --git a/po/it.po b/po/it.po +index adfc2d4..e2bad3a 100644 +--- a/po/it.po ++++ b/po/it.po +@@ -10,7 +10,7 @@ msgid "" + msgstr "" + "Project-Id-Version: it\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2009-12-10 09:28+1000\n" + "Last-Translator: \n" + "Language-Team: \n" +@@ -24,8 +24,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "Ambiente del metodo di input IBus" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "Ambiente del metodo di input IBus" + + #: ../ibus/_config.py.in:38 +@@ -64,6 +70,10 @@ msgstr "Riavvia ora" + msgid "Later" + msgstr "Più tardi" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "Ambiente del metodo di input IBus" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Riavvia" +@@ -198,6 +208,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "Preferenze di IBus" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "Preferenze di IBus" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "Nasconde automaticamente" +diff --git a/po/ja.po b/po/ja.po +index b7fc0d2..faaf42a 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -12,7 +12,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ja\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-06 17:34+0900\n" + "Last-Translator: Kiyoto Hashida \n" + "Language-Team: Japanese \n" +@@ -28,8 +28,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus インプットメソッドフレームワーク" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus インプットメソッドフレームワーク" + + #: ../ibus/_config.py.in:38 +@@ -68,6 +74,10 @@ msgstr "今すぐに再起動する" + msgid "Later" + msgstr "後でする" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus インプットメソッドフレームワーク" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "再起動" +@@ -203,6 +213,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus の設定" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus の設定" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "自動的に隠す" +diff --git a/po/kn.po b/po/kn.po +index 3725d4a..edd8d2f 100644 +--- a/po/kn.po ++++ b/po/kn.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus.master.kn\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-05 16:04+0530\n" + "Last-Translator: Shankar Prasad \n" + "Language-Team: kn-IN <>\n" +@@ -21,8 +21,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಫ್ರೇಮ್‌ವರ್ಕ್" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಫ್ರೇಮ್‌ವರ್ಕ್" + + #: ../ibus/_config.py.in:38 +@@ -61,6 +67,10 @@ msgstr "ಮರಳಿ ಆರಂಭಿಸು" + msgid "Later" + msgstr "ನಂತರ" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಫ್ರೇಮ್‌ವರ್ಕ್" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "ಪುನರಾರಂಭಿಸು" +@@ -193,6 +203,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus ಆದ್ಯತೆಗಳು" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus ಆದ್ಯತೆಗಳು" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "ಸ್ವಯಂ ಅಡಗಿಸುವಿಕೆ" +diff --git a/po/ko.po b/po/ko.po +index 717e30e..f839208 100644 +--- a/po/ko.po ++++ b/po/ko.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ko\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-03-31 14:16+1000\n" + "Last-Translator: Hyunsok Oh \n" + "Language-Team: Korean \n" +@@ -22,8 +22,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus 입력 방식 프레임워크" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus 입력 방식 프레임워크" + + #: ../ibus/_config.py.in:38 +@@ -62,6 +68,10 @@ msgstr "지금 재시작" + msgid "Later" + msgstr "나중에" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus 입력 방식 프레임워크" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "재시작" +@@ -194,6 +204,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus 환경 설정 " + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus 환경 설정 " ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "자동 숨기기" +diff --git a/po/ml.po b/po/ml.po +index c61628a..f244294 100644 +--- a/po/ml.po ++++ b/po/ml.po +@@ -9,7 +9,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ml\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-06 12:49+0530\n" + "Last-Translator: \n" + "Language-Team: \n" +@@ -22,8 +22,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus ഇന്‍പുട്ട് മെഥേഡ് ആകൃതി" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus ഇന്‍പുട്ട് മെഥേഡ് ആകൃതി" + + #: ../ibus/_config.py.in:38 +@@ -62,6 +68,10 @@ msgstr "വീണ്ടും ഉടന്‍ ആരംഭിക്കുക" + msgid "Later" + msgstr "പിന്നീടു്" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus ഇന്‍പുട്ട് മെഥേഡ് ആകൃതി" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "വീണ്ടും ആരംഭിക്കുക" +@@ -194,6 +204,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus മുന്‍ഗണനകള്‍" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus മുന്‍ഗണനകള്‍" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "സ്വയം അദൃശ്യമാക്കുക" +diff --git a/po/mr.po b/po/mr.po +index d904837..77d88b3 100644 +--- a/po/mr.po ++++ b/po/mr.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: mr\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-06 12:13+0530\n" + "Last-Translator: Sandeep Shedmake \n" + "Language-Team: Marathi \n" +@@ -21,8 +21,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus इन्पुट पद्धती मांडणी" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus इन्पुट पद्धती मांडणी" + + #: ../ibus/_config.py.in:38 +@@ -61,6 +67,10 @@ msgstr "आत्ता पुनः सुरू करा" + msgid "Later" + msgstr "पुढे" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus इन्पुट पद्धती मांडणी" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "पुन्हा चालू करा" +@@ -195,6 +205,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus आवड निवड" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus आवड निवड" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "स्वयं लपवा" +diff --git a/po/or.po b/po/or.po +index f6338ff..3ab4c3c 100644 +--- a/po/or.po ++++ b/po/or.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: or\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-04-15 14:17+0530\n" + "Last-Translator: Manoj Kumar Giri \n" + "Language-Team: Oriya \n" +@@ -30,8 +30,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus ନିବେଶ ପ୍ରଣାଳୀ ଫ୍ରେମୱର୍କ" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus ନିବେଶ ପ୍ରଣାଳୀ ଫ୍ରେମୱର୍କ" + + #: ../ibus/_config.py.in:38 +@@ -70,6 +76,10 @@ msgstr "ବର୍ତ୍ତମାନ ପୁନଃଚାଳନ କରନ୍ତୁ" + msgid "Later" + msgstr "ପରେ" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus ନିବେଶ ପ୍ରଣାଳୀ ଫ୍ରେମୱର୍କ" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "ପୁନଃଚାଳନ" +@@ -202,6 +212,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus ପସନ୍ଦ" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus ପସନ୍ଦ" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଲୁଚାନ୍ତୁ" +diff --git a/po/pa.po b/po/pa.po +index 3e95de3..d1707d0 100644 +--- a/po/pa.po ++++ b/po/pa.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-05 16:23+0530\n" + "Last-Translator: Jaswinder Singh \n" + "Language-Team: Punjabi/Panjabi \n" +@@ -22,8 +22,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus ਇੰਪੁੱਟ ਢੰਗ ਫਰੇਮਵਰਕ" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus ਇੰਪੁੱਟ ਢੰਗ ਫਰੇਮਵਰਕ" + + #: ../ibus/_config.py.in:38 +@@ -62,6 +68,10 @@ msgstr "ਹੁਣ ਮੁੜ-ਚਾਲੂ" + msgid "Later" + msgstr "ਬਾਅਦ `ਚ" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus ਇੰਪੁੱਟ ਢੰਗ ਫਰੇਮਵਰਕ" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "ਮੁੜ-ਚਾਲੂ" +@@ -195,6 +205,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus ਪਸੰਦ" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus ਪਸੰਦ" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "ਆਟੋਮੈਟਿਕ ਓਹਲੇ" +diff --git a/po/pl.po b/po/pl.po +index 6c70e2b..43428b3 100644 +--- a/po/pl.po ++++ b/po/pl.po +@@ -5,7 +5,7 @@ msgid "" + msgstr "" + "Project-Id-Version: pl\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-14 00:15+0200\n" + "Last-Translator: Piotr Drąg \n" + "Language-Team: Polish \n" +@@ -17,8 +17,14 @@ msgstr "" + msgid "IBus" + msgstr "iBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "Struktura metody wprowadzania iBus" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "Struktura metody wprowadzania iBus" + + #: ../ibus/_config.py.in:38 +@@ -57,6 +63,10 @@ msgstr "Uruchom ponownie teraz" + msgid "Later" + msgstr "Później" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "Struktura metody wprowadzania iBus" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Uruchom ponownie" +@@ -189,6 +199,11 @@ msgstr "KBD" + msgid "IBus Preferences" + msgstr "Preferencje programu iBus" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "Preferencje programu iBus" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "Automatyczne ukrywanie" +diff --git a/po/ru.po b/po/ru.po +index 6ab6bb3..2256e39 100644 +--- a/po/ru.po ++++ b/po/ru.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ru\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-06 12:12+1000\n" + "Last-Translator: Yulia \n" + "Language-Team: Russian\n" +@@ -23,8 +23,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "Система методов ввода IBus" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "Система методов ввода IBus" + + #: ../ibus/_config.py.in:38 +@@ -63,6 +69,10 @@ msgstr "Перезапустить сейчас" + msgid "Later" + msgstr "Позже" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "Система методов ввода IBus" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Перезапустить" +@@ -197,6 +207,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "Параметры IBus" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "Параметры IBus" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "Автоматически скрывать" +diff --git a/po/sr.po b/po/sr.po +index 42e7fde..b956b4a 100644 +--- a/po/sr.po ++++ b/po/sr.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2009-04-01 19:58+0100\n" + "Last-Translator: Miloš Komarčević \n" + "Language-Team: Serbian \n" +@@ -21,8 +21,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus радни оквир методе уноса" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus радни оквир методе уноса" + + #: ../ibus/_config.py.in:38 +@@ -61,6 +67,10 @@ msgstr "Покрени поново" + msgid "Later" + msgstr "Друго" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus радни оквир методе уноса" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Покрени поново" +@@ -200,6 +210,11 @@ msgstr "" + msgid "IBus Preferences" + msgstr "IBus поставке" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus поставке" ++ + #: ../data/ibus.schemas.in.h:1 + #, fuzzy + msgid "Auto hide" +diff --git a/po/sr@latin.po b/po/sr@latin.po +index 476fc20..5b9523d 100644 +--- a/po/sr@latin.po ++++ b/po/sr@latin.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2009-04-01 19:58+0100\n" + "Last-Translator: Miloš Komarčević \n" + "Language-Team: Serbian \n" +@@ -21,8 +21,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus radni okvir metode unosa" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus radni okvir metode unosa" + + #: ../ibus/_config.py.in:38 +@@ -61,6 +67,10 @@ msgstr "Pokreni ponovo" + msgid "Later" + msgstr "Drugo" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus radni okvir metode unosa" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Pokreni ponovo" +@@ -200,6 +210,11 @@ msgstr "" + msgid "IBus Preferences" + msgstr "IBus postavke" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus postavke" ++ + #: ../data/ibus.schemas.in.h:1 + #, fuzzy + msgid "Auto hide" +diff --git a/po/ta.po b/po/ta.po +index 48ac5e1..b0fd926 100644 +--- a/po/ta.po ++++ b/po/ta.po +@@ -8,7 +8,7 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus.master.ta\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2009-12-08 22:26+0530\n" + "Last-Translator: I Felix \n" + "Language-Team: Tamil \n" +@@ -22,8 +22,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus உள்ளீடு முறை ஃபிரேம்வொர்க்" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus உள்ளீடு முறை ஃபிரேம்வொர்க்" + + #: ../ibus/_config.py.in:38 +@@ -62,6 +68,10 @@ msgstr "இப்போது மறுதுவக்கு" + msgid "Later" + msgstr "பின்னர்" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus உள்ளீடு முறை ஃபிரேம்வொர்க்" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "மறுதுவக்கம்" +@@ -194,6 +204,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus முன்னுரிமைகள்" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus முன்னுரிமைகள்" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "தானாக மறை" +diff --git a/po/te.po b/po/te.po +index e048271..c94a9fd 100644 +--- a/po/te.po ++++ b/po/te.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: te\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-05 16:34+0530\n" + "Last-Translator: Krishna Babu K \n" + "Language-Team: Telugu \n" +@@ -28,8 +28,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus ఇన్పుట్ పద్దతి ఆకృతి" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus ఇన్పుట్ పద్దతి ఆకృతి" + + #: ../ibus/_config.py.in:38 +@@ -68,6 +74,10 @@ msgstr "ఇప్పుడు పునఃప్రారంభించుమ + msgid "Later" + msgstr "తరువాత" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus ఇన్పుట్ పద్దతి ఆకృతి" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "పునఃప్రారంభము" +@@ -200,6 +210,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus అభీష్టములు" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus అభీష్టములు" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "స్వయంచాలకంగా మరుగునవుంచు" +diff --git a/po/vi.po b/po/vi.po +index 38eadd7..00ed2b8 100644 +--- a/po/vi.po ++++ b/po/vi.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: data 1\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-06-01 13:17+0700\n" + "Last-Translator: Lê Quốc Tuấn \n" + "Language-Team: Vietnamese\n" +@@ -20,8 +20,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "Bộ gõ IBus" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "Bộ gõ IBus" + + #: ../ibus/_config.py.in:38 +@@ -60,6 +66,10 @@ msgstr "Khởi động lại ngay" + msgid "Later" + msgstr "Sau" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "Bộ gõ IBus" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "Khởi động lại" +@@ -193,6 +203,11 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "Tùy chọn IBus" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "Tùy chọn IBus" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "Tự động ẩn" +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 8e3e151..f5cf2df 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -7,7 +7,7 @@ msgid "" + msgstr "" + "Project-Id-Version: 0.1.1.20080813\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2008-08-13 21:59+0800\n" + "Last-Translator: Peng Huang \n" + "Language-Team: Peng Huang \n" +@@ -20,9 +20,13 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" +-msgstr "IBus 输入法框架" ++#: ../bus/ibus.desktop.in.h:2 ++msgid "Input Method Framework" ++msgstr "输入法框架" ++ ++#: ../bus/ibus.desktop.in.h:3 ++msgid "Start IBus Input Method Framework" ++msgstr "启动IBus 输入法框架" + + #: ../ibus/_config.py.in:38 + msgid "" +@@ -58,6 +62,10 @@ msgstr "现在重启" + msgid "Later" + msgstr "稍候" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus 输入法框架" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "重新启动" +@@ -190,6 +198,10 @@ msgstr "Kbd" + msgid "IBus Preferences" + msgstr "IBus 设置" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++msgid "Set IBus Preferences" ++msgstr "修改IBus偏好" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "自动隐藏" +diff --git a/po/zh_HK.po b/po/zh_HK.po +index 2044b8d..bcecb8c 100644 +--- a/po/zh_HK.po ++++ b/po/zh_HK.po +@@ -9,7 +9,7 @@ msgid "" + msgstr "" + "Project-Id-Version: zh_TW\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" ++"POT-Creation-Date: 2010-06-23 13:32+0800\n" + "PO-Revision-Date: 2010-05-06 13:25+1000\n" + "Last-Translator: Terry Chuang \n" + "Language-Team: Traditional Chinese \n" +@@ -26,8 +26,14 @@ msgstr "" + msgid "IBus" + msgstr "IBus" + +-#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" ++#: ../bus/ibus.desktop.in.h:2 ++#, fuzzy ++msgid "Input Method Framework" ++msgstr "IBus 輸入法框架" ++ ++#: ../bus/ibus.desktop.in.h:3 ++#, fuzzy ++msgid "Start IBus Input Method Framework" + msgstr "IBus 輸入法框架" + + #: ../ibus/_config.py.in:38 +@@ -64,6 +70,10 @@ msgstr "現在重新啟動" + msgid "Later" + msgstr "稍候" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus 輸入法框架" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "重新啟動" +@@ -198,6 +208,11 @@ msgstr "鍵盤" + msgid "IBus Preferences" + msgstr "IBus 偏好設定" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++#, fuzzy ++msgid "Set IBus Preferences" ++msgstr "IBus 偏好設定" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "自動隱藏" +diff --git a/po/zh_TW.po b/po/zh_TW.po +index 0b00ec1..51316d1 100644 +--- a/po/zh_TW.po ++++ b/po/zh_TW.po +@@ -10,8 +10,8 @@ msgid "" + msgstr "" + "Project-Id-Version: ibus\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2010-06-01 14:27+0800\n" +-"PO-Revision-Date: 2010-06-01 22:57+0800\n" ++"POT-Creation-Date: 2010-06-28 13:15+0800\n" ++"PO-Revision-Date: 2010-06-28 13:10+0800\n" + "Last-Translator: Cheng-Chia Tseng \n" + "Language-Team: chinese-l10n \n" + "MIME-Version: 1.0\n" +@@ -24,9 +24,12 @@ msgid "IBus" + msgstr "IBus" + + #: ../bus/ibus.desktop.in.h:2 +-#: ../ui/gtk/panel.py:113 +-msgid "IBus input method framework" +-msgstr "IBus 輸入法框架" ++msgid "Input Method Framework" ++msgstr "輸入法框架" ++ ++#: ../bus/ibus.desktop.in.h:3 ++msgid "Start IBus Input Method Framework" ++msgstr "啟動 IBus 輸入法框架" + + #: ../ibus/_config.py.in:38 + msgid "" +@@ -49,7 +52,9 @@ msgid "Next page" + msgstr "下一頁" + + #: ../ui/gtk/main.py:57 +-msgid "Some input methods have been installed, removed or updated. Please restart ibus input platform." ++msgid "" ++"Some input methods have been installed, removed or updated. Please restart " ++"ibus input platform." + msgstr "有些輸入法已經被安裝、移除或更新。請重新啟動 ibus 輸入平台。" + + #: ../ui/gtk/main.py:62 +@@ -60,6 +65,10 @@ msgstr "現在重新啟動" + msgid "Later" + msgstr "稍候" + ++#: ../ui/gtk/panel.py:113 ++msgid "IBus input method framework" ++msgstr "IBus 輸入法框架" ++ + #: ../ui/gtk/panel.py:331 + msgid "Restart" + msgstr "重新啟動" +@@ -79,8 +88,8 @@ msgstr "IBus 為 Linux/Unix 上的智慧型輸入法框架。" + #: ../ui/gtk/panel.py:492 + msgid "translator-credits" + msgstr "" +-"Ding-Yi Chen 陳定彞 , 2009\n" +-"Cheng-Chia Tseng , 2010" ++"Ding-Yi Chen 陳定彞 , 2009.\n" ++"Cheng-Chia Tseng , 2010." + + #: ../ui/gtk/languagebar.py:107 + msgid "About the input method" +@@ -90,10 +99,8 @@ msgstr "關於輸入法" + msgid "Switch input method" + msgstr "切換輸入法" + +-#: ../ui/gtk/languagebar.py:358 +-#: ../ui/gtk/engineabout.py:35 +-#: ../setup/engineabout.py:35 +-#: ../setup/setup.ui.h:16 ++#: ../ui/gtk/languagebar.py:358 ../ui/gtk/engineabout.py:35 ++#: ../setup/engineabout.py:35 ../setup/setup.ui.h:16 + msgid "About" + msgstr "關於" + +@@ -101,26 +108,22 @@ msgstr "關於" + msgid "About the Input Method" + msgstr "關於輸入法" + +-#: ../ui/gtk/engineabout.py:63 +-#: ../setup/engineabout.py:63 ++#: ../ui/gtk/engineabout.py:63 ../setup/engineabout.py:63 + #, python-format + msgid "Language: %s\n" + msgstr "語言:%s\n" + +-#: ../ui/gtk/engineabout.py:65 +-#: ../setup/engineabout.py:65 ++#: ../ui/gtk/engineabout.py:65 ../setup/engineabout.py:65 + #, python-format + msgid "Keyboard layout: %s\n" + msgstr "鍵盤配置: %s\n" + +-#: ../ui/gtk/engineabout.py:67 +-#: ../setup/engineabout.py:67 ++#: ../ui/gtk/engineabout.py:67 ../setup/engineabout.py:67 + #, python-format + msgid "Author: %s\n" + msgstr "作者:%s\n" + +-#: ../ui/gtk/engineabout.py:69 +-#: ../setup/engineabout.py:69 ++#: ../ui/gtk/engineabout.py:69 ../setup/engineabout.py:69 + msgid "Description:\n" + msgstr "描述:\n" + +@@ -142,12 +145,14 @@ msgstr "IBus 幕後程式没有啟動,您是否想現在啟動它?" + + #: ../setup/main.py:283 + msgid "" +-"IBus has been started! If you can not use IBus, please add below lines in $HOME/.bashrc, and relogin your desktop.\n" ++"IBus has been started! If you can not use IBus, please add below lines in " ++"$HOME/.bashrc, and relogin your desktop.\n" + " export GTK_IM_MODULE=ibus\n" + " export XMODIFIERS=@im=ibus\n" + " export QT_IM_MODULE=ibus" + msgstr "" +-"IBus 已經成功啟動!如果您無法使用 IBus,請將下列代碼加入到 $HOME/.bashrc 中,並重新登入桌面。\n" ++"IBus 已經成功啟動!如果您無法使用 IBus,請將下列代碼加入到 $HOME/.bashrc 中," ++"並重新登入桌面。\n" + " export GTK_IM_MODULE=ibus\n" + " export XMODIFIERS=@im=ibus\n" + " export QT_IM_MODULE=ibus" +@@ -186,8 +191,7 @@ msgid "Select an input method" + msgstr "選取輸入法" + + #. create im name & icon column +-#: ../setup/enginetreeview.py:67 +-#: ../setup/setup.ui.h:31 ++#: ../setup/enginetreeview.py:67 ../setup/setup.ui.h:31 + msgid "Input Method" + msgstr "輸入法" + +@@ -195,11 +199,14 @@ msgstr "輸入法" + msgid "Kbd" + msgstr "鍵盤" + +-#: ../setup/ibus-setup.desktop.in.h:1 +-#: ../setup/setup.ui.h:30 ++#: ../setup/ibus-setup.desktop.in.h:1 ../setup/setup.ui.h:30 + msgid "IBus Preferences" + msgstr "IBus 偏好設定" + ++#: ../setup/ibus-setup.desktop.in.h:2 ++msgid "Set IBus Preferences" ++msgstr "設置 IBus 偏好設定" ++ + #: ../data/ibus.schemas.in.h:1 + msgid "Auto hide" + msgstr "自動隱藏" +@@ -256,13 +263,11 @@ msgstr "當 ibus 啟動時預先載入引擎" + msgid "Prev engine shortcut keys" + msgstr "「上一個引擎」快捷鍵" + +-#: ../data/ibus.schemas.in.h:15 +-#: ../setup/setup.ui.h:40 ++#: ../data/ibus.schemas.in.h:15 ../setup/setup.ui.h:40 + msgid "Share the same input method among all applications" + msgstr "在所有的應用程式中共享同一個輸入法" + +-#: ../data/ibus.schemas.in.h:16 +-#: ../setup/setup.ui.h:41 ++#: ../data/ibus.schemas.in.h:16 ../setup/setup.ui.h:41 + msgid "Show icon on system tray" + msgstr "在系統匣內顯示圖示" + +@@ -270,17 +275,20 @@ msgstr "在系統匣內顯示圖示" + msgid "Show input method name" + msgstr "顯示輸入法名稱" + +-#: ../data/ibus.schemas.in.h:18 +-#: ../setup/setup.ui.h:43 ++#: ../data/ibus.schemas.in.h:18 ../setup/setup.ui.h:43 + msgid "Show input method name on language bar" + msgstr "在語言列上顯示輸入法名稱" + + #: ../data/ibus.schemas.in.h:19 +-msgid "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = Always show" ++msgid "" ++"The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " ++"Always show" + msgstr "語言面板行為。0 = 嵌入選單內,1 = 自動隱藏,2 = 永遠顯示" + + #: ../data/ibus.schemas.in.h:20 +-msgid "The position of the language panel. 0 = Top left corner, 1 = Top right corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" ++msgid "" ++"The position of the language panel. 0 = Top left corner, 1 = Top right " ++"corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" + msgstr "語言列的位置。0 = 左上角, 1 = 右上角, 2 = 左下角, 3 = 右下角, 4 = 自訂" + + #: ../data/ibus.schemas.in.h:21 +@@ -291,8 +299,7 @@ msgstr "用來切換到清單內下一個輸入法的快捷鍵" + msgid "The shortcut keys for switching to the previous input method" + msgstr "用來切換到清單內上一個輸入法的快捷鍵" + +-#: ../data/ibus.schemas.in.h:23 +-#: ../setup/setup.ui.h:49 ++#: ../data/ibus.schemas.in.h:23 ../setup/setup.ui.h:49 + msgid "The shortcut keys for turning input method on or off" + msgstr "用來開啟或關閉輸入法的快捷鍵" + +@@ -312,13 +319,11 @@ msgstr "語言面板是否使用自訂字型" + msgid "Use global input method" + msgstr "使用全域輸入法" + +-#: ../data/ibus.schemas.in.h:28 +-#: ../setup/setup.ui.h:53 ++#: ../data/ibus.schemas.in.h:28 ../setup/setup.ui.h:53 + msgid "Use system keyboard (XKB) layout" + msgstr "使用系統鍵盤 (XKB) 配置" + +-#: ../data/ibus.schemas.in.h:29 +-#: ../setup/setup.ui.h:54 ++#: ../data/ibus.schemas.in.h:29 ../setup/setup.ui.h:54 + msgid "Use system keyboard layout" + msgstr "使用系統鍵盤配置" + +@@ -497,4 +502,3 @@ msgstr "垂直" + #: ../setup/setup.ui.h:56 + msgid "When active" + msgstr "當啟用時" +- +diff --git a/setup/ibus-setup.desktop.in b/setup/ibus-setup.desktop.in +index 4acd5f3..940a84d 100644 +--- a/setup/ibus-setup.desktop.in ++++ b/setup/ibus-setup.desktop.in +@@ -1,8 +1,7 @@ + [Desktop Entry] + Encoding=UTF-8 + _Name=IBus Preferences +-_GenericName=IBus Preferences +-_Comment=IBus Preferences ++_Comment=Set IBus Preferences + Exec=ibus-setup + Icon=ibus-setup + Terminal=false +diff --git a/setup/main.py b/setup/main.py +index 4d8a328..d778ac3 100644 +--- a/setup/main.py ++++ b/setup/main.py +@@ -107,25 +107,25 @@ class Setup(object): + + # next engine + shortcuts = self.__config.get_value( +- "general/hotkey", "next_engine", ++ "general/hotkey", "next_engine_in_menu", + ibus.CONFIG_GENERAL_SHORTCUT_NEXT_ENGINE_DEFAULT) + button = self.__builder.get_object("button_next_engine") + entry = self.__builder.get_object("entry_next_engine") + entry.set_text("; ".join(shortcuts)) + entry.set_tooltip_text("\n".join(shortcuts)) + button.connect("clicked", self.__shortcut_button_clicked_cb, +- N_("next input method"), "general/hotkey", "next_engine", entry) ++ N_("next input method"), "general/hotkey", "next_engine_in_menu", entry) + + # prev engine + shortcuts = self.__config.get_value( +- "general/hotkey", "prev_engine", ++ "general/hotkey", "previous_engine", + ibus.CONFIG_GENERAL_SHORTCUT_PREV_ENGINE_DEFAULT) + button = self.__builder.get_object("button_prev_engine") + entry = self.__builder.get_object("entry_prev_engine") + entry.set_text("; ".join(shortcuts)) + entry.set_tooltip_text("\n".join(shortcuts)) + button.connect("clicked", self.__shortcut_button_clicked_cb, +- N_("previous input method"), "general/hotkey", "prev_engine", entry) ++ N_("previous input method"), "general/hotkey", "previous_engine", entry) + + # lookup table orientation + self.__combobox_lookup_table_orientation = self.__builder.get_object("combobox_lookup_table_orientation") +diff --git a/src/ibusbus.c b/src/ibusbus.c +index 82ecbba..40d4566 100644 +--- a/src/ibusbus.c ++++ b/src/ibusbus.c +@@ -527,7 +527,7 @@ ibus_bus_current_input_context(IBusBus *bus) + g_assert (IBUS_IS_BUS (bus)); + g_return_val_if_fail (ibus_bus_is_connected (bus), NULL); + +- gchar *name = NULL; ++ gchar *path = NULL; + IBusMessage *reply = NULL; + IBusError *error = NULL; + +@@ -539,9 +539,10 @@ ibus_bus_current_input_context(IBusBus *bus) + G_TYPE_INVALID); + + if (reply) { +- if (ibus_message_get_args (reply, &error, G_TYPE_STRING, &name, ++ if (ibus_message_get_args (reply, &error, ++ IBUS_TYPE_OBJECT_PATH, &path, + G_TYPE_INVALID)) { +- name = g_strdup (name); ++ path = g_strdup (path); + } else { + g_warning ("%s: %s", error->name, error->message); + ibus_error_free (error); +@@ -550,7 +551,7 @@ ibus_bus_current_input_context(IBusBus *bus) + ibus_message_unref (reply); + } + +- return name; ++ return path; + } + + static void +diff --git a/src/ibuscomponent.c b/src/ibuscomponent.c +index 49f9ef1..0c55268 100644 +--- a/src/ibuscomponent.c ++++ b/src/ibuscomponent.c +@@ -29,12 +29,15 @@ enum { + + /* IBusComponentPriv */ + struct _IBusComponentPrivate { +- gpointer pad; ++ // TRUE if the component started in the verbose mode. ++ gboolean verbose; ++ // TRUE if the component needs to be restarted when it dies. ++ gboolean restart; + }; + typedef struct _IBusComponentPrivate IBusComponentPrivate; + + #define IBUS_COMPONENT_GET_PRIVATE(o) \ +- (G_TYPE_INSTANCE_GET_PRIVATE ((o), BUS_TYPE_COMPONENT, IBusComponentPrivate)) ++ (G_TYPE_INSTANCE_GET_PRIVATE ((o), IBUS_TYPE_COMPONENT, IBusComponentPrivate)) + + // static guint _signals[LAST_SIGNAL] = { 0 }; + +@@ -66,6 +69,8 @@ ibus_component_class_init (IBusComponentClass *klass) + IBusObjectClass *object_class = IBUS_OBJECT_CLASS (klass); + IBusSerializableClass *serializable_class = IBUS_SERIALIZABLE_CLASS (klass); + ++ g_type_class_add_private (klass, sizeof (IBusComponentPrivate)); ++ + object_class->destroy = (IBusObjectDestroyFunc) ibus_component_destroy; + + serializable_class->serialize = (IBusSerializableSerializeFunc) ibus_component_serialize; +@@ -91,6 +96,10 @@ ibus_component_init (IBusComponent *component) + component->observed_paths = NULL; + component->pid = 0; + component->child_source_id = 0; ++ ++ IBusComponentPrivate * priv = IBUS_COMPONENT_GET_PRIVATE (component); ++ priv->verbose = FALSE; ++ priv->restart = FALSE; + } + + static void +@@ -657,6 +666,12 @@ ibus_component_child_cb (GPid pid, + g_spawn_close_pid (pid); + component->pid = 0; + component->child_source_id = 0; ++ ++ IBusComponentPrivate *priv = IBUS_COMPONENT_GET_PRIVATE (component); ++ if (priv->restart) { ++ g_debug ("==== Restarting %s", component->exec); ++ ibus_component_start (component, priv->verbose); ++ } + } + + gboolean +@@ -667,6 +682,9 @@ ibus_component_start (IBusComponent *component, gboolean verbose) + if (component->pid != 0) + return TRUE; + ++ IBusComponentPrivate *priv = IBUS_COMPONENT_GET_PRIVATE (component); ++ priv->verbose = verbose; ++ + gint argc; + gchar **argv; + gboolean retval; +@@ -748,3 +766,12 @@ ibus_component_get_from_engine (IBusEngineDesc *engine) + component = (IBusComponent *)g_object_get_data ((GObject *)engine, "component"); + return component; + } ++ ++void ++ibus_component_set_restart (IBusComponent *component, gboolean restart) ++{ ++ g_assert (IBUS_IS_COMPONENT (component)); ++ ++ IBusComponentPrivate *priv = IBUS_COMPONENT_GET_PRIVATE (component); ++ priv->restart = restart; ++} +diff --git a/src/ibuscomponent.h b/src/ibuscomponent.h +index 6685e61..249c8cf 100644 +--- a/src/ibuscomponent.h ++++ b/src/ibuscomponent.h +@@ -233,7 +233,7 @@ gboolean ibus_component_check_modification + /** + * ibus_component_start: + * @component: An IBusComponent. +- * @verbose: if redirect the child output to /dev/null ++ * @verbose: if FALSE, redirect the child output to /dev/null + * @returns: TRUE if the component is started; FALSE otherwise. + * + * Whether the IBusComponent is started. +@@ -268,6 +268,17 @@ gboolean ibus_component_is_running (IBusComponent *component); + */ + IBusComponent *ibus_component_get_from_engine (IBusEngineDesc *engine); + ++/** ++ * ibus_component_set_restart: ++ * @component: An IBusComponent. ++ * @restart: if TRUE, the component will be restartd when it dies. ++ * ++ * Set whether the component needs to be restarted when it dies. ++ */ ++void ibus_component_set_restart (IBusComponent *component, ++ gboolean restart); ++ ++ + G_END_DECLS + #endif + diff --git a/ibus.spec b/ibus.spec index b99b3d6..21d5288 100644 --- a/ibus.spec +++ b/ibus.spec @@ -9,14 +9,14 @@ Name: ibus Version: 1.3.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Intelligent Input Bus for Linux OS License: LGPLv2+ Group: System Environment/Libraries URL: http://code.google.com/p/ibus/ Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz Source1: xinput-ibus -# Patch0: ibus-HEAD.patch +Patch0: ibus-HEAD.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -111,7 +111,6 @@ docs for ibus. Summary: Developer documents for ibus Group: Development/Libraries Requires: %{name} = %{version}-%{release} -Requires: gtk-doc %description devel-docs The ibus-devel-docs package contains developer documentation for ibus @@ -119,7 +118,7 @@ The ibus-devel-docs package contains developer documentation for ibus %prep %setup -q -# %patch0 -p1 +%patch0 -p1 %build %configure \ @@ -252,6 +251,9 @@ fi %{_datadir}/gtk-doc/html/* %changelog +* Wed Jun 30 2010 Takao Fujiwara - 1.3.5-4 +- Add patch from HEAD. + * Mon Jun 28 2010 Matthias Clasen - 1.3.5-3 - Rebuild against newer gtk