858 lines
26 KiB
Diff
858 lines
26 KiB
Diff
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 @@
|
||
<owner>ibus</owner>
|
||
<type>list</type>
|
||
<list_type>string</list_type>
|
||
- <default>[Control+space,Zenkaku_Hankaku,Alt+Zenkaku_Hankaku,Alt+grave,Hangul]</default>
|
||
+ <default>[Control+space,Zenkaku_Hankaku,Alt+Zenkaku_Hankaku,Alt+grave,Hangul,Alt+Release+Alt_R]</default>
|
||
<locale name="C">
|
||
<short>Trigger Hotkey</short>
|
||
<long>Trigger hotkey for enable or disable input context</long>
|
||
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 <aphukan@fedoraproject.org>\n"
|
||
"Language-Team: Assamese <fedora-trans-as@redhat.com>\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 <kkrothap@redhat.com>, 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 <kkrothap@redhat.com>\n"
|
||
"Language-Team: Telugu <en@li.org>\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 "కృష్ణబాబు కె <kkrothap@redhat.com> 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,
|