From 902bd5e99d37eb95c980c8a27c0f7ad4a61649ee Mon Sep 17 00:00:00 2001 From: Peng Huang Date: Tue, 28 Apr 2009 05:41:12 +0000 Subject: [PATCH] Port F-11 branch to devel --- .cvsignore | 2 +- ibus-HEAD.patch | 857 ++++++++++++++++++++++++++++++++++++++++++++++++ sources | 2 +- 3 files changed, 859 insertions(+), 2 deletions(-) diff --git a/.cvsignore b/.cvsignore index d8e7c17..282ebbd 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ibus-1.1.0.20090417.tar.gz +ibus-1.1.0.20090423.tar.gz diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch index e69de29..e5c2a36 100644 --- a/ibus-HEAD.patch +++ b/ibus-HEAD.patch @@ -0,0 +1,857 @@ +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/sources b/sources index a66de6f..a1c83e7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -70b037b1476cb6bafa29656523e0c8c4 ibus-1.1.0.20090417.tar.gz +7c04c5244e6b5c392590d62f09443682 ibus-1.1.0.20090423.tar.gz