From 627aa8030b89e95550ad19e9d89801c410b6f783 Mon Sep 17 00:00:00 2001 From: Peng Huang Date: May 25 2009 08:31:29 +0000 Subject: Update ibus to upstream head version --- diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch index e5c2a36..8266d8b 100644 --- a/ibus-HEAD.patch +++ b/ibus-HEAD.patch @@ -1,857 +1,176 @@ -diff --git a/bus/ibus.desktop.in b/bus/ibus.desktop.in -index fcf2f21..cd2ad60 100644 ---- a/bus/ibus.desktop.in -+++ b/bus/ibus.desktop.in -@@ -7,7 +7,7 @@ Exec=ibus-daemon --xim - Icon=ibus - Terminal=false - Type=Application --X-GNOME-Autostart-Phase=Panel -+X-GNOME-Autostart-Phase=Applications - X-GNOME-AutoRestart=false - X-GNOME-Autostart-Notify=true - X-KDE-autostart-after=panel diff --git a/bus/inputcontext.c b/bus/inputcontext.c -index 456e049..7003bd7 100644 +index 8c9805d..b26797f 100644 --- a/bus/inputcontext.c +++ b/bus/inputcontext.c -@@ -2091,10 +2091,10 @@ bus_input_context_filter_keyboard_shortcuts (BusInputContext *context, - return TRUE; - } - else if (event == next_factory) { -- g_signal_emit (context, context_signals[REQUEST_NEXT_ENGINE], 0); -- if (priv->engine && !priv->enabled) { -- bus_input_context_enable (context); -+ if (priv->engine == NULL || priv->enabled == FALSE) { -+ return FALSE; - } -+ g_signal_emit (context, context_signals[REQUEST_NEXT_ENGINE], 0); - return TRUE; - } - else if (event == prev_factory) { -diff --git a/bus/server.c b/bus/server.c -index 7245bd3..1c796f2 100644 ---- a/bus/server.c -+++ b/bus/server.c -@@ -86,21 +86,23 @@ bus_server_listen (BusServer *server) - - // const gchar *address = "unix:abstract=/tmp/ibus-c" - const gchar *address; -- gchar *path; -+ const gchar *path; - gboolean retval; +@@ -97,8 +97,6 @@ struct _BusInputContextPrivate { + IBusLookupTable *lookup_table; + gboolean lookup_table_visible; -- path = g_strdup_printf("/tmp/ibus-%s", ibus_get_user_name ()); -- mkdir (path, 0775); -+ path = ibus_get_socket_folder (); -+ mkdir (path, 0700); -+ chmod (path, 0700); -+ - address = ibus_get_address (); - - retval = ibus_server_listen (IBUS_SERVER (server), address); -+ chmod (ibus_get_socket_path (), 0600); +- /* properties */ +- IBusPropList *props; + }; - if (!retval) { - g_printerr ("Can not listen on %s! Please try remove directory %s and run again.", address, path); - exit (-1); - } + typedef struct _BusInputContextPrivate BusInputContextPrivate; +@@ -557,7 +555,6 @@ bus_input_context_init (BusInputContext *context) + priv->lookup_table_visible = FALSE; -- g_free(path); - return retval; + g_object_ref (props_empty); +- priv->props = props_empty; } -diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c -index 5da4dec..168e45a 100644 ---- a/client/gtk2/ibusimcontext.c -+++ b/client/gtk2/ibusimcontext.c -@@ -190,14 +190,20 @@ _key_snooper_cb (GtkWidget *widget, - IBusIMContext *ibusimcontext; - ibusimcontext = (IBusIMContext *) _focus_im_context; - -- if (!_use_key_snooper) -+ if (G_UNLIKELY (!_use_key_snooper)) - return retval; - - if (ibusimcontext == NULL) -- return retval; -+ return FALSE; - -- if (ibusimcontext->ibuscontext == NULL || ibusimcontext->has_focus == FALSE) -- return retval; -+ if (G_UNLIKELY (ibusimcontext->ibuscontext == NULL || ibusimcontext->has_focus == FALSE)) -+ return FALSE; -+ -+ if (G_UNLIKELY (event->state & IBUS_HANDLED_MASK)) -+ return TRUE; -+ -+ if (G_UNLIKELY (event->state & IBUS_IGNORED_MASK)) -+ return FALSE; - - switch (event->type) { - case GDK_KEY_RELEASE: -@@ -212,6 +218,14 @@ _key_snooper_cb (GtkWidget *widget, - break; - default: - retval = FALSE; -+ break; -+ } -+ -+ if (retval) { -+ event->state |= IBUS_HANDLED_MASK; -+ } -+ else { -+ event->state |= IBUS_IGNORED_MASK; + static void +@@ -590,11 +587,6 @@ bus_input_context_destroy (BusInputContext *context) + priv->lookup_table = NULL; } - return retval; -@@ -383,11 +397,18 @@ ibus_im_context_filter_keypress (GtkIMContext *context, - - IBusIMContext *ibusimcontext = (IBusIMContext *) context; - -- if (ibusimcontext->ibuscontext && ibusimcontext->has_focus) { -+ if (G_LIKELY (ibusimcontext->ibuscontext && ibusimcontext->has_focus)) { - /* If context does not have focus, ibus will process key event in sync mode. - * It is a workaround for increase search in treeview. - */ -- gboolean retval; -+ gboolean retval = FALSE; -+ -+ if (event->state & IBUS_HANDLED_MASK) -+ return TRUE; -+ -+ if (event->state & IBUS_IGNORED_MASK) -+ return gtk_im_context_filter_keypress (ibusimcontext->slave, event); -+ - switch (event->type) { - case GDK_KEY_RELEASE: - retval = ibus_input_context_process_key_event (ibusimcontext->ibuscontext, -@@ -404,9 +425,13 @@ ibus_im_context_filter_keypress (GtkIMContext *context, - } - - if (retval) { -+ event->state |= IBUS_HANDLED_MASK; - return TRUE; - } -- return gtk_im_context_filter_keypress (ibusimcontext->slave, event); -+ else { -+ event->state |= IBUS_IGNORED_MASK; -+ return gtk_im_context_filter_keypress (ibusimcontext->slave, event); -+ } +- if (priv->props) { +- g_object_unref (priv->props); +- priv->props = NULL; +- } +- + if (priv->connection) { + g_signal_handlers_disconnect_by_func (priv->connection, + (GCallback) _connection_destroy_cb, +@@ -1156,12 +1148,6 @@ bus_input_context_focus_in (BusInputContext *context) + if (priv->capabilities & IBUS_CAP_FOCUS) { + g_signal_emit (context, context_signals[FOCUS_IN], 0); + +- if ((priv->capabilities & IBUS_CAP_PROPERTY) == 0) { +- g_signal_emit (context, +- context_signals[REGISTER_PROPERTIES], +- 0, +- priv->props); +- } + if (priv->preedit_visible && (priv->capabilities & IBUS_CAP_PREEDIT_TEXT) == 0) { + g_signal_emit (context, + context_signals[UPDATE_PREEDIT_TEXT], +@@ -1650,23 +1636,17 @@ bus_input_context_register_properties (BusInputContext *context, + BusInputContextPrivate *priv; + priv = BUS_INPUT_CONTEXT_GET_PRIVATE (context); + +- if (priv->props) { +- g_object_unref (priv->props); +- } +- +- priv->props = (IBusPropList *) g_object_ref (props ? props : props_empty); +- + if (priv->capabilities & IBUS_CAP_PROPERTY) { + bus_input_context_send_signal (context, + "RegisterProperties", +- IBUS_TYPE_PROP_LIST, &(priv->props), ++ IBUS_TYPE_PROP_LIST, &props, + G_TYPE_INVALID); } else { - return gtk_im_context_filter_keypress (ibusimcontext->slave, event); -diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in -index be4b980..a976eec 100644 ---- a/data/ibus.schemas.in -+++ b/data/ibus.schemas.in -@@ -18,7 +18,7 @@ - ibus - list - string -- [Control+space,Zenkaku_Hankaku,Alt+Zenkaku_Hankaku,Alt+grave,Hangul] -+ [Control+space,Zenkaku_Hankaku,Alt+Zenkaku_Hankaku,Alt+grave,Hangul,Alt+Release+Alt_R] - - Trigger Hotkey - Trigger hotkey for enable or disable input context -diff --git a/ibus/common.py b/ibus/common.py -index 527d3a5..571ebaa 100644 ---- a/ibus/common.py -+++ b/ibus/common.py -@@ -67,7 +67,12 @@ if not __username: - if not __username: - __username = os.getenv ("USERNAME") - --IBUS_ADDR = "unix:path=/tmp/ibus-%s/ibus-%s-%s" % (__username, __hostname, __display_number) -+__session_id = os.getenv ("IBUS_SESSION_ID") -+ -+IBUS_ADDR = "unix:path=/tmp/ibus-%s%s/ibus-%s-%s" % (__username, -+ "-" + __session_id if __session_id else "", -+ __hostname, -+ __display_number) - # IBUS_ADDR = "tcp:host=localhost,port=7799" - - IBUS_IFACE_IBUS = "org.freedesktop.IBus" -diff --git a/ibus/modifier.py b/ibus/modifier.py -index 7f6afad..56d8be9 100644 ---- a/ibus/modifier.py -+++ b/ibus/modifier.py -@@ -33,11 +33,15 @@ BUTTON2_MASK = 1 << 9 - BUTTON3_MASK = 1 << 10 - BUTTON4_MASK = 1 << 11 - BUTTON5_MASK = 1 << 12 -- -+ -+HANDLED_MASK = 1 << 24 -+IGNORED_MASK = 1 << 25 -+FORWARD_MASK = 1 << 25 -+ - SUPER_MASK = 1 << 26 - HYPER_MASK = 1 << 27 - META_MASK = 1 << 28 -- -+ - RELEASE_MASK = 1 << 30 - - MODIFIER_MASK = 0x5c001fff -diff --git a/po/as.po b/po/as.po -index 8e33ca2..9b81669 100644 ---- a/po/as.po -+++ b/po/as.po -@@ -6,8 +6,8 @@ msgid "" - msgstr "" - "Project-Id-Version: ibus.master.ibus.as\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2009-04-02 02:13+0000\n" --"PO-Revision-Date: 2009-04-08 15:55+0530\n" -+"POT-Creation-Date: 2009-04-06 11:45+0800\n" -+"PO-Revision-Date: 2009-04-09 19:03+0530\n" - "Last-Translator: Amitakhya Phukan \n" - "Language-Team: Assamese \n" - "MIME-Version: 1.0\n" -@@ -16,163 +16,19 @@ msgstr "" - "X-Generator: Lokalize 0.3\n" - "Plural-Forms: nplurals=2; plural=n != 1;\n" - --#: ../src/keyname-table.h:3940 --msgid "keyboard label|BackSpace" --msgstr "keyboard label|BackSpace" -+#: ../bus/ibus.desktop.in.h:1 -+msgid "IBus" -+msgstr "IBus" - --#: ../src/keyname-table.h:3941 --msgid "keyboard label|Tab" --msgstr "keyboard label|Tab" -- --#: ../src/keyname-table.h:3942 --msgid "keyboard label|Return" --msgstr "keyboard label|Return" -- --#: ../src/keyname-table.h:3943 --msgid "keyboard label|Pause" --msgstr "keyboard label|Pause" -- --#: ../src/keyname-table.h:3944 --msgid "keyboard label|Scroll_Lock" --msgstr "keyboard label|Scroll_Lock" -- --#: ../src/keyname-table.h:3945 --msgid "keyboard label|Sys_Req" --msgstr "keyboard label|Sys_Req" -- --#: ../src/keyname-table.h:3946 --msgid "keyboard label|Escape" --msgstr "keyboard label|Escape" -- --#: ../src/keyname-table.h:3947 --msgid "keyboard label|Multi_key" --msgstr "keyboard label|Multi_key" -- --#: ../src/keyname-table.h:3948 --msgid "keyboard label|Home" --msgstr "keyboard label|Home" -- --#: ../src/keyname-table.h:3949 --msgid "keyboard label|Left" --msgstr "keyboard label|Left" -- --#: ../src/keyname-table.h:3950 --msgid "keyboard label|Up" --msgstr "keyboard label|Up" -- --#: ../src/keyname-table.h:3951 --msgid "keyboard label|Right" --msgstr "keyboard label|Right" -- --#: ../src/keyname-table.h:3952 --msgid "keyboard label|Down" --msgstr "keyboard label|Down" -- --#: ../src/keyname-table.h:3953 --msgid "keyboard label|Page_Up" --msgstr "keyboard label|Page_Up" -- --#: ../src/keyname-table.h:3954 --msgid "keyboard label|Page_Down" --msgstr "keyboard label|Page_Down" -- --#: ../src/keyname-table.h:3955 --msgid "keyboard label|End" --msgstr "keyboard label|End" -- --#: ../src/keyname-table.h:3956 --msgid "keyboard label|Begin" --msgstr "keyboard label|Begin" -- --#: ../src/keyname-table.h:3957 --msgid "keyboard label|Print" --msgstr "keyboard label|Print" -- --#: ../src/keyname-table.h:3958 --msgid "keyboard label|Insert" --msgstr "keyboard label|Insert" -- --#: ../src/keyname-table.h:3959 --msgid "keyboard label|Num_Lock" --msgstr "keyboard label|Num_Lock" -- --#: ../src/keyname-table.h:3960 --msgid "keyboard label|KP_Space" --msgstr "keyboard label|KP_Space" -- --#: ../src/keyname-table.h:3961 --msgid "keyboard label|KP_Tab" --msgstr "keyboard label|KP_Tab" -- --#: ../src/keyname-table.h:3962 --msgid "keyboard label|KP_Enter" --msgstr "keyboard label|KP_Enter" -- --#: ../src/keyname-table.h:3963 --msgid "keyboard label|KP_Home" --msgstr "keyboard label|KP_Home" -- --#: ../src/keyname-table.h:3964 --msgid "keyboard label|KP_Left" --msgstr "keyboard label|KP_Left" -- --#: ../src/keyname-table.h:3965 --msgid "keyboard label|KP_Up" --msgstr "keyboard label|KP_Up" -- --#: ../src/keyname-table.h:3966 --msgid "keyboard label|KP_Right" --msgstr "keyboard label|KP_Right" -- --#: ../src/keyname-table.h:3967 --msgid "keyboard label|KP_Down" --msgstr "keyboard label|KP_Down" -- --#: ../src/keyname-table.h:3968 --msgid "keyboard label|KP_Page_Up" --msgstr "keyboard label|KP_Page_Up" -- --#: ../src/keyname-table.h:3969 --msgid "keyboard label|KP_Prior" --msgstr "keyboard label|KP_Prior" -- --#: ../src/keyname-table.h:3970 --msgid "keyboard label|KP_Page_Down" --msgstr "keyboard label|KP_Page_Down" -- --#: ../src/keyname-table.h:3971 --msgid "keyboard label|KP_Next" --msgstr "keyboard label|KP_Next" -- --#: ../src/keyname-table.h:3972 --msgid "keyboard label|KP_End" --msgstr "keyboard label|KP_End" -- --#: ../src/keyname-table.h:3973 --msgid "keyboard label|KP_Begin" --msgstr "keyboard label|KP_Begin" -- --#: ../src/keyname-table.h:3974 --msgid "keyboard label|KP_Insert" --msgstr "keyboard label|KP_Insert" -- --#: ../src/keyname-table.h:3975 --msgid "keyboard label|KP_Delete" --msgstr "keyboard label|KP_Delete" -- --#: ../src/keyname-table.h:3976 --msgid "keyboard label|Delete" --msgstr "keyboard label|Delete" -+#: ../bus/ibus.desktop.in.h:2 ../ui/gtk/panel.py:97 -+msgid "IBus input method framework" -+msgstr "IBus input method framework" - - #: ../ibus/lang.py:40 ../ui/gtk/panel.py:307 ../ui/gtk/panel.py:308 - #: ../ui/gtk/panel.py:309 ../ui/gtk/panel.py:310 - msgid "Other" - msgstr "অন্য" - --#: ../ui/gtk/panel.py:97 --msgid "IBus input method framework" --msgstr "IBus input method framework" -- - #: ../ui/gtk/panel.py:282 - msgid "Restart" - msgstr "পুনৰাৰম্ভ" -@@ -191,25 +47,24 @@ msgstr "অমিতাক্ষ ফুকন (aphukan@fedoraproject.org)" - - #. create input methods menu - #: ../ui/gtk/languagebar.py:84 --msgid "Switch engine" --msgstr "কলঘৰ সলনি কৰক" -+msgid "Switch input method" -+msgstr "নিবেশ পদ্ধতি সলনি কৰক" - - #: ../setup/main.py:103 - msgid "trigger" - msgstr "ট্ৰিগাৰ" - - #: ../setup/main.py:113 --msgid "next engine" --msgstr "পিছৰ কলঘৰ" -+msgid "next input method" -+msgstr "পিছৰ নিবেশ পদ্ধতি" - - #: ../setup/main.py:123 --msgid "prev engine" --msgstr "আগৰ কলঘৰ" -+msgid "previous input method" -+msgstr "আগৰ নিবেশ পদ্ধতি" - - #: ../setup/main.py:204 - msgid "IBus daemon is not started. Do you want to start it now?" --msgstr "" --"IBus ডেমন আৰম্ভ কৰা হোৱা নাই । আপুনি ইয়াক এতিয়া আৰম্ভ কৰিব বিচাৰে নেকি ?" -+msgstr "IBus ডেমন আৰম্ভ কৰা হোৱা নাই । আপুনি ইয়াক এতিয়া আৰম্ভ কৰিব বিচাৰে নেকি ?" - - #: ../setup/main.py:219 - msgid "" -@@ -219,8 +74,8 @@ msgid "" - " 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" -@@ -318,7 +173,7 @@ msgstr "" - "অনুভূমিক\n" - "উলম্ব" - --#: ../setup/setup.glade.h:19 -+#: ../setup/setup.glade.h:19 ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus পছন্দ" - -@@ -341,21 +196,21 @@ msgid "Next input method:" - msgstr "পিছৰ নিবেশ পদ্ধতি:" - - #: ../setup/setup.glade.h:25 -+msgid "Previous input method:" -+msgstr "আগৰ নিবেশ পদ্ধতি" -+ -+#: ../setup/setup.glade.h:26 - msgid "Show language panel:" - msgstr "ভাষাৰ পেনেল দেখুৱাওক:" - --#: ../setup/setup.glade.h:26 -+#: ../setup/setup.glade.h:27 - msgid "Start ibus on login" - msgstr "প্ৰৱেশত ibus আৰম্ভ কৰক" - --#: ../setup/setup.glade.h:27 -+#: ../setup/setup.glade.h:28 - msgid "Use custom font" - msgstr "স্বনিৰ্বাচিত ফন্ট ব্যৱহাৰ কৰা হ'ব" - --#: ../setup/setup.glade.h:28 --msgid "previous input method:" --msgstr "আগৰ নিবেশ পদ্ধতি:" -- - #: ../data/ibus.schemas.in.h:1 - msgid "Auto Hide" - msgstr "স্বয়ংক্ৰিয়ভাবে লুকাওক" -@@ -405,8 +260,7 @@ msgid "" - "The behavior of language panel. 0 = Always hide, 1 = Auto hide, 2 = Always " - "show" - msgstr "" --"ভাষাৰ পেনেলৰ আচৰণ । ০ = সদায় লুকাওক, ১ = স্বয়ংক্ৰিয়ভাবে লুকাওক, ২ = সদায় " --"দেখুৱাওক" -+"ভাষাৰ পেনেলৰ আচৰণ । ০ = সদায় লুকাওক, ১ = স্বয়ংক্ৰিয়ভাবে লুকাওক, ২ = সদায় দেখুৱাওক" - - #: ../data/ibus.schemas.in.h:13 - msgid "Trigger Hotkey" -@@ -428,4 +282,122 @@ msgstr "ভাষাৰ পেনেলৰ বাবে স্বনিৰ্ব - msgid "[Control+space]" - msgstr "[Control+space]" - -+#~ msgid "keyboard label|BackSpace" -+#~ msgstr "keyboard label|BackSpace" -+ -+#~ msgid "keyboard label|Tab" -+#~ msgstr "keyboard label|Tab" -+ -+#~ msgid "keyboard label|Return" -+#~ msgstr "keyboard label|Return" -+ -+#~ msgid "keyboard label|Pause" -+#~ msgstr "keyboard label|Pause" -+ -+#~ msgid "keyboard label|Scroll_Lock" -+#~ msgstr "keyboard label|Scroll_Lock" -+ -+#~ msgid "keyboard label|Sys_Req" -+#~ msgstr "keyboard label|Sys_Req" -+ -+#~ msgid "keyboard label|Escape" -+#~ msgstr "keyboard label|Escape" -+ -+#~ msgid "keyboard label|Multi_key" -+#~ msgstr "keyboard label|Multi_key" -+ -+#~ msgid "keyboard label|Home" -+#~ msgstr "keyboard label|Home" -+ -+#~ msgid "keyboard label|Left" -+#~ msgstr "keyboard label|Left" -+ -+#~ msgid "keyboard label|Up" -+#~ msgstr "keyboard label|Up" -+ -+#~ msgid "keyboard label|Right" -+#~ msgstr "keyboard label|Right" -+ -+#~ msgid "keyboard label|Down" -+#~ msgstr "keyboard label|Down" -+ -+#~ msgid "keyboard label|Page_Up" -+#~ msgstr "keyboard label|Page_Up" -+ -+#~ msgid "keyboard label|Page_Down" -+#~ msgstr "keyboard label|Page_Down" -+ -+#~ msgid "keyboard label|End" -+#~ msgstr "keyboard label|End" -+ -+#~ msgid "keyboard label|Begin" -+#~ msgstr "keyboard label|Begin" -+ -+#~ msgid "keyboard label|Print" -+#~ msgstr "keyboard label|Print" -+ -+#~ msgid "keyboard label|Insert" -+#~ msgstr "keyboard label|Insert" -+ -+#~ msgid "keyboard label|Num_Lock" -+#~ msgstr "keyboard label|Num_Lock" -+ -+#~ msgid "keyboard label|KP_Space" -+#~ msgstr "keyboard label|KP_Space" -+ -+#~ msgid "keyboard label|KP_Tab" -+#~ msgstr "keyboard label|KP_Tab" -+ -+#~ msgid "keyboard label|KP_Enter" -+#~ msgstr "keyboard label|KP_Enter" -+ -+#~ msgid "keyboard label|KP_Home" -+#~ msgstr "keyboard label|KP_Home" -+ -+#~ msgid "keyboard label|KP_Left" -+#~ msgstr "keyboard label|KP_Left" -+ -+#~ msgid "keyboard label|KP_Up" -+#~ msgstr "keyboard label|KP_Up" -+ -+#~ msgid "keyboard label|KP_Right" -+#~ msgstr "keyboard label|KP_Right" -+ -+#~ msgid "keyboard label|KP_Down" -+#~ msgstr "keyboard label|KP_Down" -+ -+#~ msgid "keyboard label|KP_Page_Up" -+#~ msgstr "keyboard label|KP_Page_Up" -+ -+#~ msgid "keyboard label|KP_Prior" -+#~ msgstr "keyboard label|KP_Prior" -+ -+#~ msgid "keyboard label|KP_Page_Down" -+#~ msgstr "keyboard label|KP_Page_Down" -+ -+#~ msgid "keyboard label|KP_Next" -+#~ msgstr "keyboard label|KP_Next" -+ -+#~ msgid "keyboard label|KP_End" -+#~ msgstr "keyboard label|KP_End" -+ -+#~ msgid "keyboard label|KP_Begin" -+#~ msgstr "keyboard label|KP_Begin" -+ -+#~ msgid "keyboard label|KP_Insert" -+#~ msgstr "keyboard label|KP_Insert" -+ -+#~ msgid "keyboard label|KP_Delete" -+#~ msgstr "keyboard label|KP_Delete" -+ -+#~ msgid "keyboard label|Delete" -+#~ msgstr "keyboard label|Delete" -+ -+#~ msgid "Switch engine" -+#~ msgstr "কলঘৰ সলনি কৰক" -+ -+#~ msgid "next engine" -+#~ msgstr "পিছৰ কলঘৰ" - -+#~ msgid "prev engine" -+#~ msgstr "আগৰ কলঘৰ" -diff --git a/po/te.po b/po/te.po -index 3b8c0da..9c65afd 100644 ---- a/po/te.po -+++ b/po/te.po -@@ -1,21 +1,21 @@ --# translation of ibus.master.ibus.po to Telugu -+# translation of ibus.master.te.po to Telugu - # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER - # This file is distributed under the same license as the PACKAGE package. - # - # Krishna Babu K , 2009. - msgid "" - msgstr "" --"Project-Id-Version: ibus.master.ibus\n" -+"Project-Id-Version: ibus.master.te\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2009-04-07 15:38+0800\n" --"PO-Revision-Date: 2009-04-07 00:39+0530\n" -+"POT-Creation-Date: 2009-04-06 11:45+0800\n" -+"PO-Revision-Date: 2009-04-14 15:04+0530\n" - "Last-Translator: Krishna Babu K \n" - "Language-Team: Telugu \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "X-Generator: KBabel 1.11.4\n" --"Plural-Forms: nplurals=2; plural=(n!=1);\n" -+"Plural-Forms: nplurals=2; plural=(n!=1);\n\n" - "\n" - - #: ../bus/ibus.desktop.in.h:1 -@@ -49,23 +49,20 @@ msgstr "కృష్ణబాబు కె 2009." - - #. create input methods menu - #: ../ui/gtk/languagebar.py:84 --#, fuzzy - msgid "Switch input method" --msgstr "ఎటువంటి ఇన్పుట్ పద్దతిలేదు" -+msgstr "ఇన్పుట్ పద్దతి మార్చుము" - - #: ../setup/main.py:103 - msgid "trigger" - msgstr "బిస (ట్రిగ్గర్)" - - #: ../setup/main.py:113 --#, fuzzy - msgid "next input method" --msgstr "తరువాతి ఇన్పుట్ పద్దతి:" -+msgstr "తరువాతి ఇన్పుట్ పద్దతి" - - #: ../setup/main.py:123 --#, fuzzy - msgid "previous input method" --msgstr "మునుపటి ఇన్పుట్ పద్దతి:" -+msgstr "మునుపటి ఇన్పుట్ పద్దతి" - - #: ../setup/main.py:204 - msgid "IBus daemon is not started. Do you want to start it now?" -@@ -201,7 +198,6 @@ msgid "Next input method:" - msgstr "తరువాతి ఇన్పుట్ పద్దతి:" - - #: ../setup/setup.glade.h:25 --#, fuzzy - msgid "Previous input method:" - msgstr "మునుపటి ఇన్పుట్ పద్దతి:" - -@@ -285,14 +281,7 @@ msgstr "మలచుకొనిన ఫాంటు వుపయోగించ - msgid "Use custom font name for language panel" - msgstr "భాషా ప్యానల్ కొరకు మలచుకొనిన ఫాంట్ నామము వుపయోగించుము" - --#~ msgid "Switch engine" --#~ msgstr "ఇంజన్‌ను మార్చుము" -- --#~ msgid "next engine" --#~ msgstr "తరువాతి యింజన్" -- --#~ msgid "prev engine" --#~ msgstr "మునుపటి యింజన్" -+#: ../data/ibus.schemas.in.h:17 -+msgid "[Control+space]" -+msgstr "[Control+space]" + g_signal_emit (context, + context_signals[REGISTER_PROPERTIES], + 0, +- priv->props); ++ props); + } + } --#~ msgid "[Control+space]" --#~ msgstr "[Control+space]" -diff --git a/setup/keyboardshortcut.py b/setup/keyboardshortcut.py -index a9e2233..f954343 100644 ---- a/setup/keyboardshortcut.py -+++ b/setup/keyboardshortcut.py -@@ -27,6 +27,7 @@ __all__ = ( +@@ -1680,14 +1660,6 @@ bus_input_context_update_property (BusInputContext *context, + BusInputContextPrivate *priv; + priv = BUS_INPUT_CONTEXT_GET_PRIVATE (context); + +- if (priv->props == props_empty) { +- return; +- } +- +- if (!ibus_prop_list_update_property (priv->props, prop)) { +- return; +- } +- + if (priv->capabilities & IBUS_CAP_PROPERTY) { + bus_input_context_send_signal (context, + "UpdateProperty", +diff --git a/setup/enginetreeview.py b/setup/enginetreeview.py +index 0f971dd..4ee403d 100644 +--- a/setup/enginetreeview.py ++++ b/setup/enginetreeview.py +@@ -22,6 +22,7 @@ + import gtk + import glib import gobject ++import pango + import ibus + + from icon import load_icon +@@ -96,6 +97,12 @@ class EngineTreeView(gtk.TreeView): + renderer.set_property("sensitive", True) + language = ibus.get_language_name(engine.language) + renderer.set_property("text", "%s - %s" % (language, engine.longname)) ++ if self.__model.get_path(iter)[0] == 0: ++ #default engine ++ renderer.set_property("weight", pango.WEIGHT_BOLD) ++ else: ++ renderer.set_property("weight", pango.WEIGHT_NORMAL) ++ + + def set_engines(self, engines): + self.__model.clear() +@@ -132,6 +139,14 @@ class EngineTreeView(gtk.TreeView): + self.__engines.add(engine) + self.scroll_to_cell(self.__model[0].path, None) + ++ def append_engine(self, engine): ++ if engine == None or engine in self.__engines: ++ return ++ iter = self.__model.append(None) ++ self.__model.set(iter, 0, engine) ++ self.__engines.add(engine) ++ self.scroll_to_cell(self.__model[-1].path, None) ++ + def remove_engine(self): + iter = self.get_selected_iter() + if iter == None: +diff --git a/setup/main.py b/setup/main.py +index 3e6db39..8aea11b 100644 +--- a/setup/main.py ++++ b/setup/main.py +@@ -22,6 +22,7 @@ + import locale + import gettext + import os ++import signal + import sys + import time import gtk - from gtk import gdk -+from gtk import keysyms - - from gettext import dgettext - _ = lambda a : dgettext("ibus", a) -@@ -217,8 +218,29 @@ class KeyboardShortcutSelection(gtk.VBox): - if id != gtk.RESPONSE_OK or not out: - return - keyevent = out[0] -+ state = keyevent.state & (gdk.CONTROL_MASK | \ -+ gdk.SHIFT_MASK | \ -+ gdk.MOD1_MASK | \ -+ gdk.META_MASK | \ -+ gdk.SUPER_MASK | \ -+ gdk.HYPER_MASK) -+ if state == 0: -+ state = state | gdk.RELEASE_MASK -+ elif keyevent.keyval in (keysyms.Control_L, keysyms.Control_R) and state == gdk.CONTROL_MASK: -+ state = state | gdk.RELEASE_MASK -+ elif keyevent.keyval in (keysyms.Shift_L, keysyms.Shift_R) and state == gdk.SHIFT_MASK: -+ state = state | gdk.RELEASE_MASK -+ elif keyevent.keyval in (keysyms.Alt_L, keysyms.Alt_R) and state == gdk.MOD1_MASK: -+ state = state | gdk.RELEASE_MASK -+ elif keyevent.keyval in (keysyms.Meta_L, keysyms.Meta_R) and state == gdk.META_MASK: -+ state = state | gdk.RELEASE_MASK -+ elif keyevent.keyval in (keysyms.Super_L, keysyms.Super_R) and state == gdk.SUPER_MASK: -+ state = state | gdk.RELEASE_MASK -+ elif keyevent.keyval in (keysyms.Hyper_L, keysyms.Hyper_R) and state == gdk.HYPER_MASK: -+ state = state | gdk.RELEASE_MASK -+ - for name, button, mask in self.__modifier_buttons: -- if keyevent.state & mask: -+ if state & mask: - button.set_active(True) - else: - button.set_active(False) -diff --git a/src/ibusbus.c b/src/ibusbus.c -index 373e5d4..756f8e5 100644 ---- a/src/ibusbus.c -+++ b/src/ibusbus.c -@@ -220,14 +220,17 @@ ibus_bus_init (IBusBus *bus) - - ibus_bus_connect (bus); - -- path = g_strdup_printf ("/tmp/ibus-%s/", ibus_get_user_name ()); -+ path = ibus_get_socket_folder (); -+ mkdir (path, 0700); -+ chmod (path, 0700); -+ -+ - file = g_file_new_for_path (path); - priv->monitor = g_file_monitor_directory (file, 0, NULL, NULL); - - g_signal_connect (priv->monitor, "changed", (GCallback) _changed_cb, bus); - - g_object_unref (file); -- g_free (path); - } - - static void -diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c -index 95754cf..52547ff 100644 ---- a/src/ibusinputcontext.c -+++ b/src/ibusinputcontext.c -@@ -553,7 +553,10 @@ ibus_input_context_process_key_event (IBusInputContext *context, - IBusError *error = NULL; - gboolean retval; - -- if (state & IBUS_FORWARD_MASK) -+ if (state & IBUS_HANDLED_MASK) -+ return TRUE; -+ -+ if (state & IBUS_IGNORED_MASK) - return FALSE; - - retval = ibus_proxy_call_with_reply ((IBusProxy *) context, -diff --git a/src/ibusshare.c b/src/ibusshare.c -index c7aa1fe..186be85 100644 ---- a/src/ibusshare.c -+++ b/src/ibusshare.c -@@ -69,6 +69,31 @@ ibus_get_user_name (void) - } - - const gchar * -+ibus_get_session_id (void) -+{ -+ return g_getenv("IBUS_SESSION_ID"); -+} -+ -+const gchar * -+ibus_get_socket_folder (void) -+{ -+ static gchar *folder = NULL; -+ -+ if (folder == NULL) { -+ const gchar *session = ibus_get_session_id (); -+ if (session && session[0] != '\0') { -+ folder = g_strdup_printf ("/tmp/ibus-%s-%s", -+ ibus_get_user_name (), session); -+ } -+ else { -+ folder = g_strdup_printf ("/tmp/ibus-%s", -+ ibus_get_user_name ()); -+ } -+ } -+ return folder; -+} -+ -+const gchar * - ibus_get_socket_path (void) - { - static gchar *path = NULL; -@@ -78,7 +103,7 @@ ibus_get_socket_path (void) - gchar *display; - gchar *displaynumber = "0"; - gchar *screennumber = "0"; -- const gchar *username = NULL; -+ const gchar *folder= NULL; - gchar *p; - - if (_display == NULL) { -@@ -111,14 +136,14 @@ ibus_get_socket_path (void) - } - } - -- username = ibus_get_user_name (); -+ folder = ibus_get_socket_folder (); - - if (hostname[0] == '\0') - hostname = "unix"; - - path = g_strdup_printf ( -- "/tmp/ibus-%s/ibus-%s-%s", -- username, hostname, displaynumber); -+ "%s/ibus-%s-%s", -+ folder, hostname, displaynumber); - g_free (display); - } - return path; -diff --git a/src/ibusshare.h b/src/ibusshare.h -index f3b34c4..4c0c645 100644 ---- a/src/ibusshare.h -+++ b/src/ibusshare.h -@@ -49,6 +49,7 @@ void ibus_set_display (const gchar *display); - const gchar *ibus_get_address (void); - const gchar *ibus_get_user_name (void); - const gchar *ibus_get_socket_path (void); -+const gchar *ibus_get_socket_folder (void); - - const gchar *ibus_keyval_name (guint keyval); - guint ibus_keyval_from_name (const gchar *keyval_name); -diff --git a/src/ibustypes.h b/src/ibustypes.h -index d2f15ba..2f7c0bf 100644 ---- a/src/ibustypes.h -+++ b/src/ibustypes.h -@@ -69,11 +69,13 @@ typedef enum - IBUS_BUTTON5_MASK = 1 << 12, - - /* The next few modifiers are used by XKB, so we skip to the end. -- * Bits 15 - 24 are currently unused. Bit 29 is used internally. -+ * Bits 15 - 23 are currently unused. Bit 29 is used internally. - */ - -- /* forward mask */ -+ /* ibus mask */ -+ IBUS_HANDLED_MASK = 1 << 24, - IBUS_FORWARD_MASK = 1 << 25, -+ IBUS_IGNORED_MASK = IBUS_FORWARD_MASK, - - IBUS_SUPER_MASK = 1 << 26, - IBUS_HYPER_MASK = 1 << 27, +@@ -177,7 +178,7 @@ class Setup(object): + + button = self.__xml.get_widget("button_engine_add") + button.connect("clicked", +- lambda *args:self.__treeview.prepend_engine(self.__combobox.get_active_engine())) ++ lambda *args:self.__treeview.append_engine(self.__combobox.get_active_engine())) + button = self.__xml.get_widget("button_engine_remove") + button.connect("clicked", lambda *args:self.__treeview.remove_engine()) + button = self.__xml.get_widget("button_engine_up") +@@ -361,9 +362,14 @@ class Setup(object): + def __config_reloaded_cb(self, bus): + pass + ++ def __sigusr1_cb(self, *args): ++ self.__window.present() ++ + def run(self): + self.__window.show_all() ++ signal.signal(signal.SIGUSR1, self.__sigusr1_cb) + gtk.main() + + if __name__ == "__main__": +- Setup().run() ++ setup = Setup() ++ setup.run() +diff --git a/ui/gtk/panel.py b/ui/gtk/panel.py +index 2640c65..534a394 100644 +--- a/ui/gtk/panel.py ++++ b/ui/gtk/panel.py +@@ -404,6 +404,7 @@ class Panel(ibus.PanelBase): + if self.__setup_pid != 0: + pid, state = os.waitpid(self.__setup_pid, os.P_NOWAIT) + if pid != self.__setup_pid: ++ os.kill(self.__setup_pid, signal.SIGUSR1) + return + self.__setup_pid = 0 + self.__setup_pid = os.spawnl(os.P_NOWAIT, self.__setup_cmd, "ibus-setup") diff --git a/ibus.spec b/ibus.spec index c50a26e..d3c8cb2 100644 --- a/ibus.spec +++ b/ibus.spec @@ -8,14 +8,14 @@ Name: ibus Version: 1.1.0.20090508 -Release: 2%{?dist} +Release: 3%{?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) @@ -114,7 +114,7 @@ The ibus-devel-docs package contains developer documentation for ibus %prep %setup -q -# %patch0 -p1 +%patch0 -p1 # ./autogen.sh --help %build @@ -228,6 +228,12 @@ fi %{_datadir}/gtk-doc/html/* %changelog +* Mon May 25 2009 Huang Peng - 1.1.0.20090508-3 +- Update ibus-HEAD.patch. +- Fix bug 501211 - ibus-setup window should be raised if running or just stay on top/grab focus +- Fix bug 501640 - ibus should adds new IMEs at end of engine list not beginning +- Fix bug 501644 - [IBus] focus-out and disabled IME should hide language panel + * Thu May 14 2009 Huang Peng - 1.1.0.20090508-2 - Remove requires notification-daemon - Fix bug 500588 - Hardcoded requirement for notification-daemon