diff --git a/.cvsignore b/.cvsignore index 6e79ad9..d8e7c17 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-1.1.0.20090413.tar.gz +ibus-1.1.0.20090417.tar.gz diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch index e5c2a36..e69de29 100644 --- a/ibus-HEAD.patch +++ b/ibus-HEAD.patch @@ -1,857 +0,0 @@ -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 ---- 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; - -- 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); - - if (!retval) { - g_printerr ("Can not listen on %s! Please try remove directory %s and run again.", address, path); - exit (-1); - } - -- g_free(path); - return retval; - } - -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; - } - - 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); -+ } - } - 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]" - --#~ 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__ = ( - import gobject - 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, diff --git a/ibus.spec b/ibus.spec index c1694ac..eae0a65 100644 --- a/ibus.spec +++ b/ibus.spec @@ -7,15 +7,15 @@ %define im_chooser_version 1.2.5 Name: ibus -Version: 1.1.0.20090413 -Release: 4%{?dist} +Version: 1.1.0.20090417 +Release: 1%{?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) @@ -105,7 +105,7 @@ docs for ibus. %prep %setup -q -%patch0 -p1 +# %patch0 -p1 # ./autogen.sh --help %build @@ -217,6 +217,10 @@ fi %{_libdir}/pkgconfig/* %changelog +* Fri Apr 17 2009 Huang Peng - 1.1.0.20090417-1 +- Update to ibus-1.1.0.20090417. +- Fix bug 496199 - cannot remove Ctrl+Space hotkey with ibus-setup + * Fri Apr 17 2009 Huang Peng - 1.1.0.20090413-4 - Update ibus-HEAD.patch. - Next Engine hotkey will do nothing if the IM is not active. diff --git a/sources b/sources index e54f3bf..a66de6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -80d8bf601bd1e00da26bfdeb59ca8bce ibus-1.1.0.20090413.tar.gz +70b037b1476cb6bafa29656523e0c8c4 ibus-1.1.0.20090417.tar.gz