Bumped to 1.5.2
This commit is contained in:
parent
7bb697baa8
commit
ba8f25c0f0
4
.gitignore
vendored
4
.gitignore
vendored
@ -51,3 +51,7 @@ ibus-1.3.6.tar.gz
|
||||
/ibus-gjs-3.4.1.20120518.tar.gz
|
||||
/ibus-gjs-3.4.1.20120815.tar.gz
|
||||
/ibus-gjs-3.4.1.20130115.tar.gz
|
||||
/ibus-1.5.2.tar.gz
|
||||
/ibus.1
|
||||
/ibus-setup.1
|
||||
/ibus-daemon.1
|
||||
|
@ -1,6 +1,6 @@
|
||||
From 84354457b25d77fed1184224ce71a31ff6facfec Mon Sep 17 00:00:00 2001
|
||||
From c907ff38e6f6de6637d79945efb9d1365b15a327 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Thu, 31 Jan 2013 17:30:09 +0900
|
||||
Date: Fri, 19 Apr 2013 09:47:18 +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, 254 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
|
||||
index 70bf9ca..7833959 100644
|
||||
index 704ba60..136c192 100644
|
||||
--- a/data/ibus.schemas.in
|
||||
+++ b/data/ibus.schemas.in
|
||||
@@ -2,6 +2,30 @@
|
||||
@ -253,10 +253,10 @@ index 737b3e2..8ce5a16 100644
|
||||
* @x: x coordinate.
|
||||
* @y: y coordinate.
|
||||
diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
|
||||
index 55b63ce..4717431 100644
|
||||
index 10eaa0c..0a12c0f 100644
|
||||
--- a/ui/gtk3/panel.vala
|
||||
+++ b/ui/gtk3/panel.vala
|
||||
@@ -291,6 +291,8 @@ class Panel : IBus.PanelService {
|
||||
@@ -308,6 +308,8 @@ class Panel : IBus.PanelService {
|
||||
if (m_config != null) {
|
||||
m_config.value_changed.connect(config_value_changed_cb);
|
||||
m_config.watch("general", "preload_engines");
|
||||
@ -264,8 +264,8 @@ index 55b63ce..4717431 100644
|
||||
+ m_config.watch("general", "preload_engine_mode");
|
||||
m_config.watch("general", "engines_order");
|
||||
m_config.watch("general", "switcher_delay_time");
|
||||
m_config.watch("general/hotkey", "triggers");
|
||||
@@ -358,7 +360,136 @@ class Panel : IBus.PanelService {
|
||||
m_config.watch("general", "use_system_keyboard_layout");
|
||||
@@ -379,7 +381,136 @@ class Panel : IBus.PanelService {
|
||||
init_gkbd();
|
||||
}
|
||||
|
||||
@ -402,7 +402,7 @@ index 55b63ce..4717431 100644
|
||||
}
|
||||
|
||||
private void update_xkb_engines() {
|
||||
@@ -573,6 +704,11 @@ class Panel : IBus.PanelService {
|
||||
@@ -596,6 +727,11 @@ class Panel : IBus.PanelService {
|
||||
string section,
|
||||
string name,
|
||||
Variant variant) {
|
||||
|
@ -1,12 +1,13 @@
|
||||
From 6772bc0fc82074cd00d56c0e9795d163b489281e Mon Sep 17 00:00:00 2001
|
||||
From 3130e980aafbb1ec025a7ca68559fb83e801cba3 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Fri, 11 Jan 2013 22:55:17 +0900
|
||||
Subject: [PATCH] Add ibus-xkb and libgnomekbd.
|
||||
Date: Fri, 19 Apr 2013 09:46:33 +0900
|
||||
Subject: [PATCH] Add libgnomekbd and load preload engines.
|
||||
|
||||
---
|
||||
bindings/vala/Gkbd-3.0.metadata | 1 +
|
||||
bindings/vala/Makefile.am | 15 ++
|
||||
bindings/vala/Makefile.am | 19 +-
|
||||
bindings/vala/Xkl-1.0.metadata | 3 +
|
||||
bindings/vala/gkbd.deps | 3 +
|
||||
configure.ac | 40 ++++
|
||||
data/ibus.schemas.in | 59 +++++
|
||||
ibus-1.0.pc.in | 1 +
|
||||
@ -20,9 +21,10 @@ Subject: [PATCH] Add ibus-xkb and libgnomekbd.
|
||||
ui/gtk3/gkbdlayout.vala.true | 108 ++++++++++
|
||||
ui/gtk3/panel.vala | 216 ++++++++++++++++++-
|
||||
ui/gtk3/xkblayout.vala | 431 +++++++++++++++++++++++++++++++++++++
|
||||
16 files changed, 1641 insertions(+), 1 deletion(-)
|
||||
17 files changed, 1645 insertions(+), 4 deletions(-)
|
||||
create mode 100644 bindings/vala/Gkbd-3.0.metadata
|
||||
create mode 100644 bindings/vala/Xkl-1.0.metadata
|
||||
create mode 100644 bindings/vala/gkbd.deps
|
||||
create mode 100644 src/ibusxkbxml.c
|
||||
create mode 100644 src/ibusxkbxml.h
|
||||
create mode 100644 ui/gtk3/gkbdlayout.vala.false
|
||||
@ -37,32 +39,41 @@ index 0000000..661e6fd
|
||||
@@ -0,0 +1 @@
|
||||
+Configuration cheader_filename="libgnomekbd/gkbd-configuration.h"
|
||||
diff --git a/bindings/vala/Makefile.am b/bindings/vala/Makefile.am
|
||||
index aba3454..bf3074a 100644
|
||||
index aba3454..3f93fba 100644
|
||||
--- a/bindings/vala/Makefile.am
|
||||
+++ b/bindings/vala/Makefile.am
|
||||
@@ -28,6 +28,17 @@ vapi_deps = \
|
||||
@@ -28,8 +28,6 @@ vapi_deps = \
|
||||
$(top_builddir)/src/IBus-1.0.gir \
|
||||
$(NULL)
|
||||
|
||||
-ibus-1.0.vapi: $(vapi_deps)
|
||||
-
|
||||
VAPIGEN_VAPIS = ibus-1.0.vapi
|
||||
|
||||
ibus_1_0_vapi_DEPS = gio-2.0
|
||||
@@ -39,15 +37,30 @@ ibus_1_0_vapi_FILES = \
|
||||
$(srcdir)/IBus-1.0-custom.vala \
|
||||
$(NULL)
|
||||
|
||||
+if ENABLE_LIBGNOMEKBD
|
||||
+vapi_deps += $(builddir)/gkbd.vapi
|
||||
+ibus-1.0.vapi: $(vapi_deps) gkbd.vapi
|
||||
+
|
||||
+$(builddir)/gkbd.vapi:
|
||||
+ $(AM_V_GEN) $(VAPIGEN) --library gkbd \
|
||||
+ --metadatadir $(srcdir) \
|
||||
+ --pkg gtk+-3.0 --pkg glib-2.0 --pkg gmodule-2.0 \
|
||||
+ /usr/share/gir-1.0/Gkbd-3.0.gir
|
||||
+ $(NULL)
|
||||
+VAPIGEN_VAPIS += gkbd.vapi
|
||||
+
|
||||
+gkbd_vapi_DEPS = gtk+-3.0 glib-2.0 gmodule-2.0
|
||||
+gkbd_vapi_METADATADIRS = $(srcdir)
|
||||
+gkbd_vapi_FILES = /usr/share/gir-1.0/Gkbd-3.0.gir
|
||||
+else
|
||||
+ibus-1.0.vapi: $(vapi_deps)
|
||||
+endif
|
||||
+
|
||||
ibus-1.0.vapi: $(vapi_deps)
|
||||
|
||||
VAPIGEN_VAPIS = ibus-1.0.vapi
|
||||
@@ -43,11 +54,15 @@ vapidir = $(datadir)/vala/vapi
|
||||
vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps)
|
||||
vapidir = $(datadir)/vala/vapi
|
||||
-vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps)
|
||||
+vapi_DATA = ibus-1.0.vapi ibus-1.0.deps
|
||||
|
||||
EXTRA_DIST = \
|
||||
+ Gkbd-3.0.metadata \
|
||||
+ gkbd.deps \
|
||||
IBus-1.0.metadata \
|
||||
IBus-1.0-custom.vala \
|
||||
ibus-1.0.deps \
|
||||
@ -71,8 +82,6 @@ index aba3454..bf3074a 100644
|
||||
+ Xkl-1.0.metadata \
|
||||
$(NULL)
|
||||
|
||||
+CLEANFILES = gkbd.vapi
|
||||
+
|
||||
-include $(top_srcdir)/git.mk
|
||||
diff --git a/bindings/vala/Xkl-1.0.metadata b/bindings/vala/Xkl-1.0.metadata
|
||||
new file mode 100644
|
||||
@ -83,8 +92,17 @@ index 0000000..4961d0c
|
||||
+Xkl cheader_filename="libxklavier/xklavier.h"
|
||||
+Engine
|
||||
+ .filter_events.evt ref type="X.Event"
|
||||
diff --git a/bindings/vala/gkbd.deps b/bindings/vala/gkbd.deps
|
||||
new file mode 100644
|
||||
index 0000000..172632c
|
||||
--- /dev/null
|
||||
+++ b/bindings/vala/gkbd.deps
|
||||
@@ -0,0 +1,3 @@
|
||||
+gtk+-3.0
|
||||
+glib-2.0
|
||||
+gmodule-2.0
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b328073..61d1464 100644
|
||||
index 3036792..06b6e0c 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -237,6 +237,45 @@ else
|
||||
@ -133,7 +151,7 @@ index b328073..61d1464 100644
|
||||
# GObject introspection
|
||||
GOBJECT_INTROSPECTION_CHECK([0.6.8])
|
||||
|
||||
@@ -579,6 +618,7 @@ Build options:
|
||||
@@ -574,6 +613,7 @@ Build options:
|
||||
No snooper regexes "$NO_SNOOPER_APPS"
|
||||
Panel icon "$IBUS_ICON_KEYBOARD"
|
||||
Enable surrounding-text $enable_surrounding_text
|
||||
@ -142,7 +160,7 @@ index b328073..61d1464 100644
|
||||
])
|
||||
|
||||
diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in
|
||||
index dbb6da8..70bf9ca 100644
|
||||
index 54ccb4c..704ba60 100644
|
||||
--- a/data/ibus.schemas.in
|
||||
+++ b/data/ibus.schemas.in
|
||||
@@ -42,6 +42,52 @@
|
||||
@ -231,44 +249,44 @@ index 9f593ab..c93a0ed 100644
|
||||
Name: IBus
|
||||
Description: IBus Library
|
||||
diff --git a/ibus.spec.in b/ibus.spec.in
|
||||
index 58cac38..4b6f869 100644
|
||||
index 7989949..5391538 100644
|
||||
--- a/ibus.spec.in
|
||||
+++ b/ibus.spec.in
|
||||
@@ -4,6 +4,7 @@
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
# Build flags
|
||||
%define build_python_library 0
|
||||
+%define build_xkb 0
|
||||
+%define build_libgnomekbd 0
|
||||
|
||||
%define glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999")
|
||||
%define gconf2_version 2.12.0
|
||||
@@ -38,6 +39,10 @@ BuildRequires: GConf2-devel
|
||||
@@ -40,6 +41,10 @@ BuildRequires: dconf-devel
|
||||
BuildRequires: pygobject2-devel
|
||||
BuildRequires: intltool
|
||||
BuildRequires: iso-codes-devel
|
||||
+%if %{build_xkb}
|
||||
+%if %{build_libgnomekbd}
|
||||
+BuildRequires: libxkbfile-devel
|
||||
+BuildRequires: libgnomekbd-devel
|
||||
+%endif
|
||||
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: %{name}-gtk2 = %{version}-%{release}
|
||||
@@ -51,6 +56,9 @@ Requires: im-chooser >= %{im_chooser_version}
|
||||
Requires: GConf2 >= %{gconf2_version}
|
||||
@@ -53,6 +58,9 @@ Requires: dbus-python >= %{dbus_python_version}
|
||||
Requires: im-chooser >= %{im_chooser_version}
|
||||
Requires: notify-python
|
||||
Requires: librsvg2
|
||||
+%if %{build_xkb}
|
||||
+%if %{build_libgnomekbd}
|
||||
+Requires: libgnomekbd
|
||||
+%endif
|
||||
|
||||
Requires(post): desktop-file-utils
|
||||
Requires(postun): desktop-file-utils
|
||||
@@ -132,6 +140,10 @@ OPTIONS="$OPTIONS --enable-python-library"
|
||||
@@ -153,6 +161,10 @@ OPTIONS="$OPTIONS --enable-python-library"
|
||||
OPTIONS="$OPTIONS --disable-python-library"
|
||||
%endif
|
||||
|
||||
+%if %{build_xkb}
|
||||
+OPTIONS="$OPTIONS --enable-xkb --enable-libgnomekbd"
|
||||
+%if %{build_libgnomekbd}
|
||||
+OPTIONS="$OPTIONS --enable-libgnomekbd"
|
||||
+%endif
|
||||
+
|
||||
%configure $OPTIONS
|
||||
@ -966,10 +984,10 @@ index 0000000..6f5b7bd
|
||||
+G_END_DECLS
|
||||
+#endif
|
||||
diff --git a/ui/gtk3/Makefile.am b/ui/gtk3/Makefile.am
|
||||
index 5473027..b7e663c 100644
|
||||
index 43454bc..6b7e70a 100644
|
||||
--- a/ui/gtk3/Makefile.am
|
||||
+++ b/ui/gtk3/Makefile.am
|
||||
@@ -47,6 +47,8 @@ USE_SYMBOL_ICON = FALSE
|
||||
@@ -45,6 +45,8 @@ USE_SYMBOL_ICON = FALSE
|
||||
# force include config.h before gi18n.h.
|
||||
AM_CPPFLAGS = -include $(CONFIG_HEADER)
|
||||
|
||||
@ -978,7 +996,7 @@ index 5473027..b7e663c 100644
|
||||
AM_CFLAGS = \
|
||||
@GLIB2_CFLAGS@ \
|
||||
@GIO2_CFLAGS@ \
|
||||
@@ -58,6 +60,8 @@ AM_CFLAGS = \
|
||||
@@ -56,6 +58,8 @@ AM_CFLAGS = \
|
||||
-DBINDIR=\"$(bindir)\" \
|
||||
-DIBUS_DISABLE_DEPRECATED \
|
||||
-DSWITCHER_USE_SYMBOL_ICON=$(USE_SYMBOL_ICON) \
|
||||
@ -987,23 +1005,8 @@ index 5473027..b7e663c 100644
|
||||
-Wno-unused-variable \
|
||||
-Wno-unused-but-set-variable \
|
||||
-Wno-unused-function \
|
||||
@@ -91,6 +95,7 @@ ibus_ui_gtk3_SOURCES = \
|
||||
application.vala \
|
||||
candidatearea.vala \
|
||||
candidatepanel.vala \
|
||||
+ gkbdlayout.vala \
|
||||
handle.vala \
|
||||
iconwidget.vala \
|
||||
keybindingmanager.vala \
|
||||
@@ -99,17 +104,48 @@ ibus_ui_gtk3_SOURCES = \
|
||||
property.vala \
|
||||
separator.vala \
|
||||
switcher.vala \
|
||||
+ xkblayout.vala \
|
||||
$(NULL)
|
||||
|
||||
ibus_ui_gtk3_LDADD = \
|
||||
$(AM_LDADD) \
|
||||
@@ -83,12 +87,40 @@ AM_VALAFLAGS = \
|
||||
--pkg=xi \
|
||||
$(NULL)
|
||||
|
||||
+if ENABLE_LIBGNOMEKBD
|
||||
@ -1033,15 +1036,35 @@ index 5473027..b7e663c 100644
|
||||
+ @cp $(srcdir)/gkbdlayout.vala.false $(srcdir)/gkbdlayout.vala
|
||||
+endif
|
||||
+
|
||||
CLEANFILES = \
|
||||
libexec_PROGRAMS = ibus-ui-gtk3
|
||||
|
||||
ibus_ui_gtk3_SOURCES = \
|
||||
application.vala \
|
||||
candidatearea.vala \
|
||||
candidatepanel.vala \
|
||||
+ gkbdlayout.vala \
|
||||
handle.vala \
|
||||
iconwidget.vala \
|
||||
keybindingmanager.vala \
|
||||
@@ -97,6 +129,7 @@ ibus_ui_gtk3_SOURCES = \
|
||||
property.vala \
|
||||
separator.vala \
|
||||
switcher.vala \
|
||||
+ xkblayout.vala \
|
||||
$(NULL)
|
||||
|
||||
ibus_ui_gtk3_LDADD = \
|
||||
@@ -105,9 +138,12 @@ ibus_ui_gtk3_LDADD = \
|
||||
|
||||
CLEANFILES = \
|
||||
gtkpanel.xml \
|
||||
+ gkbdlayout.vala \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_DIST = \
|
||||
+ gkbdlayout.vala.false \
|
||||
+ gkbdlayout.vala.true \
|
||||
gtkpanel.xml.in.in \
|
||||
gtkpanel.xml.in \
|
||||
$(NULL)
|
||||
|
||||
diff --git a/ui/gtk3/gkbdlayout.vala.false b/ui/gtk3/gkbdlayout.vala.false
|
||||
@ -1228,13 +1251,13 @@ index 0000000..2b78c69
|
||||
+ */
|
||||
+}
|
||||
diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
|
||||
index 24e6b2e..55b63ce 100644
|
||||
index 0d7a5b2..10eaa0c 100644
|
||||
--- a/ui/gtk3/panel.vala
|
||||
+++ b/ui/gtk3/panel.vala
|
||||
@@ -48,6 +48,13 @@ class Panel : IBus.PanelService {
|
||||
private Gtk.AboutDialog m_about_dialog;
|
||||
@@ -49,6 +49,13 @@ class Panel : IBus.PanelService {
|
||||
private Gtk.CssProvider m_css_provider;
|
||||
private int m_switcher_delay_time = 400;
|
||||
private bool m_use_system_keyboard_layout = false;
|
||||
+ private GkbdLayout m_gkbdlayout = null;
|
||||
+ private XKBLayout m_xkblayout = null;
|
||||
+ private string[] m_layouts = {};
|
||||
@ -1245,7 +1268,7 @@ index 24e6b2e..55b63ce 100644
|
||||
private const string ACCELERATOR_SWITCH_IME_FOREWARD = "<Control>space";
|
||||
|
||||
private GLib.List<Keybinding> m_keybindings = new GLib.List<Keybinding>();
|
||||
@@ -90,6 +97,14 @@ class Panel : IBus.PanelService {
|
||||
@@ -91,6 +98,14 @@ class Panel : IBus.PanelService {
|
||||
|
||||
~Panel() {
|
||||
unbind_switch_shortcut();
|
||||
@ -1260,15 +1283,15 @@ index 24e6b2e..55b63ce 100644
|
||||
}
|
||||
|
||||
private void keybinding_manager_bind(KeybindingManager keybinding_manager,
|
||||
@@ -281,6 +296,7 @@ class Panel : IBus.PanelService {
|
||||
@@ -299,6 +314,7 @@ class Panel : IBus.PanelService {
|
||||
m_config.watch("general/hotkey", "triggers");
|
||||
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"));
|
||||
unbind_switch_shortcut();
|
||||
@@ -293,6 +309,204 @@ class Panel : IBus.PanelService {
|
||||
// Update m_use_system_keyboard_layout before update_engines()
|
||||
// is called.
|
||||
set_use_system_keyboard_layout(null);
|
||||
@@ -314,6 +330,204 @@ class Panel : IBus.PanelService {
|
||||
set_custom_font();
|
||||
}
|
||||
|
||||
@ -1473,15 +1496,15 @@ index 24e6b2e..55b63ce 100644
|
||||
private void exec_setxkbmap(IBus.EngineDesc engine) {
|
||||
string layout = engine.get_layout();
|
||||
string variant = engine.get_layout_variant();
|
||||
@@ -352,7 +566,7 @@ class Panel : IBus.PanelService {
|
||||
return;
|
||||
@@ -374,7 +588,7 @@ class Panel : IBus.PanelService {
|
||||
}
|
||||
// set xkb layout
|
||||
- exec_setxkbmap(engine);
|
||||
+ set_layout(engine);
|
||||
if (!m_use_system_keyboard_layout) {
|
||||
- exec_setxkbmap(engine);
|
||||
+ set_layout(engine);
|
||||
}
|
||||
}
|
||||
|
||||
private void config_value_changed_cb(IBus.Config config,
|
||||
diff --git a/ui/gtk3/xkblayout.vala b/ui/gtk3/xkblayout.vala
|
||||
new file mode 100644
|
||||
index 0000000..165a905
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 092d20121fc5401810b60c1d01f331a80b4ed42c Mon Sep 17 00:00:00 2001
|
||||
From d3bc903b487bb301395947f692ce0d8c130874e3 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Sat, 6 Oct 2012 17:54:27 +0900
|
||||
Subject: [PATCH] Fix not to switch engines by non-trigger keys.
|
||||
@ -8,10 +8,10 @@ Subject: [PATCH] Fix not to switch engines by non-trigger keys.
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
|
||||
index 494fab9..c5286b1 100644
|
||||
index 4a02743..c606682 100644
|
||||
--- a/ui/gtk3/switcher.vala
|
||||
+++ b/ui/gtk3/switcher.vala
|
||||
@@ -127,6 +127,7 @@ class Switcher : Gtk.Window {
|
||||
@@ -140,6 +140,7 @@ class Switcher : Gtk.Window {
|
||||
/* Let gtk recalculate the window size. */
|
||||
resize(1, 1);
|
||||
|
||||
@ -19,7 +19,7 @@ index 494fab9..c5286b1 100644
|
||||
m_selected_engine = index;
|
||||
m_label.set_text(m_buttons[index].longname);
|
||||
m_buttons[index].grab_focus();
|
||||
@@ -365,6 +366,11 @@ class Switcher : Gtk.Window {
|
||||
@@ -378,6 +379,11 @@ class Switcher : Gtk.Window {
|
||||
break;
|
||||
default:
|
||||
debug("0x%04x", pe->keyval);
|
||||
|
43
ibus-947318-reconnect-gtk-client.patch
Normal file
43
ibus-947318-reconnect-gtk-client.patch
Normal file
@ -0,0 +1,43 @@
|
||||
From ef3aaa7bee7dd4c9ab3ccbe5a62d20be3b06a309 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Thu, 18 Apr 2013 09:48:25 +0900
|
||||
Subject: [PATCH] IBusIMContext needs to reconnect IBusBus when IBusBus is
|
||||
disconnected.
|
||||
|
||||
---
|
||||
client/gtk2/ibusimcontext.c | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
|
||||
index 49598b4..8c7dbcc 100644
|
||||
--- a/client/gtk2/ibusimcontext.c
|
||||
+++ b/client/gtk2/ibusimcontext.c
|
||||
@@ -1474,6 +1474,25 @@ _ibus_context_destroy_cb (IBusInputContext *ibuscontext,
|
||||
|
||||
g_signal_emit (ibusimcontext, _signal_preedit_changed_id, 0);
|
||||
g_signal_emit (ibusimcontext, _signal_preedit_end_id, 0);
|
||||
+
|
||||
+ /* This destroy callback can be called when the client app connects to
|
||||
+ * IBusBus and the app is disconnected. E.g. gnome-shell connects to
|
||||
+ * IBusBus and it has StEntry input text and ibus can be restarted.
|
||||
+ * And each ibusimcontext also needs to reconnect IBusBus here. */
|
||||
+ if (!ibus_bus_is_connected (_bus)) {
|
||||
+ g_signal_handlers_disconnect_by_func (_bus,
|
||||
+ G_CALLBACK (_bus_connected_cb),
|
||||
+ ibusimcontext);
|
||||
+ g_object_unref (_bus);
|
||||
+ _bus = ibus_bus_new_async ();
|
||||
+
|
||||
+ if (ibus_bus_is_connected (_bus)) {
|
||||
+ _create_input_context (ibusimcontext);
|
||||
+ }
|
||||
+
|
||||
+ g_signal_connect (_bus, "connected", G_CALLBACK (_bus_connected_cb),
|
||||
+ ibusimcontext);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
1.8.0
|
||||
|
396
ibus-HEAD.patch
396
ibus-HEAD.patch
@ -1,397 +1 @@
|
||||
From 8ac534fc002356b93e2015a8866f1ea89e3895f9 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Sat, 15 Dec 2012 17:40:18 +0900
|
||||
Subject: [PATCH] Use Variant.unpack() instead of Variant.dup_strv().
|
||||
|
||||
Variant.dup_strv() returns a tuple in pygobject 3.2, e.g. (['<Control>space'], 1L), and a list in pygobject 3.4, e.g. ['<Control>space'] .
|
||||
|
||||
BUG=RH#887153
|
||||
|
||||
Review URL: https://codereview.appspot.com/6941051
|
||||
---
|
||||
setup/main.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/setup/main.py b/setup/main.py
|
||||
index a8acc7a..707faa4 100644
|
||||
--- a/setup/main.py
|
||||
+++ b/setup/main.py
|
||||
@@ -87,7 +87,7 @@ class Setup(object):
|
||||
label = 'switch_engine'
|
||||
variant = self.__config.get_value('general/hotkey', name)
|
||||
if variant != None:
|
||||
- shortcuts = variant.dup_strv()
|
||||
+ shortcuts = variant.unpack()
|
||||
else:
|
||||
shortcuts = ['<Control>space']
|
||||
|
||||
--
|
||||
1.7.12.1
|
||||
|
||||
From 62cd0492e3459416e1775aedc327bced53f66828 Mon Sep 17 00:00:00 2001
|
||||
From: Rui Matos <tiagomatos@gmail.com>
|
||||
Date: Wed, 9 Jan 2013 10:14:55 -0500
|
||||
Subject: [PATCH] client: Queue events while the IBus context isn't ready
|
||||
|
||||
There are actually 3 patches here.
|
||||
|
||||
---
|
||||
client: Queue events while the IBus context isn't ready
|
||||
|
||||
We may lose events that ought to be processed while the IBus context
|
||||
isn't ready or if the connection to IBus isn't fully established yet.
|
||||
|
||||
To avoid that, enqueue events to be processed later when the IBus
|
||||
context creation finishes.
|
||||
|
||||
---
|
||||
client: Don't cancel an ongoing create input context on another request
|
||||
|
||||
This would only add more delays.
|
||||
|
||||
---
|
||||
client: Cancel any ongoing create input context request on finalize
|
||||
|
||||
BUG=
|
||||
|
||||
Review URL: https://codereview.appspot.com/6988047
|
||||
Patch from Rui Matos <tiagomatos@gmail.com>.
|
||||
---
|
||||
client/gtk2/ibusimcontext.c | 220 ++++++++++++++++++++++++++------------------
|
||||
1 file changed, 133 insertions(+), 87 deletions(-)
|
||||
|
||||
diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
|
||||
index 011676f..94005b7 100644
|
||||
--- a/client/gtk2/ibusimcontext.c
|
||||
+++ b/client/gtk2/ibusimcontext.c
|
||||
@@ -40,6 +40,8 @@
|
||||
# define IDEBUG(a...)
|
||||
#endif
|
||||
|
||||
+#define MAX_QUEUED_EVENTS 20
|
||||
+
|
||||
struct _IBusIMContext {
|
||||
GtkIMContext parent;
|
||||
|
||||
@@ -63,6 +65,7 @@ struct _IBusIMContext {
|
||||
|
||||
/* cancellable */
|
||||
GCancellable *cancellable;
|
||||
+ GQueue *events_queue;
|
||||
};
|
||||
|
||||
struct _IBusIMContextClass {
|
||||
@@ -154,6 +157,8 @@ static GType _ibus_type_im_context = 0;
|
||||
static GtkIMContextClass *parent_class = NULL;
|
||||
|
||||
static IBusBus *_bus = NULL;
|
||||
+static guint _daemon_name_watch_id = 0;
|
||||
+static gboolean _daemon_is_running = FALSE;
|
||||
|
||||
void
|
||||
ibus_im_context_register_type (GTypeModule *type_module)
|
||||
@@ -261,6 +266,46 @@ _process_key_event_done (GObject *object,
|
||||
gdk_event_free ((GdkEvent *)event);
|
||||
}
|
||||
|
||||
+static gboolean
|
||||
+_process_key_event (IBusInputContext *context,
|
||||
+ GdkEventKey *event)
|
||||
+{
|
||||
+ guint state = event->state;
|
||||
+ gboolean retval = FALSE;
|
||||
+
|
||||
+ if (event->type == GDK_KEY_RELEASE) {
|
||||
+ state |= IBUS_RELEASE_MASK;
|
||||
+ }
|
||||
+
|
||||
+ if (_use_sync_mode) {
|
||||
+ retval = ibus_input_context_process_key_event (context,
|
||||
+ event->keyval,
|
||||
+ event->hardware_keycode - 8,
|
||||
+ state);
|
||||
+ }
|
||||
+ else {
|
||||
+ ibus_input_context_process_key_event_async (context,
|
||||
+ event->keyval,
|
||||
+ event->hardware_keycode - 8,
|
||||
+ state,
|
||||
+ -1,
|
||||
+ NULL,
|
||||
+ _process_key_event_done,
|
||||
+ gdk_event_copy ((GdkEvent *) event));
|
||||
+
|
||||
+ retval = TRUE;
|
||||
+ }
|
||||
+
|
||||
+ if (retval) {
|
||||
+ event->state |= IBUS_HANDLED_MASK;
|
||||
+ }
|
||||
+ else {
|
||||
+ event->state |= IBUS_IGNORED_MASK;
|
||||
+ }
|
||||
+
|
||||
+ return retval;
|
||||
+}
|
||||
+
|
||||
|
||||
/* emit "retrieve-surrounding" glib signal of GtkIMContext, if
|
||||
* context->caps has IBUS_CAP_SURROUNDING_TEXT and the current IBus
|
||||
@@ -387,38 +432,7 @@ _key_snooper_cb (GtkWidget *widget,
|
||||
ibusimcontext->time = event->time;
|
||||
}
|
||||
|
||||
- guint state = event->state;
|
||||
- if (event->type == GDK_KEY_RELEASE) {
|
||||
- state |= IBUS_RELEASE_MASK;
|
||||
- }
|
||||
-
|
||||
- if (_use_sync_mode) {
|
||||
- retval = ibus_input_context_process_key_event (
|
||||
- ibuscontext,
|
||||
- event->keyval,
|
||||
- event->hardware_keycode - 8,
|
||||
- state);
|
||||
- }
|
||||
- else {
|
||||
- ibus_input_context_process_key_event_async (
|
||||
- ibuscontext,
|
||||
- event->keyval,
|
||||
- event->hardware_keycode - 8,
|
||||
- state,
|
||||
- -1,
|
||||
- NULL,
|
||||
- _process_key_event_done,
|
||||
- gdk_event_copy ((GdkEvent *) event));
|
||||
- retval = TRUE;
|
||||
-
|
||||
- }
|
||||
-
|
||||
- if (retval) {
|
||||
- event->state |= IBUS_HANDLED_MASK;
|
||||
- }
|
||||
- else {
|
||||
- event->state |= IBUS_IGNORED_MASK;
|
||||
- }
|
||||
+ retval = _process_key_event (ibuscontext, event);
|
||||
|
||||
if (ibusimcontext != NULL) {
|
||||
/* unref ibusimcontext could call ibus_im_context_finalize here
|
||||
@@ -450,6 +464,23 @@ _get_boolean_env(const gchar *name,
|
||||
}
|
||||
|
||||
static void
|
||||
+daemon_name_appeared (GDBusConnection *connection,
|
||||
+ const gchar *name,
|
||||
+ const gchar *owner,
|
||||
+ gpointer data)
|
||||
+{
|
||||
+ _daemon_is_running = TRUE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+daemon_name_vanished (GDBusConnection *connection,
|
||||
+ const gchar *name,
|
||||
+ gpointer data)
|
||||
+{
|
||||
+ _daemon_is_running = FALSE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
ibus_im_context_class_init (IBusIMContextClass *class)
|
||||
{
|
||||
IDEBUG ("%s", __FUNCTION__);
|
||||
@@ -533,6 +564,14 @@ ibus_im_context_class_init (IBusIMContextClass *class)
|
||||
/* always install snooper */
|
||||
if (_key_snooper_id == 0)
|
||||
_key_snooper_id = gtk_key_snooper_install (_key_snooper_cb, NULL);
|
||||
+
|
||||
+ _daemon_name_watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION,
|
||||
+ IBUS_SERVICE_IBUS,
|
||||
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
|
||||
+ daemon_name_appeared,
|
||||
+ daemon_name_vanished,
|
||||
+ NULL,
|
||||
+ NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -543,6 +582,8 @@ ibus_im_context_class_fini (IBusIMContextClass *class)
|
||||
gtk_key_snooper_remove (_key_snooper_id);
|
||||
_key_snooper_id = 0;
|
||||
}
|
||||
+
|
||||
+ g_bus_unwatch_name (_daemon_name_watch_id);
|
||||
}
|
||||
|
||||
/* Copied from gtk+2.0-2.20.1/modules/input/imcedilla.c to fix crosbug.com/11421.
|
||||
@@ -602,6 +643,7 @@ ibus_im_context_init (GObject *obj)
|
||||
ibusimcontext->caps = IBUS_CAP_PREEDIT_TEXT | IBUS_CAP_FOCUS;
|
||||
#endif
|
||||
|
||||
+ ibusimcontext->events_queue = g_queue_new ();
|
||||
|
||||
// Create slave im context
|
||||
ibusimcontext->slave = gtk_im_context_simple_new ();
|
||||
@@ -651,6 +693,13 @@ ibus_im_context_finalize (GObject *obj)
|
||||
|
||||
g_signal_handlers_disconnect_by_func (_bus, G_CALLBACK (_bus_connected_cb), obj);
|
||||
|
||||
+ if (ibusimcontext->cancellable != NULL) {
|
||||
+ /* Cancel any ongoing create input context request */
|
||||
+ g_cancellable_cancel (ibusimcontext->cancellable);
|
||||
+ g_object_unref (ibusimcontext->cancellable);
|
||||
+ ibusimcontext->cancellable = NULL;
|
||||
+ }
|
||||
+
|
||||
if (ibusimcontext->ibuscontext) {
|
||||
ibus_proxy_destroy ((IBusProxy *)ibusimcontext->ibuscontext);
|
||||
}
|
||||
@@ -670,6 +719,9 @@ ibus_im_context_finalize (GObject *obj)
|
||||
pango_attr_list_unref (ibusimcontext->preedit_attrs);
|
||||
}
|
||||
|
||||
+ g_queue_free_full (ibusimcontext->events_queue,
|
||||
+ (GDestroyNotify)gdk_event_free);
|
||||
+
|
||||
G_OBJECT_CLASS(parent_class)->finalize (obj);
|
||||
}
|
||||
|
||||
@@ -681,65 +733,56 @@ ibus_im_context_filter_keypress (GtkIMContext *context,
|
||||
|
||||
IBusIMContext *ibusimcontext = IBUS_IM_CONTEXT (context);
|
||||
|
||||
- if (G_LIKELY (ibusimcontext->ibuscontext && ibusimcontext->has_focus)) {
|
||||
- /* If context does not have focus, ibus will process key event in sync mode.
|
||||
- * It is a workaround for increase search in treeview.
|
||||
- */
|
||||
- gboolean retval = FALSE;
|
||||
-
|
||||
- if (event->state & IBUS_HANDLED_MASK)
|
||||
- return TRUE;
|
||||
+ if (!_daemon_is_running)
|
||||
+ return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
|
||||
|
||||
- if (event->state & IBUS_IGNORED_MASK)
|
||||
- return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
|
||||
+ /* If context does not have focus, ibus will process key event in
|
||||
+ * sync mode. It is a workaround for increase search in treeview.
|
||||
+ */
|
||||
+ if (!ibusimcontext->has_focus)
|
||||
+ return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
|
||||
|
||||
- /* XXX it is a workaround for some applications do not set client window. */
|
||||
- if (ibusimcontext->client_window == NULL && event->window != NULL)
|
||||
- gtk_im_context_set_client_window ((GtkIMContext *)ibusimcontext, event->window);
|
||||
+ if (event->state & IBUS_HANDLED_MASK)
|
||||
+ return TRUE;
|
||||
|
||||
- _request_surrounding_text (ibusimcontext);
|
||||
+ if (event->state & IBUS_IGNORED_MASK)
|
||||
+ return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
|
||||
|
||||
- if (ibusimcontext != NULL) {
|
||||
- ibusimcontext->time = event->time;
|
||||
- }
|
||||
+ /* XXX it is a workaround for some applications do not set client
|
||||
+ * window. */
|
||||
+ if (ibusimcontext->client_window == NULL && event->window != NULL)
|
||||
+ gtk_im_context_set_client_window ((GtkIMContext *)ibusimcontext,
|
||||
+ event->window);
|
||||
|
||||
- guint state = event->state;
|
||||
- if (event->type == GDK_KEY_RELEASE) {
|
||||
- state |= IBUS_RELEASE_MASK;
|
||||
- }
|
||||
+ _request_surrounding_text (ibusimcontext);
|
||||
|
||||
- if (_use_sync_mode) {
|
||||
- retval = ibus_input_context_process_key_event (
|
||||
- ibusimcontext->ibuscontext,
|
||||
- event->keyval,
|
||||
- event->hardware_keycode - 8,
|
||||
- state);
|
||||
- }
|
||||
- else {
|
||||
- ibus_input_context_process_key_event_async (
|
||||
- ibusimcontext->ibuscontext,
|
||||
- event->keyval,
|
||||
- event->hardware_keycode - 8,
|
||||
- state,
|
||||
- -1,
|
||||
- NULL,
|
||||
- _process_key_event_done,
|
||||
- gdk_event_copy ((GdkEvent *) event));
|
||||
- retval = TRUE;
|
||||
- }
|
||||
+ ibusimcontext->time = event->time;
|
||||
|
||||
- if (retval) {
|
||||
- event->state |= IBUS_HANDLED_MASK;
|
||||
+ if (ibusimcontext->ibuscontext) {
|
||||
+ if (_process_key_event (ibusimcontext->ibuscontext, event))
|
||||
return TRUE;
|
||||
- }
|
||||
- else {
|
||||
- event->state |= IBUS_IGNORED_MASK;
|
||||
- return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
|
||||
- }
|
||||
+ else
|
||||
+ return gtk_im_context_filter_keypress (ibusimcontext->slave,
|
||||
+ event);
|
||||
}
|
||||
- else {
|
||||
- return gtk_im_context_filter_keypress (ibusimcontext->slave, event);
|
||||
+
|
||||
+ /* At this point we _should_ be waiting for the IBus context to be
|
||||
+ * created or the connection to IBus to be established. If that's
|
||||
+ * the case we queue events to be processed when the IBus context
|
||||
+ * is ready. */
|
||||
+ g_return_val_if_fail (ibusimcontext->cancellable != NULL ||
|
||||
+ ibus_bus_is_connected (_bus) == FALSE,
|
||||
+ FALSE);
|
||||
+ g_queue_push_tail (ibusimcontext->events_queue,
|
||||
+ gdk_event_copy ((GdkEvent *)event));
|
||||
+
|
||||
+ if (g_queue_get_length (ibusimcontext->events_queue) > MAX_QUEUED_EVENTS) {
|
||||
+ g_warning ("Events queue growing too big, will start to drop.");
|
||||
+ gdk_event_free ((GdkEvent *)
|
||||
+ g_queue_pop_head (ibusimcontext->events_queue));
|
||||
}
|
||||
+
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1482,6 +1525,14 @@ _create_input_context_done (IBusBus *bus,
|
||||
ibus_input_context_focus_in (ibusimcontext->ibuscontext);
|
||||
_set_cursor_location_internal (ibusimcontext);
|
||||
}
|
||||
+
|
||||
+ if (!g_queue_is_empty (ibusimcontext->events_queue)) {
|
||||
+ GdkEventKey *event;
|
||||
+ while (event = g_queue_pop_head (ibusimcontext->events_queue)) {
|
||||
+ _process_key_event (context, event);
|
||||
+ gdk_event_free ((GdkEvent *)event);
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
g_object_unref (ibusimcontext);
|
||||
@@ -1494,12 +1545,7 @@ _create_input_context (IBusIMContext *ibusimcontext)
|
||||
|
||||
g_assert (ibusimcontext->ibuscontext == NULL);
|
||||
|
||||
- if (ibusimcontext->cancellable != NULL) {
|
||||
- /* Cancel previous create input context request */
|
||||
- g_cancellable_cancel (ibusimcontext->cancellable);
|
||||
- g_object_unref (ibusimcontext->cancellable);
|
||||
- ibusimcontext->cancellable = NULL;
|
||||
- }
|
||||
+ g_return_if_fail (ibusimcontext->cancellable == NULL);
|
||||
|
||||
ibusimcontext->cancellable = g_cancellable_new ();
|
||||
|
||||
--
|
||||
1.8.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1f21bce0403cdf7f99faa33842bc23b49aaee8cc Mon Sep 17 00:00:00 2001
|
||||
From 918f22efe0898a6dc87da4d94dadf413e7840e43 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Thu, 31 Jan 2013 17:31:55 +0900
|
||||
Subject: [PATCH] Enable ibus-setup to show the frequently used languages
|
||||
@ -11,7 +11,7 @@ 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 7833959..72bcc72 100644
|
||||
index 136c192..bd566ca 100644
|
||||
--- a/data/ibus.schemas.in
|
||||
+++ b/data/ibus.schemas.in
|
||||
@@ -325,6 +325,174 @@ se,si,sk,sy,sy(ku),th,tj,tr,ua,uz,vn
|
||||
|
@ -1,80 +0,0 @@
|
||||
--- ibus-1.5.1/bindings/vala/Makefile.am.orig 2013-01-15 16:58:25.571433690 +0900
|
||||
+++ ibus-1.5.1/bindings/vala/Makefile.am 2013-01-15 16:58:46.983455158 +0900
|
||||
@@ -20,17 +20,38 @@
|
||||
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
# Boston, MA 02111-1307 USA
|
||||
|
||||
--include $(VAPIGEN_MAKEFILE)
|
||||
+vapidir = $(datadir)/vala/vapi
|
||||
+dist_vapi_DATA = \
|
||||
+ ibus-@IBUS_API_VERSION@.vapi \
|
||||
+ ibus-@IBUS_API_VERSION@.deps \
|
||||
+ $(NULL)
|
||||
|
||||
+# Don't rebuild vapi every time gir is updated.
|
||||
+if ENABLE_LIBGNOMEKBD
|
||||
vapi_deps = \
|
||||
- IBus-1.0.metadata \
|
||||
- IBus-1.0-custom.vala \
|
||||
- $(top_builddir)/src/IBus-1.0.gir \
|
||||
+ $(srcdir)/IBus-1.0.metadata \
|
||||
+ $(srcdir)/IBus-1.0-custom.vala \
|
||||
+ | \
|
||||
+ $(builddir)/gkbd.vapi \
|
||||
+ $(top_srcdir)/src/IBus-@IBUS_API_VERSION@.gir \
|
||||
$(NULL)
|
||||
+else
|
||||
+vapi_deps = \
|
||||
+ $(srcdir)/IBus-1.0.metadata \
|
||||
+ $(srcdir)/IBus-1.0-custom.vala \
|
||||
+ | \
|
||||
+ $(top_srcdir)/src/IBus-@IBUS_API_VERSION@.gir \
|
||||
+ $(NULL)
|
||||
+endif
|
||||
|
||||
-if ENABLE_LIBGNOMEKBD
|
||||
-vapi_deps += $(builddir)/gkbd.vapi
|
||||
+ibus-@IBUS_API_VERSION@.vapi: $(vapi_deps)
|
||||
+ $(AM_V_GEN) $(VAPIGEN) --library ibus-@IBUS_API_VERSION@ \
|
||||
+ --pkg gio-2.0 \
|
||||
+ --metadatadir=$(srcdir) \
|
||||
+ $(top_srcdir)/src/IBus-@IBUS_API_VERSION@.gir \
|
||||
+ $(srcdir)/IBus-1.0-custom.vala
|
||||
|
||||
+if ENABLE_LIBGNOMEKBD
|
||||
$(builddir)/gkbd.vapi:
|
||||
$(AM_V_GEN) $(VAPIGEN) --library gkbd \
|
||||
--metadatadir $(srcdir) \
|
||||
@@ -39,25 +60,10 @@ $(builddir)/gkbd.vapi:
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
-ibus-1.0.vapi: $(vapi_deps)
|
||||
-
|
||||
-VAPIGEN_VAPIS = ibus-1.0.vapi
|
||||
-
|
||||
-ibus_1_0_vapi_DEPS = gio-2.0
|
||||
-ibus_1_0_vapi_METADATADIRS = $(srcdir)
|
||||
-ibus_1_0_vapi_FILES = \
|
||||
- $(top_builddir)/src/IBus-1.0.gir \
|
||||
- $(srcdir)/IBus-1.0-custom.vala \
|
||||
- $(NULL)
|
||||
-
|
||||
-vapidir = $(datadir)/vala/vapi
|
||||
-vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps)
|
||||
-
|
||||
EXTRA_DIST = \
|
||||
Gkbd-3.0.metadata \
|
||||
IBus-1.0.metadata \
|
||||
IBus-1.0-custom.vala \
|
||||
- ibus-1.0.deps \
|
||||
config.vapi \
|
||||
xi.vapi \
|
||||
Xkl-1.0.metadata \
|
||||
@@ -65,4 +71,6 @@ EXTRA_DIST = \
|
||||
|
||||
CLEANFILES = gkbd.vapi
|
||||
|
||||
+MAINTAINERCLEANFILES = ibus-@IBUS_API_VERSION@.vapi
|
||||
+
|
||||
-include $(top_srcdir)/git.mk
|
148
ibus.spec
148
ibus.spec
@ -1,4 +1,4 @@
|
||||
%global with_xkbfile 1
|
||||
%global with_preload_xkb_engine 1
|
||||
%global with_pygobject2 1
|
||||
%global with_pygobject3 1
|
||||
|
||||
@ -34,8 +34,8 @@
|
||||
%global dbus_python_version 0.83.0
|
||||
|
||||
Name: ibus
|
||||
Version: 1.5.1
|
||||
Release: 3%{?dist}
|
||||
Version: 1.5.2
|
||||
Release: 1%{?dist}
|
||||
Summary: Intelligent Input Bus for Linux OS
|
||||
License: LGPLv2+
|
||||
Group: System Environment/Libraries
|
||||
@ -45,6 +45,9 @@ Source1: %{name}-xinput
|
||||
%if %with_gjs
|
||||
# ibus-gjs
|
||||
Source2: http://fujiwara.fedorapeople.org/ibus/gnome-shell/%{name}-gjs-%{ibus_gjs_version}.tar.gz
|
||||
Source3: https://raw.github.com/ibus/ibus/master/debian/ibus.1
|
||||
Source4: https://raw.github.com/ibus/ibus/master/debian/ibus-daemon.1
|
||||
Source5: https://raw.github.com/ibus/ibus/master/debian/ibus-setup.1
|
||||
%endif
|
||||
# Upstreamed patches.
|
||||
Patch0: %{name}-HEAD.patch
|
||||
@ -56,6 +59,8 @@ Patch2: %{name}-541492-xkb.patch
|
||||
Patch3: %{name}-530711-preload-sys.patch
|
||||
# Hide minor input method engines on ibus-setup by locale
|
||||
Patch4: %{name}-xx-setup-frequent-lang.patch
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=947318
|
||||
Patch5: %{name}-947318-reconnect-gtk-client.patch
|
||||
|
||||
%if (0%{?fedora} <= 17 && 0%{?rhel} < 7)
|
||||
# Workaround to disable preedit on gnome-shell until bug 658420 is fixed.
|
||||
@ -66,15 +71,12 @@ Patch92: %{name}-xx-g-s-disable-preedit.patch
|
||||
# The patch enables to build on fedora 17.
|
||||
Patch93: %{name}-xx-f17.patch
|
||||
%endif
|
||||
# Fix the build failure in f17 and f19 vala.
|
||||
Patch94: %{name}-xx-vapi-build-failure.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
|
||||
BuildRequires: gettext-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: gtk2-devel
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: dbus-glib-devel
|
||||
@ -84,18 +86,12 @@ BuildRequires: gtk-doc
|
||||
BuildRequires: dconf-devel
|
||||
BuildRequires: dbus-x11
|
||||
BuildRequires: vala
|
||||
BuildRequires: vala-devel
|
||||
BuildRequires: vala-tools
|
||||
# for AM_GCONF_SOURCE_2 in configure.ac
|
||||
BuildRequires: GConf2-devel
|
||||
%if %with_pygobject3
|
||||
BuildRequires: gobject-introspection-devel
|
||||
BuildRequires: pygobject3-devel
|
||||
%endif
|
||||
BuildRequires: intltool
|
||||
BuildRequires: iso-codes-devel
|
||||
%if %with_xkbfile
|
||||
BuildRequires: libxkbfile-devel
|
||||
%endif
|
||||
%if %with_gkbd
|
||||
BuildRequires: libgnomekbd-devel
|
||||
%endif
|
||||
@ -104,21 +100,13 @@ BuildRequires: libgnomekbd-devel
|
||||
BuildRequires: gjs
|
||||
BuildRequires: gnome-shell
|
||||
%endif
|
||||
BuildRequires: diffstat
|
||||
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: %{name}-gtk2 = %{version}-%{release}
|
||||
%if (0%{?fedora} > 14 || 0%{?rhel} > 6)
|
||||
Requires: %{name}-gtk3 = %{version}-%{release}
|
||||
%endif
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: %{name}-gtk2 = %{version}-%{release}
|
||||
Requires: %{name}-gtk3 = %{version}-%{release}
|
||||
Requires: %{name}-setup = %{version}-%{release}
|
||||
Requires: %{name}-pygtk2 = %{version}-%{release}
|
||||
|
||||
%if %with_pygobject2
|
||||
Requires: pygtk2
|
||||
%endif
|
||||
%if %with_pygobject3
|
||||
Requires: pygobject3
|
||||
%endif
|
||||
Requires: pyxdg
|
||||
Requires: iso-codes
|
||||
Requires: dbus-python >= %{dbus_python_version}
|
||||
Requires: dbus-x11
|
||||
@ -187,6 +175,35 @@ Requires(post): glib2 >= %{glib_ver}
|
||||
%description gtk3
|
||||
This package contains ibus im module for gtk3
|
||||
|
||||
%if %with_pygobject3
|
||||
%package setup
|
||||
Summary: IBus setup utility
|
||||
Group: System Environment/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: pygobject3
|
||||
BuildRequires: gobject-introspection-devel
|
||||
BuildRequires: pygobject3-devel
|
||||
BuildArch: noarch
|
||||
|
||||
%description setup
|
||||
This is a setup utility for IBus.
|
||||
%endif
|
||||
|
||||
%if %with_pygobject2
|
||||
%package pygtk2
|
||||
Summary: IBus pygtk2 library
|
||||
Group: System Environment/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: pygtk2
|
||||
Requires: pyxdg
|
||||
BuildRequires: python2-devel
|
||||
BuildArch: noarch
|
||||
|
||||
%description pygtk2
|
||||
This is a pygtk2 library for IBus. Now major IBUs engines use pygobject3
|
||||
and this package will be deprecated.
|
||||
%endif
|
||||
|
||||
%if %with_gjs
|
||||
%package gnome3
|
||||
Summary: IBus gnome-shell-extension for GNOME3
|
||||
@ -231,51 +248,27 @@ The ibus-devel-docs package contains developer documentation for ibus
|
||||
gzip -dc %SOURCE2 | tar xf -
|
||||
%endif
|
||||
|
||||
# home [dot] corp [dot] redhat [dot] com/wiki/rpmdiff-multilib
|
||||
# Update timestamps on the files touched by a patch, to avoid non-equal
|
||||
# .pyc/.pyo files across the multilib peers within a build, where "Level"
|
||||
# is the patch prefix option (e.g. -p1)
|
||||
UpdateTimestamps() {
|
||||
Level=$1
|
||||
PatchFile=$2
|
||||
# Locate the affected files:
|
||||
for f in $(diffstat $Level -l $PatchFile); do
|
||||
# Set the files to have the same timestamp as that of the patch:
|
||||
touch -r $PatchFile $f
|
||||
done
|
||||
}
|
||||
|
||||
# %%patch0 -p1
|
||||
# UpdateTimestamps -p1 %%{PATCH0}
|
||||
%patch0 -p1
|
||||
UpdateTimestamps -p1 %{PATCH0}
|
||||
%if (0%{?fedora} <= 17 && 0%{?rhel} < 7)
|
||||
%patch92 -p1 -b .g-s-preedit
|
||||
UpdateTimestamps -p1 %{PATCH92}
|
||||
%endif
|
||||
%patch5 -p1 -b .reconnect
|
||||
cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c ||
|
||||
%patch1 -p1 -b .noswitch
|
||||
UpdateTimestamps -p1 %{PATCH1}
|
||||
%if %with_xkbfile
|
||||
%patch2 -p1 -b .xkb
|
||||
UpdateTimestamps -p1 %{PATCH2}
|
||||
%if %with_preload_xkb_engine
|
||||
%patch2 -p1 -b .preload-xkb
|
||||
rm -f bindings/vala/ibus-1.0.vapi
|
||||
rm -f data/dconf/00-upstream-settings
|
||||
%endif
|
||||
%patch3 -p1 -b .preload-sys
|
||||
UpdateTimestamps -p1 %{PATCH3}
|
||||
%patch4 -p1 -b .setup-frequent-lang
|
||||
UpdateTimestamps -p1 %{PATCH4}
|
||||
|
||||
%if (0%{?fedora} < 18 && 0%{?rhel} < 7)
|
||||
%patch93 -p1 -b .f17
|
||||
UpdateTimestamps -p1 %{PATCH93}
|
||||
%endif
|
||||
%patch94 -p1 -b .vapi
|
||||
UpdateTimestamps -p1 %{PATCH94}
|
||||
|
||||
%build
|
||||
%if %with_xkbfile
|
||||
%if %with_preload_xkb_engine
|
||||
autoreconf -f -i
|
||||
%endif
|
||||
%configure \
|
||||
@ -297,7 +290,7 @@ autoreconf -f -i
|
||||
%endif
|
||||
--enable-introspection
|
||||
|
||||
%if %with_xkbfile
|
||||
%if %with_preload_xkb_engine
|
||||
make -C ui/gtk3 maintainer-clean-generic
|
||||
%endif
|
||||
# make -C po update-gmo
|
||||
@ -354,6 +347,14 @@ if test -f ibus/_config.py.in -a \
|
||||
fi
|
||||
fi
|
||||
|
||||
for S in %{SOURCE3} %{SOURCE4} %{SOURCE5}
|
||||
do
|
||||
cp $S .
|
||||
MP=`basename $S`
|
||||
gzip $MP
|
||||
install -pm 644 -D ${MP}.gz $RPM_BUILD_ROOT%{_datadir}/man/man1/${MP}.gz
|
||||
done
|
||||
|
||||
%if %with_gjs
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=657165
|
||||
d=`basename %SOURCE2 .tar.gz`
|
||||
@ -421,27 +422,24 @@ fi
|
||||
# FIXME: no version number
|
||||
%files -f %{name}10.lang
|
||||
%doc AUTHORS COPYING README
|
||||
%if %with_pygobject2
|
||||
%dir %{python2_sitelib}/ibus
|
||||
%{python2_sitelib}/ibus/*
|
||||
%endif
|
||||
%dir %{_datadir}/ibus/
|
||||
%{_bindir}/ibus
|
||||
%{_bindir}/ibus-daemon
|
||||
%{_bindir}/ibus-setup
|
||||
%if %with_pygobject3
|
||||
%{_datadir}/ibus/*
|
||||
%endif
|
||||
%{_datadir}/applications/*
|
||||
%{_datadir}/icons/hicolor/*/apps/*
|
||||
%{_datadir}/bash-completion/completions/ibus.bash
|
||||
%{_datadir}/GConf/gsettings/*
|
||||
%{_datadir}/glib-2.0/schemas/*.xml
|
||||
%{_datadir}/ibus/component
|
||||
%{_datadir}/ibus/engine
|
||||
%{_datadir}/ibus/keymaps
|
||||
%{_datadir}/icons/hicolor/*/apps/*
|
||||
%{_datadir}/man/man1/ibus.1.gz
|
||||
%{_datadir}/man/man1/ibus-daemon.1.gz
|
||||
%{_libexecdir}/ibus-engine-simple
|
||||
%{_libexecdir}/ibus-dconf
|
||||
%{_libexecdir}/ibus-ui-gtk3
|
||||
%{_libexecdir}/ibus-x11
|
||||
# {_sysconfdir}/xdg/autostart/ibus.desktop
|
||||
%{_sysconfdir}/bash_completion.d/ibus.bash
|
||||
%{_sysconfdir}/dconf/db/ibus.d
|
||||
%{_sysconfdir}/dconf/profile/ibus
|
||||
%python2_sitearch/gi/overrides/IBus.py*
|
||||
@ -449,9 +447,7 @@ fi
|
||||
|
||||
%files libs
|
||||
%{_libdir}/libibus-%{ibus_api_version}.so.*
|
||||
%if %with_pygobject3
|
||||
%{_libdir}/girepository-1.0/IBus-1.0.typelib
|
||||
%endif
|
||||
|
||||
%files gtk2
|
||||
%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.so
|
||||
@ -459,6 +455,19 @@ fi
|
||||
%files gtk3
|
||||
%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.so
|
||||
|
||||
%if %with_pygobject3
|
||||
%files setup
|
||||
%{_bindir}/ibus-setup
|
||||
%{_datadir}/ibus/setup
|
||||
%{_datadir}/man/man1/ibus-setup.1.gz
|
||||
%endif
|
||||
|
||||
%if %with_pygobject2
|
||||
%files pygtk2
|
||||
%dir %{python2_sitelib}/ibus
|
||||
%{python2_sitelib}/ibus/*
|
||||
%endif
|
||||
|
||||
%if %with_gjs
|
||||
%files gnome3
|
||||
%{_datadir}/gnome-shell/js/ui/status/ibus
|
||||
@ -477,6 +486,11 @@ fi
|
||||
%{_datadir}/gtk-doc/html/*
|
||||
|
||||
%changelog
|
||||
* Thu Apr 18 2013 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.2-1
|
||||
- Bumped to 1.5.2
|
||||
- Created noarch packages for python files due to .pyc and .pyo.
|
||||
- Added man pages.
|
||||
|
||||
* Mon Feb 18 2013 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.1-3
|
||||
- Copied gtk2 module to gtk3 one.
|
||||
|
||||
|
5
sources
5
sources
@ -1,3 +1,6 @@
|
||||
f0103201249c657712f5f4d9a36923ed ibus-1.5.1.tar.gz
|
||||
1b6b9c91089767762e00f8b5858d1b59 ibus-1.5.2.tar.gz
|
||||
2d2ad58e3e41429dbd883ba7e501c9b2 ibus-gjs-3.2.1.20111230.tar.gz
|
||||
da9a22c82ab33423d7afeb3da4146fa8 ibus-gjs-3.4.1.20130115.tar.gz
|
||||
63a1b72673b34aaa20dcbdcdced51b1a ibus.1
|
||||
1def117ead16ebcbfe223908db979721 ibus-setup.1
|
||||
af808609c134cb7b2ffd17eeb189309e ibus-daemon.1
|
||||
|
Loading…
Reference in New Issue
Block a user