Bumped to 1.4.99.20120822
- Fixed Bug 845956 - ibus backward trigger key is not customized - Fixed Bug 844580 - ibus-dconf does not load the system gvdb
This commit is contained in:
parent
312fbb7455
commit
fd3eb3dac0
2
.gitignore
vendored
2
.gitignore
vendored
@ -20,6 +20,7 @@ ibus-1.3.6.tar.gz
|
||||
/ibus-1.4.99.20120317.tar.gz
|
||||
/ibus-1.4.99.20120428.tar.gz
|
||||
/ibus-1.4.99.20120712.tar.gz
|
||||
/ibus-1.4.99.20120822.tar.gz
|
||||
/ibus-gjs-3.0.2.20110823.tar.gz
|
||||
/ibus-gjs-3.1.4.20110823.tar.gz
|
||||
/ibus-gjs-3.0.2.20110908.tar.gz
|
||||
@ -44,3 +45,4 @@ ibus-1.3.6.tar.gz
|
||||
/ibus-gjs-3.3.92.20120327.tar.gz
|
||||
/ibus-gjs-3.4.1.20120428.tar.gz
|
||||
/ibus-gjs-3.4.1.20120518.tar.gz
|
||||
/ibus-gjs-3.4.1.20120815.tar.gz
|
||||
|
@ -1,6 +1,6 @@
|
||||
From 9be5aced5397e3558870e4aa1a446e1aacc1730c Mon Sep 17 00:00:00 2001
|
||||
From e035e26100e9495ab83a6c3739448c3b5349321c Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Tue, 17 Jul 2012 17:43:03 +0900
|
||||
Date: Wed, 15 Aug 2012 18:24:59 +0900
|
||||
Subject: [PATCH] Reload preload engines until users customize the list.
|
||||
|
||||
The idea is, if users don't customize the preload_engines with ibus-setup,
|
||||
@ -25,7 +25,7 @@ IBUS_PRELOAD_ENGINE_MODE_USER and users can customize the value
|
||||
5 files changed, 246 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
|
||||
index 3591687..0d127d5 100644
|
||||
index 07169ae..4086f67 100644
|
||||
--- a/data/ibus.schemas.in
|
||||
+++ b/data/ibus.schemas.in
|
||||
@@ -2,6 +2,30 @@
|
||||
@ -207,10 +207,10 @@ index 8121d62..2026172 100644
|
||||
</child>
|
||||
</object>
|
||||
diff --git a/src/ibustypes.h b/src/ibustypes.h
|
||||
index d916265..422eb84 100644
|
||||
index 737b3e2..8ce5a16 100644
|
||||
--- a/src/ibustypes.h
|
||||
+++ b/src/ibustypes.h
|
||||
@@ -198,6 +198,16 @@ typedef enum {
|
||||
@@ -204,6 +204,16 @@ typedef enum {
|
||||
} IBusError;
|
||||
|
||||
/**
|
||||
@ -228,19 +228,19 @@ index d916265..422eb84 100644
|
||||
* @x: x coordinate.
|
||||
* @y: y coordinate.
|
||||
diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
|
||||
index 2ecd48b..24acd4c 100644
|
||||
index 06d1e44..3464ba8 100644
|
||||
--- a/ui/gtk3/panel.vala
|
||||
+++ b/ui/gtk3/panel.vala
|
||||
@@ -279,6 +279,8 @@ class Panel : IBus.PanelService {
|
||||
@@ -298,6 +298,8 @@ class Panel : IBus.PanelService {
|
||||
if (m_config != null) {
|
||||
m_config.value_changed.connect(config_value_changed_cb);
|
||||
m_config.watch("general", "preload_engines");
|
||||
+ m_config.watch("general", "preload_engines_inited");
|
||||
+ m_config.watch("general", "preload_engine_mode");
|
||||
m_config.watch("general", "engines_order");
|
||||
m_config.watch("panel", "custom_font");
|
||||
m_config.watch("panel", "use_custom_font");
|
||||
@@ -338,7 +340,136 @@ class Panel : IBus.PanelService {
|
||||
m_config.watch("general/hotkey", "trigger_accel");
|
||||
m_config.watch("general/hotkey", "trigger_accel_backward");
|
||||
@@ -359,7 +361,136 @@ class Panel : IBus.PanelService {
|
||||
init_gkbd();
|
||||
}
|
||||
|
||||
@ -377,7 +377,7 @@ index 2ecd48b..24acd4c 100644
|
||||
}
|
||||
|
||||
private void update_xkb_engines() {
|
||||
@@ -499,6 +630,11 @@ class Panel : IBus.PanelService {
|
||||
@@ -520,6 +651,11 @@ class Panel : IBus.PanelService {
|
||||
string section,
|
||||
string name,
|
||||
Variant variant) {
|
||||
|
@ -1,12 +1,12 @@
|
||||
From 184f68d12049e8554fe7e44d1ca1b53f0f391f07 Mon Sep 17 00:00:00 2001
|
||||
From 8023a9fcfe7d15a3233f56bfafe182c6555ef70e Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Tue, 17 Jul 2012 17:42:49 +0900
|
||||
Date: Wed, 15 Aug 2012 18:24:41 +0900
|
||||
Subject: [PATCH] Add ibus-xkb and libgnomekbd.
|
||||
|
||||
---
|
||||
client/x11/gdk-private.c | 3 +-
|
||||
configure.ac | 60 +++++
|
||||
data/ibus.schemas.in | 102 ++++++++
|
||||
data/ibus.schemas.in | 94 +++++++
|
||||
engine/Makefile.am | 6 +
|
||||
engine/ibus-xkb/Makefile.am | 64 +++++
|
||||
engine/ibus-xkb/ibus-xkb-main.c | 111 ++++++++
|
||||
@ -26,10 +26,11 @@ Subject: [PATCH] Add ibus-xkb and libgnomekbd.
|
||||
ui/gtk3/Xkl-1.0.metadata | 3 +
|
||||
ui/gtk3/gkbdlayout.vala.false | 63 +++++
|
||||
ui/gtk3/gkbdlayout.vala.true | 111 ++++++++
|
||||
ui/gtk3/panel.vala | 356 ++++++++++++++++++++++----
|
||||
ui/gtk3/switcher.vala | 47 ++--
|
||||
ui/gtk3/keybindingmanager.vala | 14 +-
|
||||
ui/gtk3/panel.vala | 364 +++++++++++++++++++++++----
|
||||
ui/gtk3/switcher.vala | 49 ++--
|
||||
ui/gtk3/xkblayout.vala | 466 ++++++++++++++++++++++++++++++++++
|
||||
25 files changed, 2518 insertions(+), 608 deletions(-)
|
||||
26 files changed, 2539 insertions(+), 603 deletions(-)
|
||||
create mode 100644 engine/ibus-xkb/Makefile.am
|
||||
create mode 100644 engine/ibus-xkb/ibus-xkb-main.c
|
||||
create mode 100644 engine/ibus-xkb/xkblib.c
|
||||
@ -57,7 +58,7 @@ index 009a5b0..20689c3 100644
|
||||
#endif
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 8498efe..2204715 100644
|
||||
index cc7d0e0..df0d4a7 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -252,6 +252,63 @@ else
|
||||
@ -124,7 +125,7 @@ index 8498efe..2204715 100644
|
||||
# GObject introspection
|
||||
GOBJECT_INTROSPECTION_CHECK([0.6.8])
|
||||
|
||||
@@ -514,6 +571,7 @@ src/ibusversion.h
|
||||
@@ -517,6 +574,7 @@ src/ibusversion.h
|
||||
src/tests/Makefile
|
||||
bus/Makefile
|
||||
engine/Makefile
|
||||
@ -132,7 +133,7 @@ index 8498efe..2204715 100644
|
||||
engine/simple.xml.in
|
||||
util/Makefile
|
||||
util/IMdkit/Makefile
|
||||
@@ -574,5 +632,7 @@ Build options:
|
||||
@@ -577,5 +635,7 @@ Build options:
|
||||
Panel icon "$IBUS_ICON_KEYBOARD"
|
||||
Enable surrounding-text $enable_surrounding_text
|
||||
Run test cases $enable_tests
|
||||
@ -141,7 +142,7 @@ index 8498efe..2204715 100644
|
||||
])
|
||||
|
||||
diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
|
||||
index 53ba05c..3591687 100644
|
||||
index 53ba05c..07169ae 100644
|
||||
--- a/data/ibus.schemas.in
|
||||
+++ b/data/ibus.schemas.in
|
||||
@@ -26,6 +26,52 @@
|
||||
@ -197,7 +198,7 @@ index 53ba05c..3591687 100644
|
||||
<key>/schemas/desktop/ibus/general/hotkey/trigger</key>
|
||||
<applyto>/desktop/ibus/general/hotkey/trigger</applyto>
|
||||
<owner>ibus</owner>
|
||||
@@ -34,6 +80,62 @@
|
||||
@@ -34,6 +80,54 @@
|
||||
<default>[Control+space,Zenkaku_Hankaku,Alt+Kanji,Alt+grave,Hangul,Alt+Release+Alt_R]</default>
|
||||
<locale name="C">
|
||||
<short>Trigger shortcut keys</short>
|
||||
@ -217,23 +218,15 @@ index 53ba05c..3591687 100644
|
||||
+ </locale>
|
||||
+ </schema>
|
||||
+ <schema>
|
||||
+ <key>/schemas/desktop/ibus/general/hotkey/trigger_shift</key>
|
||||
+ <applyto>/desktop/ibus/general/hotkey/trigger_shift</applyto>
|
||||
+ <key>/schemas/desktop/ibus/general/hotkey/trigger_accel_backward</key>
|
||||
+ <applyto>/desktop/ibus/general/hotkey/trigger_accel_backward</applyto>
|
||||
+ <owner>ibus</owner>
|
||||
+ <type>list</type>
|
||||
+ <list_type>string</list_type>
|
||||
+ <default>[]</default>
|
||||
+ <default>[<Control><Shift>space]</default>
|
||||
+ <locale name="C">
|
||||
+ <short>This is used for gnome-shell to work shift + modifiers</short>
|
||||
+ <long>This is used for gnome-shell to work shift + modifiers
|
||||
+ Currently gnome-shell assigns the shift reverse by
|
||||
+ dconf key and the shift reverse works with modifiers.
|
||||
+ But ibus supports multiple trigger keys;
|
||||
+ <Control>space (with modifiers)
|
||||
+ Zenkaku_hankaku (without modifiers)
|
||||
+ I copy the modifier trigger keys here to set
|
||||
+ the shift reverse at the moment.
|
||||
+ </long>
|
||||
+ <short>Trigger reverse shortcut keys for gtk_accelerator_parse</short>
|
||||
+ <long>The reverse shortcut keys for turning input method on or off</long>
|
||||
+ </locale>
|
||||
+ </schema>
|
||||
+ <schema>
|
||||
@ -845,7 +838,7 @@ index 0000000..36597c3
|
||||
+G_END_DECLS
|
||||
+#endif
|
||||
diff --git a/engine/main.vala b/engine/main.vala
|
||||
index e1fd129..377fa2f 100644
|
||||
index acfa737..afadca0 100644
|
||||
--- a/engine/main.vala
|
||||
+++ b/engine/main.vala
|
||||
@@ -21,6 +21,85 @@
|
||||
@ -2584,29 +2577,93 @@ index 0000000..adacd81
|
||||
+ }
|
||||
+ */
|
||||
+}
|
||||
diff --git a/ui/gtk3/keybindingmanager.vala b/ui/gtk3/keybindingmanager.vala
|
||||
index 2e1be4a..14b3fd3 100644
|
||||
--- a/ui/gtk3/keybindingmanager.vala
|
||||
+++ b/ui/gtk3/keybindingmanager.vala
|
||||
@@ -54,15 +54,18 @@ public class KeybindingManager : GLib.Object {
|
||||
private class Keybinding {
|
||||
public Keybinding(uint keysym,
|
||||
Gdk.ModifierType modifiers,
|
||||
- KeybindingHandlerFunc handler) {
|
||||
+ KeybindingHandlerFunc handler,
|
||||
+ bool reverse) {
|
||||
this.keysym = keysym;
|
||||
this.modifiers = modifiers;
|
||||
this.handler = handler;
|
||||
+ this.reverse = reverse;
|
||||
}
|
||||
|
||||
public uint keysym { get; set; }
|
||||
public Gdk.ModifierType modifiers { get; set; }
|
||||
public unowned KeybindingHandlerFunc handler { get; set; }
|
||||
+ public bool reverse { get; set; }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,7 +73,7 @@ public class KeybindingManager : GLib.Object {
|
||||
*
|
||||
* @param event passing on gdk event
|
||||
*/
|
||||
- public delegate void KeybindingHandlerFunc(Gdk.Event event);
|
||||
+ public delegate void KeybindingHandlerFunc(Gdk.Event event, bool reverse);
|
||||
|
||||
|
||||
private KeybindingManager() {
|
||||
@@ -86,7 +89,8 @@ public class KeybindingManager : GLib.Object {
|
||||
*/
|
||||
public bool bind(uint keysym,
|
||||
Gdk.ModifierType modifiers,
|
||||
- KeybindingHandlerFunc handler) {
|
||||
+ KeybindingHandlerFunc handler,
|
||||
+ bool reverse) {
|
||||
unowned X.Display display = Gdk.x11_get_default_xdisplay();
|
||||
|
||||
int keycode = display.keysym_to_keycode(keysym);
|
||||
@@ -97,7 +101,7 @@ public class KeybindingManager : GLib.Object {
|
||||
grab_keycode (Gdk.Display.get_default(), keysym, modifiers);
|
||||
|
||||
// store binding
|
||||
- Keybinding binding = new Keybinding(keysym, modifiers, handler);
|
||||
+ Keybinding binding = new Keybinding(keysym, modifiers, handler, reverse);
|
||||
m_bindings.append(binding);
|
||||
|
||||
return true;
|
||||
@@ -211,7 +215,7 @@ public class KeybindingManager : GLib.Object {
|
||||
if (event.key.keyval != binding.keysym ||
|
||||
modifiers != binding.modifiers)
|
||||
continue;
|
||||
- binding.handler(event);
|
||||
+ binding.handler(event, binding.reverse);
|
||||
return;
|
||||
}
|
||||
}
|
||||
diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
|
||||
index 25d705d..2ecd48b 100644
|
||||
index 25d705d..06d1e44 100644
|
||||
--- a/ui/gtk3/panel.vala
|
||||
+++ b/ui/gtk3/panel.vala
|
||||
@@ -29,6 +29,17 @@ public extern const string IBUS_VERSION;
|
||||
@@ -29,6 +29,20 @@ public extern const string IBUS_VERSION;
|
||||
public extern const string BINDIR;
|
||||
|
||||
class Panel : IBus.PanelService {
|
||||
+ private class Keybinding {
|
||||
+ public Keybinding(uint keysym,
|
||||
+ Gdk.ModifierType modifiers) {
|
||||
+ Gdk.ModifierType modifiers,
|
||||
+ bool reverse) {
|
||||
+ this.keysym = keysym;
|
||||
+ this.modifiers = modifiers;
|
||||
+ this.reverse = reverse;
|
||||
+ }
|
||||
+
|
||||
+ public uint keysym { get; set; }
|
||||
+ public Gdk.ModifierType modifiers { get; set; }
|
||||
+ public bool reverse { get; set; }
|
||||
+ }
|
||||
+
|
||||
private IBus.Bus m_bus;
|
||||
private IBus.Config m_config;
|
||||
private Gtk.StatusIcon m_status_icon;
|
||||
@@ -41,10 +52,16 @@ class Panel : IBus.PanelService {
|
||||
@@ -41,10 +55,17 @@ class Panel : IBus.PanelService {
|
||||
private GLib.Pid m_setup_pid = 0;
|
||||
private Gtk.AboutDialog m_about_dialog;
|
||||
private Gtk.CssProvider m_css_provider;
|
||||
@ -2618,6 +2675,7 @@ index 25d705d..2ecd48b 100644
|
||||
+ private bool m_changed_xkb_option = false;
|
||||
+ private GLib.Timer m_changed_layout_timer;
|
||||
private const string ACCELERATOR_SWITCH_IME_FOREWARD = "<Control>space";
|
||||
+ private const string ACCELERATOR_SWITCH_IME_BACKWARD = "<Control><Shift>space";
|
||||
|
||||
- private uint m_switch_keysym = 0;
|
||||
- private Gdk.ModifierType m_switch_modifiers = 0;
|
||||
@ -2625,7 +2683,7 @@ index 25d705d..2ecd48b 100644
|
||||
|
||||
public Panel(IBus.Bus bus) {
|
||||
GLib.assert(bus.is_connected());
|
||||
@@ -67,7 +84,6 @@ class Panel : IBus.PanelService {
|
||||
@@ -67,7 +88,6 @@ class Panel : IBus.PanelService {
|
||||
m_candidate_panel.page_down.connect((w) => this.page_down());
|
||||
|
||||
m_switcher = new Switcher();
|
||||
@ -2633,11 +2691,14 @@ index 25d705d..2ecd48b 100644
|
||||
|
||||
m_property_manager = new PropertyManager();
|
||||
m_property_manager.property_activate.connect((k, s) => {
|
||||
@@ -79,64 +95,119 @@ class Panel : IBus.PanelService {
|
||||
@@ -79,64 +99,134 @@ class Panel : IBus.PanelService {
|
||||
|
||||
~Panel() {
|
||||
unbind_switch_shortcut();
|
||||
+
|
||||
- }
|
||||
|
||||
- private void bind_switch_shortcut() {
|
||||
- var keybinding_manager = KeybindingManager.get_instance();
|
||||
+ if (HAVE_IBUS_GKBD && m_gkbdlayout != null) {
|
||||
+ m_gkbdlayout.changed.disconnect(gkbdlayout_changed_cb);
|
||||
+ m_gkbdlayout.stop_listen();
|
||||
@ -2645,10 +2706,69 @@ index 25d705d..2ecd48b 100644
|
||||
+ }
|
||||
+
|
||||
+ m_xkblayout = null;
|
||||
}
|
||||
+ }
|
||||
|
||||
- var accelerator = ACCELERATOR_SWITCH_IME_FOREWARD;
|
||||
+ private void keybinding_manager_bind(KeybindingManager keybinding_manager,
|
||||
+ string? accelerator,
|
||||
+ bool reverse) {
|
||||
+ uint switch_keysym = 0;
|
||||
+ Gdk.ModifierType switch_modifiers = 0;
|
||||
Gtk.accelerator_parse(accelerator,
|
||||
- out m_switch_keysym, out m_switch_modifiers);
|
||||
+ out switch_keysym, out switch_modifiers);
|
||||
|
||||
- // Map virtual modifiers to (i.e.Mod2, Mod3, ...)
|
||||
+ // Map virtual modifiers to (i.e. Mod2, Mod3, ...)
|
||||
const Gdk.ModifierType VIRTUAL_MODIFIERS = (
|
||||
Gdk.ModifierType.SUPER_MASK |
|
||||
Gdk.ModifierType.HYPER_MASK |
|
||||
Gdk.ModifierType.META_MASK);
|
||||
- if ((m_switch_modifiers & VIRTUAL_MODIFIERS) != 0) {
|
||||
+ if ((switch_modifiers & VIRTUAL_MODIFIERS) != 0) {
|
||||
// workaround a bug in gdk vapi vala > 0.18
|
||||
// https://bugzilla.gnome.org/show_bug.cgi?id=677559
|
||||
#if VALA_0_18
|
||||
Gdk.Keymap.get_default().map_virtual_modifiers(
|
||||
- ref m_switch_modifiers);
|
||||
+ ref switch_modifiers);
|
||||
#else
|
||||
- if ((m_switch_modifiers & Gdk.ModifierType.SUPER_MASK) != 0)
|
||||
- m_switch_modifiers |= Gdk.ModifierType.MOD4_MASK;
|
||||
- if ((m_switch_modifiers & Gdk.ModifierType.HYPER_MASK) != 0)
|
||||
- m_switch_modifiers |= Gdk.ModifierType.MOD4_MASK;
|
||||
+ if ((switch_modifiers & Gdk.ModifierType.SUPER_MASK) != 0)
|
||||
+ switch_modifiers |= Gdk.ModifierType.MOD4_MASK;
|
||||
+ if ((switch_modifiers & Gdk.ModifierType.HYPER_MASK) != 0)
|
||||
+ switch_modifiers |= Gdk.ModifierType.MOD4_MASK;
|
||||
#endif
|
||||
- m_switch_modifiers &= ~VIRTUAL_MODIFIERS;
|
||||
+ switch_modifiers &= ~VIRTUAL_MODIFIERS;
|
||||
}
|
||||
|
||||
- if (m_switch_keysym == 0 && m_switch_modifiers == 0) {
|
||||
+ if (switch_keysym == 0 && switch_modifiers == 0) {
|
||||
warning("Parse accelerator '%s' failed!", accelerator);
|
||||
return;
|
||||
}
|
||||
|
||||
- keybinding_manager.bind(m_switch_keysym, m_switch_modifiers,
|
||||
- (e) => handle_engine_switch(e, false));
|
||||
+ Keybinding keybinding = new Keybinding(switch_keysym,
|
||||
+ switch_modifiers,
|
||||
+ reverse);
|
||||
+ m_keybindings.append(keybinding);
|
||||
|
||||
- // accelerator already has Shift mask
|
||||
- if ((m_switch_modifiers & Gdk.ModifierType.SHIFT_MASK) != 0)
|
||||
- return;
|
||||
+ keybinding_manager.bind(switch_keysym, switch_modifiers,
|
||||
+ (e, _reverse) => handle_engine_switch(e, _reverse),
|
||||
+ reverse);
|
||||
+ }
|
||||
+
|
||||
+ // ToDo: Customize the input method with ibus-setup
|
||||
private void bind_switch_shortcut() {
|
||||
+ private void bind_switch_shortcut() {
|
||||
+ string locale = GLib.Intl.setlocale(GLib.LocaleCategory.ALL,
|
||||
+ null);
|
||||
+ if (locale == null) {
|
||||
@ -2683,86 +2803,31 @@ index 25d705d..2ecd48b 100644
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
var keybinding_manager = KeybindingManager.get_instance();
|
||||
|
||||
- var accelerator = ACCELERATOR_SWITCH_IME_FOREWARD;
|
||||
- Gtk.accelerator_parse(accelerator,
|
||||
- out m_switch_keysym, out m_switch_modifiers);
|
||||
-
|
||||
- // Map virtual modifiers to (i.e.Mod2, Mod3, ...)
|
||||
- const Gdk.ModifierType VIRTUAL_MODIFIERS = (
|
||||
- Gdk.ModifierType.SUPER_MASK |
|
||||
- Gdk.ModifierType.HYPER_MASK |
|
||||
- Gdk.ModifierType.META_MASK);
|
||||
- if ((m_switch_modifiers & VIRTUAL_MODIFIERS) != 0) {
|
||||
- // workaround a bug in gdk vapi vala > 0.18
|
||||
- // https://bugzilla.gnome.org/show_bug.cgi?id=677559
|
||||
+ foreach (var accelerator in ACCELERATOR_IME_HOTKEYS) {
|
||||
+ uint switch_keysym = 0;
|
||||
+ Gdk.ModifierType switch_modifiers = 0;
|
||||
+ Gtk.accelerator_parse(accelerator,
|
||||
+ out switch_keysym, out switch_modifiers);
|
||||
+ var keybinding_manager = KeybindingManager.get_instance();
|
||||
+
|
||||
+ // Map virtual modifiers to (i.e. Mod2, Mod3, ...)
|
||||
+ const Gdk.ModifierType VIRTUAL_MODIFIERS = (
|
||||
+ Gdk.ModifierType.SUPER_MASK |
|
||||
+ Gdk.ModifierType.HYPER_MASK |
|
||||
+ Gdk.ModifierType.META_MASK);
|
||||
+ if ((switch_modifiers & VIRTUAL_MODIFIERS) != 0) {
|
||||
+ // workaround a bug in gdk vapi vala > 0.18
|
||||
+ // https://bugzilla.gnome.org/show_bug.cgi?id=677559
|
||||
#if VALA_0_18
|
||||
- Gdk.Keymap.get_default().map_virtual_modifiers(
|
||||
- ref m_switch_modifiers);
|
||||
+ Gdk.Keymap.get_default().map_virtual_modifiers(
|
||||
+ ref switch_modifiers);
|
||||
#else
|
||||
- if ((m_switch_modifiers & Gdk.ModifierType.SUPER_MASK) != 0)
|
||||
- m_switch_modifiers |= Gdk.ModifierType.MOD4_MASK;
|
||||
- if ((m_switch_modifiers & Gdk.ModifierType.HYPER_MASK) != 0)
|
||||
- m_switch_modifiers |= Gdk.ModifierType.MOD4_MASK;
|
||||
+ if ((switch_modifiers & Gdk.ModifierType.SUPER_MASK) != 0)
|
||||
+ switch_modifiers |= Gdk.ModifierType.MOD4_MASK;
|
||||
+ if ((switch_modifiers & Gdk.ModifierType.HYPER_MASK) != 0)
|
||||
+ switch_modifiers |= Gdk.ModifierType.MOD4_MASK;
|
||||
#endif
|
||||
- m_switch_modifiers &= ~VIRTUAL_MODIFIERS;
|
||||
- }
|
||||
+ switch_modifiers &= ~VIRTUAL_MODIFIERS;
|
||||
+ }
|
||||
|
||||
- if (m_switch_keysym == 0 && m_switch_modifiers == 0) {
|
||||
- warning("Parse accelerator '%s' failed!", accelerator);
|
||||
- return;
|
||||
- }
|
||||
+ if (switch_keysym == 0 && switch_modifiers == 0) {
|
||||
+ warning("Parse accelerator '%s' failed!", accelerator);
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
- keybinding_manager.bind(m_switch_keysym, m_switch_modifiers,
|
||||
- (e) => handle_engine_switch(e, false));
|
||||
+ Keybinding keybinding = new Keybinding(switch_keysym,
|
||||
+ switch_modifiers);
|
||||
+ m_keybindings.append(keybinding);
|
||||
|
||||
- // accelerator already has Shift mask
|
||||
- if ((m_switch_modifiers & Gdk.ModifierType.SHIFT_MASK) != 0)
|
||||
- return;
|
||||
+ keybinding_manager.bind(switch_keysym, switch_modifiers,
|
||||
+ (e) => handle_engine_switch(e, false));
|
||||
+ foreach (var accelerator in ACCELERATOR_IME_HOTKEYS) {
|
||||
+ keybinding_manager_bind(keybinding_manager, accelerator, false);
|
||||
+ }
|
||||
+
|
||||
+ ACCELERATOR_IME_HOTKEYS = {};
|
||||
+ ACCELERATOR_IME_HOTKEYS += ACCELERATOR_SWITCH_IME_BACKWARD;
|
||||
|
||||
- keybinding_manager.bind(m_switch_keysym,
|
||||
- m_switch_modifiers | Gdk.ModifierType.SHIFT_MASK,
|
||||
- (e) => handle_engine_switch(e, true));
|
||||
+ // accelerator already has Shift mask
|
||||
+ if ((switch_modifiers & Gdk.ModifierType.SHIFT_MASK) != 0) {
|
||||
+ continue;
|
||||
+ if (m_config != null) {
|
||||
+ GLib.Variant variant = m_config.get_value("general/hotkey",
|
||||
+ "trigger_accel_backward");
|
||||
+ if (variant != null) {
|
||||
+ ACCELERATOR_IME_HOTKEYS = {};
|
||||
+ for (int i = 0; i < variant.n_children(); i++) {
|
||||
+ ACCELERATOR_IME_HOTKEYS += variant.get_child_value(i).dup_string();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ keybinding_manager.bind(switch_keysym,
|
||||
+ switch_modifiers | Gdk.ModifierType.SHIFT_MASK,
|
||||
+ (e) => handle_engine_switch(e, true));
|
||||
+ foreach (var accelerator in ACCELERATOR_IME_HOTKEYS) {
|
||||
+ keybinding_manager_bind(keybinding_manager, accelerator, true);
|
||||
+ }
|
||||
}
|
||||
|
||||
@ -2785,14 +2850,12 @@ index 25d705d..2ecd48b 100644
|
||||
- m_switch_modifiers = 0;
|
||||
+ keybinding_manager.unbind(keybinding.keysym,
|
||||
+ keybinding.modifiers);
|
||||
+ keybinding_manager.unbind(keybinding.keysym,
|
||||
+ keybinding.modifiers | Gdk.ModifierType.SHIFT_MASK);
|
||||
+ m_keybindings.remove(keybinding);
|
||||
+ }
|
||||
}
|
||||
|
||||
private void set_custom_font() {
|
||||
@@ -204,12 +275,14 @@ class Panel : IBus.PanelService {
|
||||
@@ -204,12 +294,16 @@ class Panel : IBus.PanelService {
|
||||
}
|
||||
|
||||
m_config = config;
|
||||
@ -2801,13 +2864,15 @@ index 25d705d..2ecd48b 100644
|
||||
m_config.value_changed.connect(config_value_changed_cb);
|
||||
m_config.watch("general", "preload_engines");
|
||||
m_config.watch("general", "engines_order");
|
||||
+ m_config.watch("general/hotkey", "trigger_accel");
|
||||
+ m_config.watch("general/hotkey", "trigger_accel_backward");
|
||||
m_config.watch("panel", "custom_font");
|
||||
m_config.watch("panel", "use_custom_font");
|
||||
+ init_engines_order();
|
||||
update_engines(m_config.get_value("general", "preload_engines"),
|
||||
m_config.get_value("general", "engines_order"));
|
||||
} else {
|
||||
@@ -219,6 +292,192 @@ class Panel : IBus.PanelService {
|
||||
@@ -219,6 +313,192 @@ class Panel : IBus.PanelService {
|
||||
set_custom_font();
|
||||
}
|
||||
|
||||
@ -3000,7 +3065,7 @@ index 25d705d..2ecd48b 100644
|
||||
private void switch_engine(int i, bool force = false) {
|
||||
GLib.assert(i >= 0 && i < m_engines.length);
|
||||
|
||||
@@ -233,15 +492,7 @@ class Panel : IBus.PanelService {
|
||||
@@ -233,15 +513,7 @@ class Panel : IBus.PanelService {
|
||||
return;
|
||||
}
|
||||
// set xkb layout
|
||||
@ -3017,7 +3082,21 @@ index 25d705d..2ecd48b 100644
|
||||
}
|
||||
|
||||
private void config_value_changed_cb(IBus.Config config,
|
||||
@@ -272,8 +523,7 @@ class Panel : IBus.PanelService {
|
||||
@@ -253,6 +525,13 @@ class Panel : IBus.PanelService {
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (section == "general/hotkey" &&
|
||||
+ name.length >= 13 && name[0:13] == "trigger_accel") {
|
||||
+ unbind_switch_shortcut();
|
||||
+ bind_switch_shortcut();
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (section == "panel" && (name == "custom_font" ||
|
||||
name == "use_custom_font")) {
|
||||
set_custom_font();
|
||||
@@ -272,8 +551,7 @@ class Panel : IBus.PanelService {
|
||||
event, primary_modifiers);
|
||||
if (pressed) {
|
||||
int i = revert ? m_engines.length - 1 : 1;
|
||||
@ -3028,22 +3107,25 @@ index 25d705d..2ecd48b 100644
|
||||
debug("switch cancelled");
|
||||
} else {
|
||||
diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
|
||||
index ea56c07..f209e7f 100644
|
||||
index ea56c07..6035471 100644
|
||||
--- a/ui/gtk3/switcher.vala
|
||||
+++ b/ui/gtk3/switcher.vala
|
||||
@@ -71,13 +71,23 @@ class Switcher : Gtk.Window {
|
||||
@@ -71,13 +71,26 @@ class Switcher : Gtk.Window {
|
||||
public string longname { get; set; }
|
||||
}
|
||||
|
||||
+ private class Keybinding {
|
||||
+ public Keybinding(uint keysym,
|
||||
+ Gdk.ModifierType modifiers) {
|
||||
+ Gdk.ModifierType modifiers,
|
||||
+ bool reverse) {
|
||||
+ this.keysym = keysym;
|
||||
+ this.modifiers = modifiers;
|
||||
+ this.reverse = reverse;
|
||||
+ }
|
||||
+
|
||||
+ public uint keysym { get; set; }
|
||||
+ public Gdk.ModifierType modifiers { get; set; }
|
||||
+ public bool reverse { get; set; }
|
||||
+ }
|
||||
+
|
||||
private Gtk.Box m_box;
|
||||
@ -3057,7 +3139,7 @@ index ea56c07..f209e7f 100644
|
||||
private Gdk.ModifierType m_primary_modifier;
|
||||
private GLib.MainLoop m_loop;
|
||||
private int m_result;
|
||||
@@ -113,19 +123,17 @@ class Switcher : Gtk.Window {
|
||||
@@ -113,19 +126,17 @@ class Switcher : Gtk.Window {
|
||||
grab_focus();
|
||||
}
|
||||
|
||||
@ -3080,7 +3162,7 @@ index ea56c07..f209e7f 100644
|
||||
|
||||
update_engines(engines);
|
||||
m_result = 0;
|
||||
@@ -310,23 +318,26 @@ class Switcher : Gtk.Window {
|
||||
@@ -310,23 +321,25 @@ class Switcher : Gtk.Window {
|
||||
public override bool key_press_event(Gdk.EventKey e) {
|
||||
bool retval = true;
|
||||
Gdk.EventKey *pe = &e;
|
||||
@ -3088,29 +3170,28 @@ index ea56c07..f209e7f 100644
|
||||
|
||||
- do {
|
||||
- uint modifiers = KeybindingManager.MODIFIER_FILTER & pe->state;
|
||||
-
|
||||
- if ((modifiers != m_modifiers) &&
|
||||
- (modifiers != (m_modifiers | Gdk.ModifierType.SHIFT_MASK))) {
|
||||
- break;
|
||||
- }
|
||||
+ for (unowned GLib.List<Keybinding> keybindings = m_keybindings;
|
||||
+ keybindings != null;
|
||||
+ keybindings = keybindings.next) {
|
||||
+ Keybinding keybinding = keybindings.data;
|
||||
|
||||
- if ((modifiers != m_modifiers) &&
|
||||
- (modifiers != (m_modifiers | Gdk.ModifierType.SHIFT_MASK))) {
|
||||
- break;
|
||||
- }
|
||||
-
|
||||
- if (pe->keyval == m_keyval) {
|
||||
- if (modifiers == m_modifiers)
|
||||
+ if (pe->keyval == keybinding.keysym) {
|
||||
+ if (modifiers == (uint) keybinding.modifiers) {
|
||||
+ if (pe->keyval == keybinding.keysym &&
|
||||
+ modifiers == (uint) keybinding.modifiers) {
|
||||
+ if (!keybinding.reverse) {
|
||||
next_engine();
|
||||
- else // modififers == m_modifiers | SHIFT_MASK
|
||||
+ return true;
|
||||
+ } else if (modifiers ==
|
||||
+ ((uint) keybinding.modifiers | Gdk.ModifierType.SHIFT_MASK)) {
|
||||
+ } else {
|
||||
previous_engine();
|
||||
- break;
|
||||
+ return true;
|
||||
+ }
|
||||
+ return true;
|
||||
}
|
||||
+ }
|
||||
|
||||
|
36
ibus-810211-no-switch-by-no-trigger.patch
Normal file
36
ibus-810211-no-switch-by-no-trigger.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From fcfb99cfe6d83974c43bd41a1544d7a16460240f Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Tue, 17 Jul 2012 14:35:17 +0900
|
||||
Subject: [PATCH] Fix not to switch engines by non-trigger keys.
|
||||
|
||||
---
|
||||
ui/gtk3/switcher.vala | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
|
||||
index b543a8f..ea56c07 100644
|
||||
--- a/ui/gtk3/switcher.vala
|
||||
+++ b/ui/gtk3/switcher.vala
|
||||
@@ -128,6 +128,7 @@ class Switcher : Gtk.Window {
|
||||
state & KeybindingManager.MODIFIER_FILTER);
|
||||
|
||||
update_engines(engines);
|
||||
+ m_result = 0;
|
||||
m_selected_engine = index;
|
||||
m_label.set_text(m_buttons[index].longname);
|
||||
m_buttons[index].grab_focus();
|
||||
@@ -343,6 +344,11 @@ class Switcher : Gtk.Window {
|
||||
break;
|
||||
default:
|
||||
debug("0x%04x", pe->keyval);
|
||||
+ if (m_loop != null) {
|
||||
+ m_loop.quit();
|
||||
+ m_loop = null;
|
||||
+ }
|
||||
+ retval = false;
|
||||
break;
|
||||
}
|
||||
} while (false);
|
||||
--
|
||||
1.7.10.4
|
||||
|
574
ibus-HEAD.patch
574
ibus-HEAD.patch
@ -1,575 +1 @@
|
||||
From f453bf83f502d8b1e2b6f07cf669c14cbcfe008e Mon Sep 17 00:00:00 2001
|
||||
From: Peng Huang <shawn.p.huang@gmail.com>
|
||||
Date: Thu, 12 Jul 2012 16:41:30 -0400
|
||||
Subject: [PATCH] IBusBus: honor new connect-async prop in the socket monitor
|
||||
callback
|
||||
|
||||
I think we should make use of the async connection here if the
|
||||
property is set.
|
||||
|
||||
But we also need a new flag for ongoing async connection attempts
|
||||
because the socket monitor callback may be called several times before
|
||||
the connection is established.
|
||||
|
||||
BUG=http://code.google.com/p/ibus/issues/detail?id=1482
|
||||
TEST=
|
||||
|
||||
Review URL: https://codereview.appspot.com/6346090
|
||||
---
|
||||
src/ibusbus.c | 149 +++++++++++++++++++++++++++++++++++----------------------
|
||||
1 file changed, 93 insertions(+), 56 deletions(-)
|
||||
|
||||
diff --git a/src/ibusbus.c b/src/ibusbus.c
|
||||
index fc3c11b..9118020 100644
|
||||
--- a/src/ibusbus.c
|
||||
+++ b/src/ibusbus.c
|
||||
@@ -60,6 +60,8 @@ struct _IBusBusPrivate {
|
||||
IBusConfig *config;
|
||||
gchar *unique_name;
|
||||
gboolean connect_async;
|
||||
+ gchar *bus_address;
|
||||
+ GCancellable *cancellable;
|
||||
};
|
||||
|
||||
static guint bus_signals[LAST_SIGNAL] = { 0 };
|
||||
@@ -103,6 +105,8 @@ static void ibus_bus_get_property (IBusBus *bus,
|
||||
GValue *value,
|
||||
GParamSpec *pspec);
|
||||
|
||||
+static void ibus_bus_close_connection (IBusBus *bus);
|
||||
+
|
||||
G_DEFINE_TYPE (IBusBus, ibus_bus, IBUS_TYPE_OBJECT)
|
||||
|
||||
static void
|
||||
@@ -270,56 +274,57 @@ _connection_closed_cb (GDBusConnection *connection,
|
||||
* However we think the error message is almost harmless. */
|
||||
g_debug ("_connection_closed_cb: %s", error->message);
|
||||
}
|
||||
+ ibus_bus_close_connection (bus);
|
||||
+}
|
||||
|
||||
- g_assert (bus->priv->connection == connection);
|
||||
- g_signal_handlers_disconnect_by_func (bus->priv->connection,
|
||||
- G_CALLBACK (_connection_closed_cb),
|
||||
- bus);
|
||||
- g_object_unref (bus->priv->connection);
|
||||
- bus->priv->connection = NULL;
|
||||
-
|
||||
+static void
|
||||
+ibus_bus_close_connection (IBusBus *bus)
|
||||
+{
|
||||
g_free (bus->priv->unique_name);
|
||||
bus->priv->unique_name = NULL;
|
||||
|
||||
bus->priv->watch_dbus_signal_id = 0;
|
||||
bus->priv->watch_ibus_signal_id = 0;
|
||||
|
||||
- g_signal_emit (bus, bus_signals[DISCONNECTED], 0);
|
||||
-}
|
||||
+ g_free (bus->priv->bus_address);
|
||||
+ bus->priv->bus_address = NULL;
|
||||
+
|
||||
+ /* Cancel ongoing connect request. */
|
||||
+ g_cancellable_cancel (bus->priv->cancellable);
|
||||
+ g_cancellable_reset (bus->priv->cancellable);
|
||||
|
||||
-static void
|
||||
-ibus_bus_disconnect (IBusBus *bus)
|
||||
-{
|
||||
/* unref the old connection at first */
|
||||
if (bus->priv->connection != NULL) {
|
||||
g_signal_handlers_disconnect_by_func (bus->priv->connection,
|
||||
G_CALLBACK (_connection_closed_cb),
|
||||
bus);
|
||||
+ if (!g_dbus_connection_is_closed(bus->priv->connection))
|
||||
+ g_dbus_connection_close(bus->priv->connection, NULL, NULL, NULL);
|
||||
g_object_unref (bus->priv->connection);
|
||||
bus->priv->connection = NULL;
|
||||
+ g_signal_emit (bus, bus_signals[DISCONNECTED], 0);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
-ibus_bus_connect_finish (IBusBus *bus)
|
||||
-{
|
||||
- if (bus->priv->connection) {
|
||||
- /* FIXME */
|
||||
- ibus_bus_hello (bus);
|
||||
-
|
||||
- g_signal_connect (bus->priv->connection,
|
||||
- "closed",
|
||||
- (GCallback) _connection_closed_cb,
|
||||
- bus);
|
||||
- if (bus->priv->watch_dbus_signal) {
|
||||
- ibus_bus_watch_dbus_signal (bus);
|
||||
- }
|
||||
- if (bus->priv->watch_ibus_signal) {
|
||||
- ibus_bus_watch_ibus_signal (bus);
|
||||
- }
|
||||
-
|
||||
- g_signal_emit (bus, bus_signals[CONNECTED], 0);
|
||||
+ibus_bus_connect_completed (IBusBus *bus)
|
||||
+{
|
||||
+ g_assert (bus->priv->connection);
|
||||
+ /* FIXME */
|
||||
+ ibus_bus_hello (bus);
|
||||
+
|
||||
+ g_signal_connect (bus->priv->connection,
|
||||
+ "closed",
|
||||
+ (GCallback) _connection_closed_cb,
|
||||
+ bus);
|
||||
+ if (bus->priv->watch_dbus_signal) {
|
||||
+ ibus_bus_watch_dbus_signal (bus);
|
||||
+ }
|
||||
+ if (bus->priv->watch_ibus_signal) {
|
||||
+ ibus_bus_watch_ibus_signal (bus);
|
||||
}
|
||||
+
|
||||
+ g_signal_emit (bus, bus_signals[CONNECTED], 0);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -333,7 +338,8 @@ _bus_connect_async_cb (GObject *source_object,
|
||||
IBusBus *bus = IBUS_BUS (user_data);
|
||||
GError *error = NULL;
|
||||
|
||||
- bus->priv->connection = g_dbus_connection_new_for_address_finish (res, &error);
|
||||
+ bus->priv->connection =
|
||||
+ g_dbus_connection_new_for_address_finish (res, &error);
|
||||
|
||||
if (error != NULL) {
|
||||
g_warning ("Unable to connect to ibus: %s", error->message);
|
||||
@@ -341,8 +347,13 @@ _bus_connect_async_cb (GObject *source_object,
|
||||
error = NULL;
|
||||
}
|
||||
|
||||
- if (bus->priv->connection)
|
||||
- ibus_bus_connect_finish (bus);
|
||||
+ if (bus->priv->connection != NULL) {
|
||||
+ ibus_bus_connect_completed (bus);
|
||||
+ }
|
||||
+ else {
|
||||
+ g_free (bus->priv->bus_address);
|
||||
+ bus->priv->bus_address = NULL;
|
||||
+ }
|
||||
|
||||
/* unref the ref from ibus_bus_connect */
|
||||
g_object_unref (bus);
|
||||
@@ -351,32 +362,52 @@ _bus_connect_async_cb (GObject *source_object,
|
||||
static void
|
||||
ibus_bus_connect_async (IBusBus *bus)
|
||||
{
|
||||
- ibus_bus_disconnect (bus);
|
||||
+ const gchar *bus_address = ibus_get_address ();
|
||||
|
||||
- if (ibus_get_address () != NULL) {
|
||||
- g_object_ref (bus);
|
||||
- g_dbus_connection_new_for_address (ibus_get_address (),
|
||||
- G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT |
|
||||
- G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION,
|
||||
- NULL, NULL,
|
||||
- _bus_connect_async_cb, bus);
|
||||
- }
|
||||
+ if (bus_address == NULL)
|
||||
+ return;
|
||||
+
|
||||
+ if (g_strcmp0 (bus->priv->bus_address, bus_address) == 0)
|
||||
+ return;
|
||||
+
|
||||
+ /* Close current connection and cancel ongoing connect request. */
|
||||
+ ibus_bus_close_connection (bus);
|
||||
+
|
||||
+ bus->priv->bus_address = g_strdup (bus_address);
|
||||
+ g_object_ref (bus);
|
||||
+ g_dbus_connection_new_for_address (
|
||||
+ bus_address,
|
||||
+ G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT |
|
||||
+ G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION,
|
||||
+ NULL,
|
||||
+ bus->priv->cancellable,
|
||||
+ _bus_connect_async_cb, bus);
|
||||
}
|
||||
|
||||
static void
|
||||
ibus_bus_connect (IBusBus *bus)
|
||||
{
|
||||
- ibus_bus_disconnect (bus);
|
||||
+ const gchar *bus_address = ibus_get_address ();
|
||||
|
||||
- if (ibus_get_address () != NULL) {
|
||||
- bus->priv->connection =
|
||||
- g_dbus_connection_new_for_address_sync (ibus_get_address (),
|
||||
- G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT |
|
||||
- G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION,
|
||||
- NULL, NULL, NULL);
|
||||
- }
|
||||
+ if (bus_address == NULL)
|
||||
+ return;
|
||||
|
||||
- ibus_bus_connect_finish (bus);
|
||||
+ if (g_strcmp0 (bus_address, bus->priv->bus_address) == 0 &&
|
||||
+ bus->priv->connection != NULL)
|
||||
+ return;
|
||||
+
|
||||
+ /* Close current connection and cancel ongoing connect request. */
|
||||
+ ibus_bus_close_connection (bus);
|
||||
+
|
||||
+ bus->priv->connection = g_dbus_connection_new_for_address_sync (
|
||||
+ bus_address,
|
||||
+ G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT |
|
||||
+ G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION,
|
||||
+ NULL, NULL, NULL);
|
||||
+ if (bus->priv->connection) {
|
||||
+ bus->priv->bus_address = g_strdup (bus_address);
|
||||
+ ibus_bus_connect_completed (bus);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -391,10 +422,7 @@ _changed_cb (GFileMonitor *monitor,
|
||||
event_type != G_FILE_MONITOR_EVENT_DELETED)
|
||||
return;
|
||||
|
||||
- if (ibus_bus_is_connected (bus))
|
||||
- return;
|
||||
-
|
||||
- ibus_bus_connect (bus);
|
||||
+ ibus_bus_connect_async (bus);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -414,6 +442,8 @@ ibus_bus_init (IBusBus *bus)
|
||||
bus->priv->watch_ibus_signal_id = 0;
|
||||
bus->priv->unique_name = NULL;
|
||||
bus->priv->connect_async = FALSE;
|
||||
+ bus->priv->bus_address = NULL;
|
||||
+ bus->priv->cancellable = g_cancellable_new ();
|
||||
|
||||
path = g_path_get_dirname (ibus_get_socket_path ());
|
||||
|
||||
@@ -523,6 +553,13 @@ ibus_bus_destroy (IBusObject *object)
|
||||
g_free (bus->priv->unique_name);
|
||||
bus->priv->unique_name = NULL;
|
||||
|
||||
+ g_free (bus->priv->bus_address);
|
||||
+ bus->priv->bus_address = NULL;
|
||||
+
|
||||
+ g_cancellable_cancel (bus->priv->cancellable);
|
||||
+ g_object_unref (bus->priv->cancellable);
|
||||
+ bus->priv->cancellable = NULL;
|
||||
+
|
||||
IBUS_OBJECT_CLASS (ibus_bus_parent_class)->destroy (object);
|
||||
}
|
||||
|
||||
@@ -1621,7 +1658,7 @@ ibus_bus_get_engines_by_names (IBusBus *bus,
|
||||
G_VARIANT_TYPE ("(av)"));
|
||||
if (result == NULL)
|
||||
return NULL;
|
||||
-
|
||||
+
|
||||
GArray *array = g_array_new (TRUE, TRUE, sizeof (IBusEngineDesc *));
|
||||
GVariantIter *iter = NULL;
|
||||
g_variant_get (result, "(av)", &iter);
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
From a454448111650c3e92fc9ba65c26a57adc9c3c6c Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Thu, 19 Jul 2012 09:57:01 +0900
|
||||
Subject: [PATCH] Support dconf 0.13.4
|
||||
|
||||
TEST=Manually
|
||||
|
||||
Review URL: https://codereview.appspot.com/6426044
|
||||
---
|
||||
conf/dconf/Makefile.am | 2 +-
|
||||
conf/dconf/config-private.h | 56 +++++++++++++++++++++++++++++++++++++++++++
|
||||
conf/dconf/config.c | 26 +++++++++++++++++++-
|
||||
conf/dconf/config.h | 47 ------------------------------------
|
||||
conf/dconf/main.c | 2 +-
|
||||
configure.ac | 3 +++
|
||||
6 files changed, 86 insertions(+), 50 deletions(-)
|
||||
create mode 100644 conf/dconf/config-private.h
|
||||
delete mode 100644 conf/dconf/config.h
|
||||
|
||||
diff --git a/conf/dconf/Makefile.am b/conf/dconf/Makefile.am
|
||||
index 148ba62..f0e24b0 100644
|
||||
--- a/conf/dconf/Makefile.am
|
||||
+++ b/conf/dconf/Makefile.am
|
||||
@@ -29,7 +29,7 @@ libexec_PROGRAMS = \
|
||||
ibus_dconf_SOURCES = \
|
||||
main.c \
|
||||
config.c \
|
||||
- config.h \
|
||||
+ config-private.h \
|
||||
$(NULL)
|
||||
ibus_dconf_CFLAGS = \
|
||||
@GLIB2_CFLAGS@ \
|
||||
diff --git a/conf/dconf/config-private.h b/conf/dconf/config-private.h
|
||||
new file mode 100644
|
||||
index 0000000..9ba4fd5
|
||||
--- /dev/null
|
||||
+++ b/conf/dconf/config-private.h
|
||||
@@ -0,0 +1,56 @@
|
||||
+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
|
||||
+/* vim:set et sts=4: */
|
||||
+/* ibus - The Input Bus
|
||||
+ * Copyright (C) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
|
||||
+ * Copyright (C) 2008-2010 Red Hat, Inc.
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the
|
||||
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
+ * Boston, MA 02111-1307, USA.
|
||||
+ */
|
||||
+#ifndef __CONFIG_DCONF_H__
|
||||
+#define __CONFIG_DCONF_H__
|
||||
+
|
||||
+#ifdef HAVE_CONFIG_H
|
||||
+# include <config.h>
|
||||
+#endif
|
||||
+
|
||||
+#include <ibus.h>
|
||||
+#ifdef DCONF_0_13_4
|
||||
+# include <client/dconf-client.h>
|
||||
+# include <common/dconf-paths.h>
|
||||
+#else
|
||||
+# include <dconf/dconf.h>
|
||||
+#endif
|
||||
+
|
||||
+#define IBUS_TYPE_CONFIG_DCONF \
|
||||
+ (ibus_config_dconf_get_type ())
|
||||
+#define IBUS_CONFIG_DCONF(obj) \
|
||||
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), IBUS_TYPE_CONFIG_DCONF, IBusConfigDConf))
|
||||
+#define IBUS_CONFIG_DCONF_CLASS(klass) \
|
||||
+ (G_TYPE_CHECK_CLASS_CAST ((klass), IBUS_TYPE_CONFIG_DCONF, IBusConfigDConfClass))
|
||||
+#define IBUS_IS_CONFIG_DCONF(obj) \
|
||||
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IBUS_TYPE_CONFIG_DCONF))
|
||||
+#define IBUS_IS_CONFIG_DCONF_CLASS(klass) \
|
||||
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), IBUS_TYPE_CONFIG_DCONF))
|
||||
+#define IBUS_CONFIG_DCONF_GET_CLASS(obj) \
|
||||
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_CONFIG_DCONF, IBusConfigDConfClass))
|
||||
+
|
||||
+typedef struct _IBusConfigDConf IBusConfigDConf;
|
||||
+typedef struct _IBusConfigDConfClass IBusConfigDConfClass;
|
||||
+
|
||||
+GType ibus_config_dconf_get_type (void);
|
||||
+IBusConfigDConf *ibus_config_dconf_new (GDBusConnection *connection);
|
||||
+
|
||||
+#endif
|
||||
diff --git a/conf/dconf/config.c b/conf/dconf/config.c
|
||||
index faca932..44d7031 100644
|
||||
--- a/conf/dconf/config.c
|
||||
+++ b/conf/dconf/config.c
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
#include <string.h>
|
||||
#include <ibus.h>
|
||||
-#include "config.h"
|
||||
+#include "config-private.h"
|
||||
|
||||
#define DCONF_PREFIX "/desktop/ibus"
|
||||
#define DCONF_PRESERVE_NAME_PREFIXES_KEY \
|
||||
@@ -159,12 +159,19 @@ static void
|
||||
_watch_func (DConfClient *client,
|
||||
const gchar *gpath,
|
||||
const gchar * const *items,
|
||||
+#ifndef DCONF_0_13_4
|
||||
gint n_items,
|
||||
+#endif
|
||||
const gchar *tag,
|
||||
IBusConfigDConf *config)
|
||||
{
|
||||
gchar **gkeys = NULL;
|
||||
gint i;
|
||||
+#ifdef DCONF_0_13_4
|
||||
+ gint n_items;
|
||||
+
|
||||
+ n_items = g_strv_length ((gchar **)items);
|
||||
+#endif
|
||||
|
||||
g_return_if_fail (gpath != NULL);
|
||||
g_return_if_fail (n_items >= 0);
|
||||
@@ -231,6 +238,14 @@ static void
|
||||
ibus_config_dconf_init (IBusConfigDConf *config)
|
||||
{
|
||||
GVariant *variant;
|
||||
+#ifdef DCONF_0_13_4
|
||||
+ config->client = dconf_client_new ();
|
||||
+
|
||||
+ g_signal_connect (config->client, "changed",
|
||||
+ G_CALLBACK (_watch_func), config);
|
||||
+
|
||||
+ dconf_client_watch_fast (config->client, DCONF_PREFIX"/");
|
||||
+#else
|
||||
GError *error;
|
||||
|
||||
config->client = dconf_client_new ("ibus",
|
||||
@@ -241,6 +256,7 @@ ibus_config_dconf_init (IBusConfigDConf *config)
|
||||
error = NULL;
|
||||
if (!dconf_client_watch (config->client, DCONF_PREFIX"/", NULL, &error))
|
||||
g_warning ("Can not watch dconf path %s", DCONF_PREFIX"/");
|
||||
+#endif
|
||||
|
||||
config->preserve_name_prefixes = NULL;
|
||||
variant = dconf_client_read (config->client,
|
||||
@@ -265,9 +281,13 @@ static void
|
||||
ibus_config_dconf_destroy (IBusConfigDConf *config)
|
||||
{
|
||||
if (config->client) {
|
||||
+#ifdef DCONF_0_13_4
|
||||
+ dconf_client_unwatch_fast (config->client, DCONF_PREFIX"/");
|
||||
+#else
|
||||
GError *error = NULL;
|
||||
if (!dconf_client_unwatch (config->client, DCONF_PREFIX"/", NULL, &error))
|
||||
g_warning ("Can not unwatch dconf path %s", DCONF_PREFIX"/");
|
||||
+#endif
|
||||
|
||||
g_object_unref (config->client);
|
||||
config->client = NULL;
|
||||
@@ -307,12 +327,16 @@ ibus_config_dconf_set_value (IBusConfigService *config,
|
||||
g_free (gname);
|
||||
}
|
||||
|
||||
+#ifdef DCONF_0_13_4
|
||||
+ retval = dconf_client_write_fast (client, gkey, value, error);
|
||||
+#else
|
||||
retval = dconf_client_write (client,
|
||||
gkey,
|
||||
value,
|
||||
NULL, /* tag */
|
||||
NULL, /* cancellable */
|
||||
error);
|
||||
+#endif
|
||||
g_free (gkey);
|
||||
|
||||
return retval;
|
||||
diff --git a/conf/dconf/config.h b/conf/dconf/config.h
|
||||
deleted file mode 100644
|
||||
index 9f602d6..0000000
|
||||
--- a/conf/dconf/config.h
|
||||
+++ /dev/null
|
||||
@@ -1,47 +0,0 @@
|
||||
-/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
|
||||
-/* vim:set et sts=4: */
|
||||
-/* ibus - The Input Bus
|
||||
- * Copyright (C) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
|
||||
- * Copyright (C) 2008-2010 Red Hat, Inc.
|
||||
- *
|
||||
- * This library is free software; you can redistribute it and/or
|
||||
- * modify it under the terms of the GNU Lesser General Public
|
||||
- * License as published by the Free Software Foundation; either
|
||||
- * version 2 of the License, or (at your option) any later version.
|
||||
- *
|
||||
- * This library is distributed in the hope that it will be useful,
|
||||
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
- * Lesser General Public License for more details.
|
||||
- *
|
||||
- * You should have received a copy of the GNU Lesser General Public
|
||||
- * License along with this library; if not, write to the
|
||||
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
- * Boston, MA 02111-1307, USA.
|
||||
- */
|
||||
-#ifndef __CONFIG_DCONF_H__
|
||||
-#define __CONFIG_DCONF_H__
|
||||
-
|
||||
-#include <ibus.h>
|
||||
-#include <dconf/dconf.h>
|
||||
-
|
||||
-#define IBUS_TYPE_CONFIG_DCONF \
|
||||
- (ibus_config_dconf_get_type ())
|
||||
-#define IBUS_CONFIG_DCONF(obj) \
|
||||
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), IBUS_TYPE_CONFIG_DCONF, IBusConfigDConf))
|
||||
-#define IBUS_CONFIG_DCONF_CLASS(klass) \
|
||||
- (G_TYPE_CHECK_CLASS_CAST ((klass), IBUS_TYPE_CONFIG_DCONF, IBusConfigDConfClass))
|
||||
-#define IBUS_IS_CONFIG_DCONF(obj) \
|
||||
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IBUS_TYPE_CONFIG_DCONF))
|
||||
-#define IBUS_IS_CONFIG_DCONF_CLASS(klass) \
|
||||
- (G_TYPE_CHECK_CLASS_TYPE ((klass), IBUS_TYPE_CONFIG_DCONF))
|
||||
-#define IBUS_CONFIG_DCONF_GET_CLASS(obj) \
|
||||
- (G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_CONFIG_DCONF, IBusConfigDConfClass))
|
||||
-
|
||||
-typedef struct _IBusConfigDConf IBusConfigDConf;
|
||||
-typedef struct _IBusConfigDConfClass IBusConfigDConfClass;
|
||||
-
|
||||
-GType ibus_config_dconf_get_type (void);
|
||||
-IBusConfigDConf *ibus_config_dconf_new (GDBusConnection *connection);
|
||||
-
|
||||
-#endif
|
||||
diff --git a/conf/dconf/main.c b/conf/dconf/main.c
|
||||
index 1b69baa..bffe983 100644
|
||||
--- a/conf/dconf/main.c
|
||||
+++ b/conf/dconf/main.c
|
||||
@@ -23,7 +23,7 @@
|
||||
#include <ibus.h>
|
||||
#include <stdlib.h>
|
||||
#include <locale.h>
|
||||
-#include "config.h"
|
||||
+#include "config-private.h"
|
||||
|
||||
static IBusBus *bus = NULL;
|
||||
static IBusConfigDConf *config = NULL;
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 8498efe..cc7d0e0 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -327,6 +327,9 @@ if test x"$enable_dconf" = x"yes"; then
|
||||
[dconf >= 0.7.5], ,
|
||||
enable_dconf=no
|
||||
)
|
||||
+ PKG_CHECK_EXISTS([dconf >= 0.13.4],
|
||||
+ [AC_DEFINE(DCONF_0_13_4, TRUE, [dconf is 0.13.4 or later])],
|
||||
+ [])
|
||||
# check glib-compile-schemas
|
||||
GLIB_GSETTINGS
|
||||
fi
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
From 52fbf82dd1babc0d8de7be0f5bb6de622c069b4d Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Tue, 12 Jun 2012 11:53:29 +0900
|
||||
Subject: [PATCH] Fix not to switch engines by non-trigger keys.
|
||||
|
||||
---
|
||||
ui/gtk3/switcher.vala | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
|
||||
index b543a8f..ea56c07 100644
|
||||
--- a/ui/gtk3/switcher.vala
|
||||
+++ b/ui/gtk3/switcher.vala
|
||||
@@ -128,6 +128,7 @@ class Switcher : Gtk.Window {
|
||||
state & KeybindingManager.MODIFIER_FILTER);
|
||||
|
||||
update_engines(engines);
|
||||
+ m_result = 0;
|
||||
m_selected_engine = index;
|
||||
m_label.set_text(m_buttons[index].longname);
|
||||
m_buttons[index].grab_focus();
|
||||
@@ -343,6 +344,11 @@ class Switcher : Gtk.Window {
|
||||
break;
|
||||
default:
|
||||
debug("0x%04x", pe->keyval);
|
||||
+ if (m_loop != null) {
|
||||
+ m_loop.quit();
|
||||
+ m_loop = null;
|
||||
+ }
|
||||
+ retval = false;
|
||||
break;
|
||||
}
|
||||
} while (false);
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
--- ibus-gjs/configure.ac.orig 2012-01-13 18:11:33.152447345 +0900
|
||||
+++ ibus-gjs/configure.ac 2012-02-08 14:21:59.671562482 +0900
|
||||
@@ -174,8 +174,8 @@ try {
|
||||
$GREP -v "DEBUG:"
|
||||
}
|
||||
|
||||
-GNOME_SHELL_VERSION=`GET_JS_VERSION 'Config.PACKAGE_VERSION'`
|
||||
-GJS_VERSION=`GET_JS_VERSION 'Config.GJS_VERSION'`
|
||||
+GNOME_SHELL_VERSION='3.3.5", "3.3.4", "3.3.3", "3.2'
|
||||
+GJS_VERSION='1.31.10", "1.31.6", "1.31.11", "1.30'
|
||||
AC_SUBST(GNOME_SHELL_VERSION)
|
||||
AC_SUBST(GJS_VERSION)
|
||||
|
@ -1,11 +1,11 @@
|
||||
--- ibus-1.4.99.20120712/ui/gtk3/panel.vala.orig
|
||||
+++ ibus-1.4.99.20120712/ui/gtk3/panel.vala
|
||||
@@ -157,7 +157,7 @@ class Panel : IBus.PanelService {
|
||||
if ((switch_modifiers & VIRTUAL_MODIFIERS) != 0) {
|
||||
// workaround a bug in gdk vapi vala > 0.18
|
||||
// https://bugzilla.gnome.org/show_bug.cgi?id=677559
|
||||
--- ibus-1.4.99.20120822/ui/gtk3/panel.vala.orig
|
||||
+++ ibus-1.4.99.20120822/ui/gtk3/panel.vala
|
||||
@@ -125,7 +125,7 @@ class Panel : IBus.PanelService {
|
||||
if ((switch_modifiers & VIRTUAL_MODIFIERS) != 0) {
|
||||
// workaround a bug in gdk vapi vala > 0.18
|
||||
// https://bugzilla.gnome.org/show_bug.cgi?id=677559
|
||||
-#if VALA_0_18
|
||||
+#if VALA_0_20
|
||||
Gdk.Keymap.get_default().map_virtual_modifiers(
|
||||
ref switch_modifiers);
|
||||
Gdk.Keymap.get_default().map_virtual_modifiers(
|
||||
ref switch_modifiers);
|
||||
#else
|
||||
|
@ -1,18 +1,18 @@
|
||||
From 1cd16fa05c05e64bf5ee89c92a02fe4323e1de2b Mon Sep 17 00:00:00 2001
|
||||
From 22c52cc54228a64c7e26cc33de9a47d8b1e98add Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Thu, 24 May 2012 17:49:19 +0900
|
||||
Date: Wed, 15 Aug 2012 18:36:29 +0900
|
||||
Subject: [PATCH] Disabled to show non-used GUI.
|
||||
|
||||
---
|
||||
setup/main.py | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++------
|
||||
setup/setup.ui | 33 +++++++++++++++++--------------
|
||||
2 files changed, 72 insertions(+), 21 deletions(-)
|
||||
setup/main.py | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++------
|
||||
setup/setup.ui | 38 ++++++++++++++++++----------------
|
||||
2 files changed, 77 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/setup/main.py b/setup/main.py
|
||||
index 0e4c83d..fda20ea 100644
|
||||
index 0e4c83d..0e33d7b 100644
|
||||
--- a/setup/main.py
|
||||
+++ b/setup/main.py
|
||||
@@ -77,22 +77,30 @@ class Setup(object):
|
||||
@@ -77,22 +77,31 @@ class Setup(object):
|
||||
self.__init_ui()
|
||||
|
||||
def __init_hotkey(self):
|
||||
@ -24,7 +24,8 @@ index 0e4c83d..fda20ea 100644
|
||||
}
|
||||
+ '''
|
||||
+ default_values = {
|
||||
+ 'trigger_accel' : ('trigger', ['<Control>space']),
|
||||
+ 'trigger_accel' : ('next_engine', ['<Control>space']),
|
||||
+ 'trigger_accel_backward' : ('prev_engine', ['<Control><Shift>space']),
|
||||
+ }
|
||||
|
||||
values = dict(self.__config.get_values("general/hotkey"))
|
||||
@ -49,7 +50,7 @@ index 0e4c83d..fda20ea 100644
|
||||
|
||||
def __init_panel(self):
|
||||
values = dict(self.__config.get_values("panel"))
|
||||
@@ -445,6 +453,46 @@ class Setup(object):
|
||||
@@ -445,6 +454,48 @@ class Setup(object):
|
||||
entry.set_text(text)
|
||||
entry.set_tooltip_text(text)
|
||||
|
||||
@ -61,6 +62,8 @@ index 0e4c83d..fda20ea 100644
|
||||
+ else:
|
||||
+ shortcuts = []
|
||||
+ orig_list =['<Control>space']
|
||||
+ if name == 'trigger_accel_backward':
|
||||
+ orig_list =['<Control><Shift>space']
|
||||
+ variant = self.__config.get_value(section, name)
|
||||
+ if variant != None:
|
||||
+ orig_list = variant.dup_strv()[0]
|
||||
@ -97,48 +100,27 @@ index 0e4c83d..fda20ea 100644
|
||||
def __item_started_column_toggled_cb(self, cell, path_str, model):
|
||||
|
||||
diff --git a/setup/setup.ui b/setup/setup.ui
|
||||
index 2026172..c6f5f3a 100644
|
||||
index 2026172..af99cae 100644
|
||||
--- a/setup/setup.ui
|
||||
+++ b/setup/setup.ui
|
||||
@@ -106,7 +106,7 @@
|
||||
<property name="row_spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label8">
|
||||
- <property name="visible">True</property>
|
||||
+ <property name="no_show_all">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">The shortcut keys for switching to next input method in the list</property>
|
||||
<property name="xalign">0</property>
|
||||
@@ -121,7 +121,7 @@
|
||||
</child>
|
||||
@@ -122,7 +122,6 @@
|
||||
<child>
|
||||
<object class="GtkLabel" id="label9">
|
||||
- <property name="visible">True</property>
|
||||
+ <property name="no_show_all">True</property>
|
||||
<property name="sensitive">False</property>
|
||||
<property name="visible">True</property>
|
||||
- <property name="sensitive">False</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">The shortcut keys for switching to previous input method in the list</property>
|
||||
@@ -144,7 +144,7 @@
|
||||
<object class="GtkEntry" id="entry_trigger">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
- <property name="editable">False</property>
|
||||
+ <!-- property name="editable">False</property -->
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
@@ -154,7 +154,9 @@
|
||||
</child>
|
||||
<property name="xalign">0</property>
|
||||
@@ -137,7 +136,7 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox4">
|
||||
- <property name="visible">True</property>
|
||||
+ <property name="no_show_all">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_trigger">
|
||||
- <property name="label" translatable="yes">...</property>
|
||||
+ <!-- property name="label" translatable="yes">...</property -->
|
||||
+ <property name="label">gtk-apply</property>
|
||||
+ <property name="use_stock">True</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
@@ -172,11 +174,12 @@
|
||||
@@ -172,6 +171,7 @@
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
@ -146,22 +128,61 @@ index 2026172..c6f5f3a 100644
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox5">
|
||||
- <property name="visible">True</property>
|
||||
+ <property name="no_show_all">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">6</property>
|
||||
@@ -183,7 +183,7 @@
|
||||
<object class="GtkEntry" id="entry_next_engine">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
- <property name="editable">False</property>
|
||||
+ <!-- property name="editable">False</property -->
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
@@ -193,7 +193,9 @@
|
||||
</child>
|
||||
<child>
|
||||
@@ -217,7 +220,7 @@
|
||||
<object class="GtkButton" id="button_next_engine">
|
||||
- <property name="label" translatable="yes">...</property>
|
||||
+ <!-- property name="label" translatable="yes">...</property -->
|
||||
+ <property name="label">gtk-apply</property>
|
||||
+ <property name="use_stock">True</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
@@ -223,9 +225,8 @@
|
||||
<child>
|
||||
<object class="GtkEntry" id="entry_prev_engine">
|
||||
<property name="visible">True</property>
|
||||
- <property name="sensitive">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
- <property name="editable">False</property>
|
||||
+ <!-- property name="editable">False</property -->
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
@@ -235,10 +236,11 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_prev_engine">
|
||||
- <property name="label" translatable="yes">...</property>
|
||||
+ <!-- property name="label" translatable="yes">...</property -->
|
||||
+ <property name="label">gtk-apply</property>
|
||||
+ <property name="use_stock">True</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="visible">True</property>
|
||||
- <property name="sensitive">False</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
@@ -260,7 +262,7 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox6">
|
||||
<object class="GtkLabel" id="label7">
|
||||
- <property name="visible">True</property>
|
||||
+ <property name="no_show_all">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
@@ -273,7 +276,7 @@
|
||||
<property name="tooltip_text" translatable="yes">The shortcut keys for turning input method on or off</property>
|
||||
<property name="xalign">0</property>
|
||||
@@ -273,7 +275,7 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label18">
|
||||
@ -170,7 +191,7 @@ index 2026172..c6f5f3a 100644
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">Enable:</property>
|
||||
@@ -287,7 +290,7 @@
|
||||
@@ -287,7 +289,7 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox2">
|
||||
@ -179,7 +200,7 @@ index 2026172..c6f5f3a 100644
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
@@ -328,7 +331,7 @@
|
||||
@@ -328,7 +330,7 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label19">
|
||||
@ -188,7 +209,7 @@ index 2026172..c6f5f3a 100644
|
||||
<property name="can_focus">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="label" translatable="yes">Disable:</property>
|
||||
@@ -342,7 +345,7 @@
|
||||
@@ -342,7 +344,7 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox3">
|
||||
@ -197,7 +218,7 @@ index 2026172..c6f5f3a 100644
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">6</property>
|
||||
<child>
|
||||
@@ -452,7 +455,7 @@
|
||||
@@ -452,7 +454,7 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label10">
|
||||
@ -206,7 +227,7 @@ index 2026172..c6f5f3a 100644
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Set the behavior of ibus how to show or hide language bar</property>
|
||||
<property name="xalign">0</property>
|
||||
@@ -481,7 +484,7 @@
|
||||
@@ -481,7 +483,7 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBox" id="combobox_panel_show">
|
||||
@ -215,7 +236,7 @@ index 2026172..c6f5f3a 100644
|
||||
<property name="can_focus">False</property>
|
||||
<property name="model">model_panel_show_mode</property>
|
||||
<child>
|
||||
@@ -521,7 +524,7 @@
|
||||
@@ -521,7 +523,7 @@
|
||||
<object class="GtkCheckButton" id="checkbutton_show_icon_on_systray">
|
||||
<property name="label" translatable="yes">Show icon on system tray</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
@ -224,7 +245,7 @@ index 2026172..c6f5f3a 100644
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Show icon on system tray</property>
|
||||
@@ -540,7 +543,7 @@
|
||||
@@ -540,7 +542,7 @@
|
||||
<object class="GtkCheckButton" id="checkbutton_show_im_name">
|
||||
<property name="label" translatable="yes">Show input method name on language bar</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
@ -233,7 +254,7 @@ index 2026172..c6f5f3a 100644
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Show input method's name on language bar when check the checkbox</property>
|
||||
@@ -1001,7 +1004,7 @@ You may use up/down buttons to change it.</i></small></property>
|
||||
@@ -1001,7 +1003,7 @@ You may use up/down buttons to change it.</i></small></property>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame5">
|
||||
|
@ -1,6 +1,6 @@
|
||||
From 3eb162c984dc420b085547b0a590f079262ef97d Mon Sep 17 00:00:00 2001
|
||||
From 7a37c380e3aa0dc0111b0a238b0d38b3521acc00 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Tue, 17 Jul 2012 17:43:10 +0900
|
||||
Date: Wed, 15 Aug 2012 18:25:08 +0900
|
||||
Subject: [PATCH] Enable ibus-setup to show the frequently used languages
|
||||
only in IME list.
|
||||
|
||||
@ -11,10 +11,10 @@ Subject: [PATCH] Enable ibus-setup to show the frequently used languages
|
||||
3 files changed, 300 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
|
||||
index 0d127d5..1ea4277 100644
|
||||
index 4086f67..445d423 100644
|
||||
--- a/data/ibus.schemas.in
|
||||
+++ b/data/ibus.schemas.in
|
||||
@@ -340,6 +340,174 @@ se,si,sk,sy,sy(ku),th,tj,tr,ua,uz,vn
|
||||
@@ -332,6 +332,174 @@ se,si,sk,sy,sy(ku),th,tj,tr,ua,uz,vn
|
||||
</locale>
|
||||
</schema>
|
||||
<schema>
|
||||
|
32
ibus.spec
32
ibus.spec
@ -14,7 +14,7 @@
|
||||
%endif
|
||||
|
||||
%if (0%{?fedora} > 16 || 0%{?rhel} > 6)
|
||||
%define ibus_gjs_version 3.4.1.20120518
|
||||
%define ibus_gjs_version 3.4.1.20120815
|
||||
%define ibus_gjs_build_failure 1
|
||||
%else
|
||||
%define ibus_gjs_version 3.2.1.20111230
|
||||
@ -29,8 +29,8 @@
|
||||
%define gnome_icon_theme_legacy_version 2.91.6
|
||||
|
||||
Name: ibus
|
||||
Version: 1.4.99.20120712
|
||||
Release: 3%{?dist}
|
||||
Version: 1.4.99.20120822
|
||||
Release: 1%{?dist}
|
||||
Summary: Intelligent Input Bus for Linux OS
|
||||
License: LGPLv2+
|
||||
Group: System Environment/Libraries
|
||||
@ -38,10 +38,11 @@ URL: http://code.google.com/p/ibus/
|
||||
Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
|
||||
Source1: xinput-ibus
|
||||
Source2: http://fujiwara.fedorapeople.org/ibus/gnome-shell/ibus-gjs-%{ibus_gjs_version}.tar.gz
|
||||
Patch0: ibus-HEAD.patch
|
||||
Patch1: ibus-541492-xkb.patch
|
||||
Patch2: ibus-530711-preload-sys.patch
|
||||
Patch3: ibus-xx-setup-frequent-lang.patch
|
||||
# Patch0: ibus-HEAD.patch
|
||||
Patch1: ibus-810211-no-switch-by-no-trigger.patch
|
||||
Patch2: ibus-541492-xkb.patch
|
||||
Patch3: ibus-530711-preload-sys.patch
|
||||
Patch4: ibus-xx-setup-frequent-lang.patch
|
||||
|
||||
# Workaround to disable preedit on gnome-shell until bug 658420 is fixed.
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=658420
|
||||
@ -55,7 +56,6 @@ Patch95: ibus-xx-f18-build.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
|
||||
BuildRequires: cvs
|
||||
BuildRequires: gettext-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: python
|
||||
@ -210,16 +210,17 @@ The ibus-devel-docs package contains developer documentation for ibus
|
||||
zcat %SOURCE2 | tar xf -
|
||||
%endif
|
||||
|
||||
%patch0 -p1
|
||||
# %patch0 -p1
|
||||
%patch92 -p1 -b .g-s-preedit
|
||||
cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c ||
|
||||
%patch1 -p1 -b .noswitch
|
||||
%if %with_xkbfile
|
||||
%patch1 -p1 -b .xkb
|
||||
%patch2 -p1 -b .xkb
|
||||
rm -f bindings/vala/ibus-1.0.vapi
|
||||
rm -f data/dconf/00-upstream-settings
|
||||
%endif
|
||||
%patch2 -p1 -b .preload-sys
|
||||
%patch3 -p1 -b .setup-frequent-lang
|
||||
%patch3 -p1 -b .preload-sys
|
||||
%patch4 -p1 -b .setup-frequent-lang
|
||||
|
||||
%if 0%{?fedora} <= 16
|
||||
%patch93 -p1 -b .compat
|
||||
@ -472,6 +473,13 @@ dconf update
|
||||
%{_datadir}/gtk-doc/html/*
|
||||
|
||||
%changelog
|
||||
* Wed Aug 22 2012 Takao Fujiwara <tfujiwar@redhat.com> - 1.4.99.20120822-1
|
||||
- Bumped to 1.4.99.20120822
|
||||
- Bumped to ibus-gjs 3.4.1.20120815
|
||||
Fixed Bug 845956 - ibus backward trigger key is not customized
|
||||
Fixed Bug 844580 - ibus-dconf does not load the system gvdb
|
||||
- Separated ibus-810211-no-switch-by-no-trigger.patch from ibus-HEAD.patch
|
||||
|
||||
* Fri Jul 27 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.99.20120712-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
|
4
sources
4
sources
@ -1,3 +1,3 @@
|
||||
0d884fafedf2ddfaa73a34a8eac7a1f0 ibus-1.4.99.20120712.tar.gz
|
||||
b7b7aa75b28cc28521e71ca499854695 ibus-1.4.99.20120822.tar.gz
|
||||
2d2ad58e3e41429dbd883ba7e501c9b2 ibus-gjs-3.2.1.20111230.tar.gz
|
||||
3fdef3e31c0354d927dc06df5dc02f9c ibus-gjs-3.4.1.20120518.tar.gz
|
||||
8acf4ac4d1a7dfb9a0af9e755a8e7dba ibus-gjs-3.4.1.20120815.tar.gz
|
||||
|
Loading…
Reference in New Issue
Block a user