Bumped to 1.4.99.20120712

This commit is contained in:
Takao Fujiwara 2012-07-17 19:27:02 +09:00
parent 44ea8108f1
commit db31e52830
11 changed files with 1241 additions and 942 deletions

1
.gitignore vendored
View File

@ -19,6 +19,7 @@ ibus-1.3.6.tar.gz
/ibus-1.4.99.20120304.tar.gz
/ibus-1.4.99.20120317.tar.gz
/ibus-1.4.99.20120428.tar.gz
/ibus-1.4.99.20120712.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

View File

@ -1,6 +1,6 @@
From f580050ab5612e1841639949781802dc6ee50fa1 Mon Sep 17 00:00:00 2001
From 9be5aced5397e3558870e4aa1a446e1aacc1730c Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Sat, 28 Apr 2012 13:07:57 +0900
Date: Tue, 17 Jul 2012 17:43:03 +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,
@ -19,13 +19,13 @@ IBUS_PRELOAD_ENGINE_MODE_USER and users can customize the value
---
data/ibus.schemas.in | 24 +++++++++
setup/main.py | 61 ++++++++++++++++++++--
setup/setup.ui | 21 ++++++--
setup/setup.ui | 22 ++++++--
src/ibustypes.h | 10 ++++
ui/gtk3/panel.vala | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 245 insertions(+), 7 deletions(-)
5 files changed, 246 insertions(+), 7 deletions(-)
diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
index 5e6c2d7..20c1bc3 100644
index 3591687..0d127d5 100644
--- a/data/ibus.schemas.in
+++ b/data/ibus.schemas.in
@@ -2,6 +2,30 @@
@ -60,7 +60,7 @@ index 5e6c2d7..20c1bc3 100644
<applyto>/desktop/ibus/general/preload_engines</applyto>
<owner>ibus</owner>
diff --git a/setup/main.py b/setup/main.py
index 4f57106..7612407 100644
index f3fe1c5..b7833e3 100644
--- a/setup/main.py
+++ b/setup/main.py
@@ -181,6 +181,20 @@ class Setup(object):
@ -160,12 +160,12 @@ index 4f57106..7612407 100644
def __config_reloaded_cb(self, bus):
pass
diff --git a/setup/setup.ui b/setup/setup.ui
index e37cb32..fec1646 100644
index 8121d62..2026172 100644
--- a/setup/setup.ui
+++ b/setup/setup.ui
@@ -585,7 +585,22 @@
@@ -653,7 +653,23 @@
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkHBox" id="hbox1">
+ <object class="GtkCheckButton" id="checkbutton_preload_engine_mode">
@ -179,27 +179,28 @@ index e37cb32..fec1646 100644
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox_customize_active_input_methods">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkAlignment" id="alignment6">
@@ -752,7 +767,7 @@
</child>
</object>
@@ -842,7 +858,7 @@
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="position">0</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
@@ -791,7 +806,7 @@ You may use up/down buttons to change it.&lt;/i&gt;&lt;/small&gt;</property>
</object>
@@ -889,7 +905,7 @@ You may use up/down buttons to change it.&lt;/i&gt;&lt;/small&gt;</property>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
@ -227,10 +228,10 @@ index d916265..422eb84 100644
* @x: x coordinate.
* @y: y coordinate.
diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
index c08f188..1adb78b 100644
index 2ecd48b..24acd4c 100644
--- a/ui/gtk3/panel.vala
+++ b/ui/gtk3/panel.vala
@@ -215,6 +215,8 @@ class Panel : IBus.PanelService {
@@ -279,6 +279,8 @@ class Panel : IBus.PanelService {
if (m_config != null) {
m_config.value_changed.connect(config_value_changed_cb);
m_config.watch("general", "preload_engines");
@ -239,7 +240,7 @@ index c08f188..1adb78b 100644
m_config.watch("general", "engines_order");
m_config.watch("panel", "custom_font");
m_config.watch("panel", "use_custom_font");
@@ -274,7 +276,136 @@ class Panel : IBus.PanelService {
@@ -338,7 +340,136 @@ class Panel : IBus.PanelService {
init_gkbd();
}
@ -376,7 +377,7 @@ index c08f188..1adb78b 100644
}
private void update_xkb_engines() {
@@ -449,6 +580,11 @@ class Panel : IBus.PanelService {
@@ -499,6 +630,11 @@ class Panel : IBus.PanelService {
string section,
string name,
Variant variant) {
@ -389,5 +390,5 @@ index c08f188..1adb78b 100644
update_engines(variant, null);
return;
--
1.7.10
1.7.10.4

File diff suppressed because it is too large Load Diff

View File

@ -1,37 +1,311 @@
From 469335730bb9dc7ba1702cfc5108491b6993677b Mon Sep 17 00:00:00 2001
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 52fbf82dd1babc0d8de7be0f5bb6de622c069b4d Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Wed, 9 May 2012 17:09:23 +0900
Date: Tue, 12 Jun 2012 11:53:29 +0900
Subject: [PATCH] Fix not to switch engines by non-trigger keys.
---
ui/gtk3/switcher.vala | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
ui/gtk3/switcher.vala | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
index 73b58d2..81812ec 100644
index b543a8f..ea56c07 100644
--- a/ui/gtk3/switcher.vala
+++ b/ui/gtk3/switcher.vala
@@ -58,6 +58,7 @@ class Switcher : Gtk.Window {
event.key.state & KeybindingManager.MODIFIER_FILTER);
@@ -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();
@@ -242,7 +243,11 @@ class Switcher : Gtk.Window {
@@ -343,6 +344,11 @@ class Switcher : Gtk.Window {
break;
default:
debug("0x%04x", pe->keyval);
- break;
+ if (m_loop != null) {
+ m_loop.quit();
+ m_loop = null;
+ }
+ return false;
}
return true;
+ retval = false;
break;
}
} while (false);
--
1.7.10
1.7.10.4

View File

@ -1,213 +0,0 @@
diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
index 52b0577..7821221 100644
--- a/ui/gtk3/switcher.vala
+++ b/ui/gtk3/switcher.vala
@@ -24,6 +24,8 @@ using IBus;
using GLib;
using Gtk;
using Gdk;
+using Pango;
+using Atk;
class Switcher : Gtk.Window {
private class Keybinding {
@@ -53,6 +55,7 @@ class Switcher : Gtk.Window {
Gdk.ModifierType.BUTTON5_MASK);
private Gtk.Box m_box;
+ private Gtk.Label m_label;
private Gtk.Button[] m_buttons = {};
private IBus.EngineDesc[] m_engines;
private uint m_selected_engine;
@@ -60,6 +63,8 @@ class Switcher : Gtk.Window {
private GLib.MainLoop m_loop;
private unowned GLib.List<Keybinding> m_keybindings;
private int m_result;
+ private int m_default_font_size = 16;
+ private const int m_desc_label_max_len = 20;
public Switcher() {
GLib.Object(
@@ -71,8 +76,23 @@ class Switcher : Gtk.Window {
modal : true,
focus_visible : true
);
- m_box = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
- add(m_box);
+ Gtk.Box vbox = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
+ add(vbox);
+ Gtk.Alignment align = new Gtk.Alignment(0.5f, 0.5f, 0.0f, 0.0f);
+ vbox.pack_start(align, true, true, 0);
+ m_box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 0);
+ align.add(m_box);
+ m_label = new Gtk.Label("");
+
+ /* Set the accessible role of the label to a status bar so it
+ * will emit name changed events that can be used by screen
+ * readers.
+ */
+ Atk.Object obj = m_label.get_accessible();
+ obj.set_role (Atk.Role.STATUSBAR);
+
+ m_label.set_padding(3, 3);
+ vbox.pack_end(m_label, false, false, 0);
grab_focus();
}
@@ -88,6 +108,7 @@ class Switcher : Gtk.Window {
update_engines(engines);
m_result = 0;
m_selected_engine = index;
+ m_label.set_text(m_buttons[index].get_data("longname"));
m_buttons[index].grab_focus();
m_keybindings = (GLib.List<Keybinding>) keybindings;
@@ -168,6 +189,35 @@ class Switcher : Gtk.Window {
return m_result;
}
+ private Gtk.Button ime_button_new(IBus.EngineDesc engine) {
+ var language = engine.get_language();
+ var symbol = engine.get_symbol();
+ var id = language;
+
+ if (id.length > 2) {
+ id = id[0:2];
+ }
+ if (symbol.length != 0) {
+ id = symbol;
+ }
+
+ var button = new Gtk.Button();
+ Gtk.Alignment align = new Gtk.Alignment(0.5f, 0.5f, 0.0f, 0.0f);
+ button.add(align);
+ Gtk.Box box = new Gtk.Box(Gtk.Orientation.VERTICAL, 0);
+ align.add(box);
+
+ Gtk.Label label = new Gtk.Label(id);
+ string id_font = "%d".printf(m_default_font_size);
+ string markup = "<span font=\"%s\">%s</span>".printf(id_font, id);
+
+ label.set_markup(markup);
+ box.pack_start(label, false, false, 0);
+
+ return button;
+ }
+
+ /* Based on metacity/src/ui/tabpopup.c:meta_ui_tab_popup_new */
private void update_engines(IBus.EngineDesc[] engines) {
foreach (var button in m_buttons) {
button.destroy();
@@ -179,28 +229,15 @@ class Switcher : Gtk.Window {
return;
}
- int width, height;
- Gtk.icon_size_lookup(Gtk.IconSize.MENU, out width, out height);
m_engines = engines;
+ int max_label_width = 0;
+
for (int i = 0; i < m_engines.length; i++) {
var index = i;
var engine = m_engines[i];
+ var button = ime_button_new(engine);
var longname = engine.get_longname();
- var language = engine.get_language();
- var symbol = engine.get_symbol();
- var id = language;
-
- if (id.length > 2) {
- id = id[0:2];
- }
- if (symbol.length != 0) {
- id = symbol;
- }
- var label = "%-15s %s".printf(longname, id);
- var button = new Gtk.Button.with_label(label);
- button.set_image(new IconWidget(engine.get_icon(), width));
button.set_relief(Gtk.ReliefStyle.NONE);
- button.set_alignment(1.0f, 0.0f);
button.show();
button.enter_notify_event.connect((e) => {
@@ -216,12 +253,40 @@ class Switcher : Gtk.Window {
return true;
});
+ if (longname.length > m_desc_label_max_len) {
+ longname = longname[0:m_desc_label_max_len];
+ }
+
+ button.set_data("longname", longname);
+ m_label.set_label(longname);
+
+ int width;
+ m_label.get_preferred_width(null, out width);
+ max_label_width = int.max(max_label_width, width);
+
m_box.pack_start(button, true, true);
m_buttons += button;
}
- // Cause window recalculate the perferred size.
- resize(1, 1);
+ m_label.set_text(m_buttons[0].get_data("longname"));
+ m_label.set_ellipsize(Pango.EllipsizeMode.END);
+
+ Gdk.Display display = Gdk.Display.get_default();
+ Gdk.Screen screen = (display != null) ?
+ display.get_default_screen() : null;
+ int screen_width = 0;
+
+ if (screen != null) {
+ screen_width = screen.get_width();
+ }
+
+ if (screen_width > 0 && max_label_width > (screen_width / 4)) {
+ max_label_width = screen_width / 4;
+ }
+
+ /* add random padding */
+ max_label_width += 20;
+ set_default_size(max_label_width, -1);
}
private void next_engine() {
@@ -229,6 +294,7 @@ class Switcher : Gtk.Window {
m_selected_engine = 0;
else
m_selected_engine ++;
+ m_label.set_text(m_buttons[m_selected_engine].get_data("longname"));
set_focus(m_buttons[m_selected_engine]);
}
@@ -237,6 +303,7 @@ class Switcher : Gtk.Window {
m_selected_engine = m_engines.length - 1;
else
m_selected_engine --;
+ m_label.set_text(m_buttons[m_selected_engine].get_data("longname"));
set_focus(m_buttons[m_selected_engine]);
}
@@ -267,18 +334,18 @@ class Switcher : Gtk.Window {
switch (pe->keyval) {
case 0x08fb: /* leftarrow */
- case 0xff51: /* Down */
+ case 0xff51: /* Left */
+ previous_engine();
break;
case 0x08fc: /* uparrow */
case 0xff52: /* Up */
- previous_engine();
break;
case 0x08fd: /* rightarrow */
case 0xff53: /* Right */
+ next_engine();
break;
case 0x08fe: /* downarrow */
case 0xff54: /* Down */
- next_engine();
break;
default:
debug("0x%04x", pe->keyval);

11
ibus-xx-f18-build.patch Normal file
View File

@ -0,0 +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
-#if VALA_0_18
+#if VALA_0_20
Gdk.Keymap.get_default().map_virtual_modifiers(
ref switch_modifiers);
#else

View File

@ -1,18 +1,18 @@
From 2238af14b654218696220f83b5ee39ae49c2ad98 Mon Sep 17 00:00:00 2001
From 027e4a40a37601c6733a8911fd3949a9310b0258 Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Wed, 7 Sep 2011 15:25:27 +0900
Date: Wed, 9 May 2012 19:15:00 +0900
Subject: [PATCH] Added a workaround to disable preedit in gnome-shell
https://bugzilla.gnome.org/show_bug.cgi?id=658420
---
client/gtk2/ibusimcontext.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
1 file changed, 8 insertions(+)
diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
index 327a5d9..39d2d0c 100644
index 584b92d..c4c61d3 100644
--- a/client/gtk2/ibusimcontext.c
+++ b/client/gtk2/ibusimcontext.c
@@ -583,6 +583,14 @@ ibus_im_context_init (GObject *obj)
@@ -584,6 +584,14 @@ ibus_im_context_init (GObject *obj)
#else
ibusimcontext->caps = IBUS_CAP_PREEDIT_TEXT | IBUS_CAP_FOCUS;
#endif
@ -28,5 +28,5 @@ index 327a5d9..39d2d0c 100644
// Create slave im context
--
1.7.5.4
1.7.10.4

View File

@ -1,6 +1,18 @@
--- ibus-1.4.99.20120428/setup/main.py.orig 2012-05-01 12:11:29.055651061 +0900
+++ ibus-1.4.99.20120428/setup/main.py 2012-05-01 17:55:23.053440859 +0900
@@ -75,22 +75,30 @@ class Setup(object):
From 1cd16fa05c05e64bf5ee89c92a02fe4323e1de2b Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Thu, 24 May 2012 17:49:19 +0900
Subject: [PATCH] Disabled to show non-used GUI.
---
setup/main.py | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++------
setup/setup.ui | 33 +++++++++++++++++--------------
2 files changed, 72 insertions(+), 21 deletions(-)
diff --git a/setup/main.py b/setup/main.py
index 0e4c83d..fda20ea 100644
--- a/setup/main.py
+++ b/setup/main.py
@@ -77,22 +77,30 @@ class Setup(object):
self.__init_ui()
def __init_hotkey(self):
@ -37,7 +49,7 @@
def __init_panel(self):
values = dict(self.__config.get_values("panel"))
@@ -443,6 +451,46 @@ class Setup(object):
@@ -445,6 +453,46 @@ class Setup(object):
entry.set_text(text)
entry.set_tooltip_text(text)
@ -84,27 +96,29 @@
def __item_started_column_toggled_cb(self, cell, path_str, model):
--- ibus-1.4.99.20120317/setup/setup.ui.orig 2012-03-16 14:58:23.948466373 +0900
+++ ibus-1.4.99.20120317/setup/setup.ui 2012-03-16 14:59:22.242094469 +0900
@@ -102,7 +102,7 @@
diff --git a/setup/setup.ui b/setup/setup.ui
index 2026172..c6f5f3a 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>
<property name="label" translatable="yes">Next input method:</property>
@@ -116,7 +116,7 @@
@@ -121,7 +121,7 @@
</child>
<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="can_focus">False</property>
<property name="tooltip_text" translatable="yes">The shortcut keys for switching to previous input method in the list</property>
<property name="xalign">0</property>
@@ -137,7 +137,7 @@
@@ -144,7 +144,7 @@
<object class="GtkEntry" id="entry_trigger">
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -112,8 +126,8 @@
+ <!-- property name="editable">False</property -->
</object>
<packing>
<property name="position">0</property>
@@ -145,7 +145,9 @@
<property name="expand">True</property>
@@ -154,7 +154,9 @@
</child>
<child>
<object class="GtkButton" id="button_trigger">
@ -121,10 +135,10 @@
+ <!-- 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>
<property name="receives_default">False</property>
@@ -160,11 +162,12 @@
@@ -172,11 +174,12 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@ -135,96 +149,99 @@
<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>
<child>
<object class="GtkEntry" id="entry_next_engine">
@@ -199,7 +202,7 @@
@@ -217,7 +220,7 @@
</child>
<child>
<object class="GtkHBox" id="hbox6">
- <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="GtkEntry" id="entry_prev_engine">
@@ -248,7 +251,7 @@
@@ -273,7 +276,7 @@
</child>
<child>
<object class="GtkLabel" id="label18">
- <property name="visible">True</property>
+ <property name="no_show_all">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Enable:</property>
</object>
@@ -261,7 +264,7 @@
@@ -287,7 +290,7 @@
</child>
<child>
<object class="GtkHBox" id="hbox2">
- <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="GtkEntry" id="entry_enable_unconditional">
@@ -296,7 +299,7 @@
@@ -328,7 +331,7 @@
</child>
<child>
<object class="GtkLabel" id="label19">
- <property name="visible">True</property>
+ <property name="no_show_all">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Disable:</property>
</object>
@@ -309,7 +312,7 @@
@@ -342,7 +345,7 @@
</child>
<child>
<object class="GtkHBox" id="hbox3">
- <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="GtkEntry" id="entry_disable_unconditional">
@@ -406,7 +409,7 @@
@@ -452,7 +455,7 @@
</child>
<child>
<object class="GtkLabel" id="label10">
- <property name="visible">True</property>
+ <property name="no_show_all">True</property>
<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>
<property name="label" translatable="yes">Show language panel:</property>
@@ -433,7 +436,7 @@
@@ -481,7 +484,7 @@
</child>
<child>
<object class="GtkComboBox" id="combobox_panel_show">
- <property name="visible">True</property>
+ <property name="no_show_all">True</property>
<property name="can_focus">False</property>
<property name="model">model_panel_show_mode</property>
<child>
<object class="GtkCellRendererText" id="renderer2"/>
@@ -470,7 +473,7 @@
<child>
@@ -521,7 +524,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>
- <property name="visible">True</property>
+ <property name="no_show_all">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Show icon on system tray</property>
@@ -486,7 +489,7 @@
<child>
@@ -540,7 +543,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>
- <property name="visible">True</property>
+ <property name="no_show_all">True</property>
<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>
@@ -893,7 +896,7 @@ You may use up/down buttons to change it
@@ -1001,7 +1004,7 @@ You may use up/down buttons to change it.&lt;/i&gt;&lt;/small&gt;</property>
</child>
<child>
<object class="GtkFrame" id="frame5">
- <property name="visible">True</property>
+ <property name="no_show_all">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
--
1.7.10.4

View File

@ -1,17 +1,17 @@
From f4e54576688df705f20fb25597852a451e063cef Mon Sep 17 00:00:00 2001
From 3eb162c984dc420b085547b0a590f079262ef97d Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Sat, 28 Apr 2012 13:08:12 +0900
Date: Tue, 17 Jul 2012 17:43:10 +0900
Subject: [PATCH] Enable ibus-setup to show the frequently used languages
only in IME list.
---
data/ibus.schemas.in | 168 +++++++++++++++++++++++++++++++++++++++++++++++
setup/enginecombobox.py | 156 ++++++++++++++++++++++++++++++++++++-------
setup/enginecombobox.py | 155 ++++++++++++++++++++++++++++++++++++-------
setup/main.py | 1 +
3 files changed, 300 insertions(+), 25 deletions(-)
3 files changed, 300 insertions(+), 24 deletions(-)
diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
index 20c1bc3..f6b55d6 100644
index 0d127d5..1ea4277 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
@ -190,7 +190,7 @@ index 20c1bc3..f6b55d6 100644
<applyto>/desktop/ibus/panel/custom_font</applyto>
<owner>ibus</owner>
diff --git a/setup/enginecombobox.py b/setup/enginecombobox.py
index 0ac7368..578098c 100644
index f80b164..578098c 100644
--- a/setup/enginecombobox.py
+++ b/setup/enginecombobox.py
@@ -45,6 +45,9 @@ class EngineComboBox(Gtk.ComboBox):
@ -203,7 +203,7 @@ index 0ac7368..578098c 100644
renderer = Gtk.CellRendererPixbuf()
renderer.set_property("xalign", 0)
@@ -58,21 +61,51 @@ class EngineComboBox(Gtk.ComboBox):
@@ -58,20 +61,51 @@ class EngineComboBox(Gtk.ComboBox):
self.pack_start(renderer, True)
self.set_cell_data_func(renderer, self.__name_cell_data_cb, None)
@ -248,7 +248,6 @@ index 0ac7368..578098c 100644
- self.__model.set(iter1, 0, 0)
- langs = {}
- for e in engines:
- print e.get_language()
- l = IBus.get_language_name(e.get_language())
- if l == None:
- l = ""
@ -268,7 +267,7 @@ index 0ac7368..578098c 100644
keys = langs.keys()
keys.sort(locale.strcoll)
loc = locale.getlocale()[0]
@@ -90,29 +123,86 @@ class EngineComboBox(Gtk.ComboBox):
@@ -89,29 +123,86 @@ class EngineComboBox(Gtk.ComboBox):
keys.remove(IBus.get_language_name("Other"))
keys += [IBus.get_language_name("Other")]
for l in keys:
@ -363,7 +362,7 @@ index 0ac7368..578098c 100644
else:
renderer.set_property("visible", True)
renderer.set_property("sensitive", True)
@@ -125,7 +215,8 @@ class EngineComboBox(Gtk.ComboBox):
@@ -124,7 +215,8 @@ class EngineComboBox(Gtk.ComboBox):
renderer.set_property("pixbuf", pixbuf)
def __name_cell_data_cb(self, celllayout, renderer, model, iter, data):
@ -373,7 +372,7 @@ index 0ac7368..578098c 100644
if isinstance (engine, str) or isinstance (engine, unicode):
renderer.set_property("sensitive", False)
@@ -133,8 +224,15 @@ class EngineComboBox(Gtk.ComboBox):
@@ -132,8 +224,15 @@ class EngineComboBox(Gtk.ComboBox):
renderer.set_property("weight", Pango.Weight.NORMAL)
elif isinstance(engine, int):
renderer.set_property("sensitive", True)
@ -391,7 +390,7 @@ index 0ac7368..578098c 100644
else:
renderer.set_property("sensitive", True)
renderer.set_property("text", engine.get_longname())
@@ -150,10 +248,18 @@ class EngineComboBox(Gtk.ComboBox):
@@ -149,10 +248,18 @@ class EngineComboBox(Gtk.ComboBox):
if i == 0 or i == -1:
return None
iter = self.get_active_iter()
@ -412,7 +411,7 @@ index 0ac7368..578098c 100644
return self.get_property("active-engine")
diff --git a/setup/main.py b/setup/main.py
index 7612407..1cb3e60 100644
index b7833e3..408e655 100644
--- a/setup/main.py
+++ b/setup/main.py
@@ -209,6 +209,7 @@ class Setup(object):
@ -424,5 +423,5 @@ index 7612407..1cb3e60 100644
engine_names = values.get("preload_engines", [])
--
1.7.10
1.7.10.4

View File

@ -29,8 +29,8 @@
%define gnome_icon_theme_legacy_version 2.91.6
Name: ibus
Version: 1.4.99.20120428
Release: 3%{?dist}
Version: 1.4.99.20120712
Release: 1%{?dist}
Summary: Intelligent Input Bus for Linux OS
License: LGPLv2+
Group: System Environment/Libraries
@ -48,10 +48,10 @@ Patch3: ibus-xx-setup-frequent-lang.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=658420
Patch92: ibus-xx-g-s-disable-preedit.patch
Patch93: ibus-771115-property-compatible.patch
# Apply GNOME Alt+Tab UI to IME switcher UI.
Patch94: ibus-xx-branding-switcher-ui.patch
# Hide no nused properties in f17.
Patch95: ibus-xx-no-use.diff
Patch94: ibus-xx-no-use.diff
# Workaround since f18 vala is old.
Patch95: ibus-xx-f18-build.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -119,6 +119,10 @@ Requires: gnome-icon-theme-symbolic
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils
%if %with_dconf
Requires(postun): dconf
Requires(posttrans): dconf
%endif
Requires(pre): GConf2
Requires(post): GConf2
@ -213,6 +217,7 @@ cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c ||
%if %with_xkbfile
%patch1 -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
@ -221,8 +226,8 @@ rm -f bindings/vala/ibus-1.0.vapi
%patch93 -p1 -b .compat
%endif
%patch94 -p1 -b .ime-ui
%patch95 -p1 -b .no-used
%patch94 -p1 -b .no-used
%patch95 -p1 -b .f18
%build
%if %with_xkbfile
@ -265,15 +270,15 @@ autoreconf -f -i
make -C ui/gtk3 maintainer-clean-generic
%endif
# make -C po update-gmo
make %{?_smp_mflags}
make USE_SYMBOL_ICON=TRUE %{?_smp_mflags}
%if %with_gjs
d=`basename %SOURCE2 .tar.gz`
cd $d
export PKG_CONFIG_PATH=..:/usr/lib64/pkgconfig:/usr/lib/pkgconfig
%configure \
--with-gnome-shell-version="3.4,3.3.92,3.3.90,3.3.5,3.3.4,3.3.3,3.2" \
--with-gjs-version="1.32,1.31.22,1.31.20,1.31.10,1.31.6,1.31.11,1.30"
--with-gnome-shell-version="3.5.3,3.4,3.3.92,3.3.90,3.3.5,3.3.4,3.3.3,3.2" \
--with-gjs-version="1.33.3,1.32,1.31.22,1.31.20,1.31.10,1.31.6,1.31.11,1.30"
make %{?_smp_mflags}
cd ..
%endif
@ -361,6 +366,11 @@ if [ "$1" -eq 0 ]; then
%if %with_dconf
glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
# 'dconf update' sometimes does not update the db...
dconf update
if [ -f %{_sysconfdir}/dconf/db/ibus ] ; then
rm -f %{_sysconfdir}/dconf/db/ibus
fi
%endif
fi
@ -368,6 +378,7 @@ fi
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%if %with_dconf
glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
dconf update
%endif
%post libs -p /sbin/ldconfig
@ -416,7 +427,7 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
# %{_sysconfdir}/xdg/autostart/ibus.desktop
%{_sysconfdir}/bash_completion.d/ibus.bash
%if %with_dconf
%{_sysconfdir}/dconf/db/ibus
%{_sysconfdir}/dconf/db/ibus.d
%{_sysconfdir}/dconf/profile/ibus
%else
%{_sysconfdir}/gconf/schemas/ibus.schemas
@ -462,6 +473,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
%{_datadir}/gtk-doc/html/*
%changelog
* Tue Jul 17 2012 Takao Fujiwara <tfujiwar@redhat.com> - 1.4.99.20120712-1
- Bumped to 1.4.99.20120712
- Removed ibus-xx-branding-switcher-ui.patch as upstreamed.
* Fri Jun 8 2012 Matthias Clasen <mclasen@redhat.com> - 1.4.99.20120428-3
- Rebuild against new libgnomekbd

View File

@ -1,3 +1,3 @@
276f30a81b634feb9c4bcc3e564ac948 ibus-1.4.99.20120428.tar.gz
0d884fafedf2ddfaa73a34a8eac7a1f0 ibus-1.4.99.20120712.tar.gz
2d2ad58e3e41429dbd883ba7e501c9b2 ibus-gjs-3.2.1.20111230.tar.gz
3fdef3e31c0354d927dc06df5dc02f9c ibus-gjs-3.4.1.20120518.tar.gz