Fixed Bug 675503 - a regression in sync mode
This commit is contained in:
parent
0610dd694c
commit
ee2c8d7341
@ -1,6 +1,6 @@
|
|||||||
From 4b115935d47b1a849617aad5db44212856b48630 Mon Sep 17 00:00:00 2001
|
From 27788fb3bf62411c2b13d24bac45eb060483162f Mon Sep 17 00:00:00 2001
|
||||||
From: Daiki Ueno <ueno@unixuser.org>
|
From: Daiki Ueno <ueno@unixuser.org>
|
||||||
Date: Fri, 4 Feb 2011 19:48:05 +0900
|
Date: Tue, 8 Feb 2011 18:27:00 +0900
|
||||||
Subject: [PATCH] Support surrounding-text retrieval.
|
Subject: [PATCH] Support surrounding-text retrieval.
|
||||||
|
|
||||||
This change adds a new API function ibus_engine_get_surrounding_text().
|
This change adds a new API function ibus_engine_get_surrounding_text().
|
||||||
@ -216,7 +216,7 @@ index 32d51e8..20f561c 100644
|
|||||||
context_signals[ENGINE_CHANGED],
|
context_signals[ENGINE_CHANGED],
|
||||||
0);
|
0);
|
||||||
diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
|
diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
|
||||||
index ab9c520..e61dd86 100644
|
index a4e46cb..d029b5c 100644
|
||||||
--- a/client/gtk2/ibusimcontext.c
|
--- a/client/gtk2/ibusimcontext.c
|
||||||
+++ b/client/gtk2/ibusimcontext.c
|
+++ b/client/gtk2/ibusimcontext.c
|
||||||
@@ -27,6 +27,7 @@
|
@@ -27,6 +27,7 @@
|
||||||
@ -237,7 +237,7 @@ index ab9c520..e61dd86 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct _IBusIMContextClass {
|
struct _IBusIMContextClass {
|
||||||
@@ -110,11 +112,18 @@ static void ibus_im_context_set_cursor_location
|
@@ -111,11 +113,18 @@ static void ibus_im_context_set_cursor_location
|
||||||
static void ibus_im_context_set_use_preedit
|
static void ibus_im_context_set_use_preedit
|
||||||
(GtkIMContext *context,
|
(GtkIMContext *context,
|
||||||
gboolean use_preedit);
|
gboolean use_preedit);
|
||||||
@ -256,7 +256,7 @@ index ab9c520..e61dd86 100644
|
|||||||
|
|
||||||
static void _bus_connected_cb (IBusBus *bus,
|
static void _bus_connected_cb (IBusBus *bus,
|
||||||
IBusIMContext *context);
|
IBusIMContext *context);
|
||||||
@@ -128,14 +137,15 @@ static void _slave_preedit_start_cb (GtkIMContext *slave,
|
@@ -129,14 +138,15 @@ static void _slave_preedit_start_cb (GtkIMContext *slave,
|
||||||
IBusIMContext *context);
|
IBusIMContext *context);
|
||||||
static void _slave_preedit_end_cb (GtkIMContext *slave,
|
static void _slave_preedit_end_cb (GtkIMContext *slave,
|
||||||
IBusIMContext *context);
|
IBusIMContext *context);
|
||||||
@ -278,7 +278,7 @@ index ab9c520..e61dd86 100644
|
|||||||
static void _create_fake_input_context (void);
|
static void _create_fake_input_context (void);
|
||||||
|
|
||||||
|
|
||||||
@@ -247,6 +257,17 @@ _process_key_event_done (GObject *object,
|
@@ -248,6 +258,17 @@ _process_key_event_done (GObject *object,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -296,7 +296,7 @@ index ab9c520..e61dd86 100644
|
|||||||
static gint
|
static gint
|
||||||
_key_snooper_cb (GtkWidget *widget,
|
_key_snooper_cb (GtkWidget *widget,
|
||||||
GdkEventKey *event,
|
GdkEventKey *event,
|
||||||
@@ -333,6 +354,8 @@ _key_snooper_cb (GtkWidget *widget,
|
@@ -334,6 +355,8 @@ _key_snooper_cb (GtkWidget *widget,
|
||||||
|
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
@ -305,7 +305,7 @@ index ab9c520..e61dd86 100644
|
|||||||
if (ibusimcontext != NULL) {
|
if (ibusimcontext != NULL) {
|
||||||
ibusimcontext->time = event->time;
|
ibusimcontext->time = event->time;
|
||||||
}
|
}
|
||||||
@@ -429,6 +452,7 @@ ibus_im_context_class_init (IBusIMContextClass *class)
|
@@ -430,6 +453,7 @@ ibus_im_context_class_init (IBusIMContextClass *class)
|
||||||
im_context_class->set_client_window = ibus_im_context_set_client_window;
|
im_context_class->set_client_window = ibus_im_context_set_client_window;
|
||||||
im_context_class->set_cursor_location = ibus_im_context_set_cursor_location;
|
im_context_class->set_cursor_location = ibus_im_context_set_cursor_location;
|
||||||
im_context_class->set_use_preedit = ibus_im_context_set_use_preedit;
|
im_context_class->set_use_preedit = ibus_im_context_set_use_preedit;
|
||||||
@ -313,7 +313,7 @@ index ab9c520..e61dd86 100644
|
|||||||
gobject_class->finalize = ibus_im_context_finalize;
|
gobject_class->finalize = ibus_im_context_finalize;
|
||||||
|
|
||||||
_signal_commit_id =
|
_signal_commit_id =
|
||||||
@@ -542,7 +566,12 @@ ibus_im_context_init (GObject *obj)
|
@@ -577,7 +601,12 @@ ibus_im_context_init (GObject *obj)
|
||||||
ibusimcontext->ibuscontext = NULL;
|
ibusimcontext->ibuscontext = NULL;
|
||||||
ibusimcontext->has_focus = FALSE;
|
ibusimcontext->has_focus = FALSE;
|
||||||
ibusimcontext->time = GDK_CURRENT_TIME;
|
ibusimcontext->time = GDK_CURRENT_TIME;
|
||||||
@ -327,7 +327,7 @@ index ab9c520..e61dd86 100644
|
|||||||
|
|
||||||
|
|
||||||
// Create slave im context
|
// Create slave im context
|
||||||
@@ -639,6 +668,8 @@ ibus_im_context_filter_keypress (GtkIMContext *context,
|
@@ -674,6 +703,8 @@ ibus_im_context_filter_keypress (GtkIMContext *context,
|
||||||
if (ibusimcontext->client_window == NULL && event->window != NULL)
|
if (ibusimcontext->client_window == NULL && event->window != NULL)
|
||||||
gtk_im_context_set_client_window ((GtkIMContext *)ibusimcontext, event->window);
|
gtk_im_context_set_client_window ((GtkIMContext *)ibusimcontext, event->window);
|
||||||
|
|
||||||
@ -336,7 +336,7 @@ index ab9c520..e61dd86 100644
|
|||||||
if (ibusimcontext != NULL) {
|
if (ibusimcontext != NULL) {
|
||||||
ibusimcontext->time = event->time;
|
ibusimcontext->time = event->time;
|
||||||
}
|
}
|
||||||
@@ -733,6 +764,8 @@ ibus_im_context_focus_in (GtkIMContext *context)
|
@@ -768,6 +799,8 @@ ibus_im_context_focus_in (GtkIMContext *context)
|
||||||
(gpointer *) &_focus_im_context);
|
(gpointer *) &_focus_im_context);
|
||||||
_focus_im_context = context;
|
_focus_im_context = context;
|
||||||
}
|
}
|
||||||
@ -345,7 +345,7 @@ index ab9c520..e61dd86 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -890,6 +923,25 @@ ibus_im_context_set_cursor_location (GtkIMContext *context, GdkRectangle *area)
|
@@ -925,6 +958,25 @@ ibus_im_context_set_cursor_location (GtkIMContext *context, GdkRectangle *area)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -371,7 +371,7 @@ index ab9c520..e61dd86 100644
|
|||||||
ibus_im_context_set_use_preedit (GtkIMContext *context, gboolean use_preedit)
|
ibus_im_context_set_use_preedit (GtkIMContext *context, gboolean use_preedit)
|
||||||
{
|
{
|
||||||
IDEBUG ("%s", __FUNCTION__);
|
IDEBUG ("%s", __FUNCTION__);
|
||||||
@@ -898,17 +950,50 @@ ibus_im_context_set_use_preedit (GtkIMContext *context, gboolean use_preedit)
|
@@ -933,17 +985,50 @@ ibus_im_context_set_use_preedit (GtkIMContext *context, gboolean use_preedit)
|
||||||
|
|
||||||
if(ibusimcontext->ibuscontext) {
|
if(ibusimcontext->ibuscontext) {
|
||||||
if (use_preedit) {
|
if (use_preedit) {
|
||||||
@ -425,7 +425,7 @@ index ab9c520..e61dd86 100644
|
|||||||
_bus_connected_cb (IBusBus *bus,
|
_bus_connected_cb (IBusBus *bus,
|
||||||
IBusIMContext *ibusimcontext)
|
IBusIMContext *ibusimcontext)
|
||||||
{
|
{
|
||||||
@@ -927,6 +1012,8 @@ _ibus_context_commit_text_cb (IBusInputContext *ibuscontext,
|
@@ -962,6 +1047,8 @@ _ibus_context_commit_text_cb (IBusInputContext *ibuscontext,
|
||||||
IDEBUG ("%s", __FUNCTION__);
|
IDEBUG ("%s", __FUNCTION__);
|
||||||
|
|
||||||
g_signal_emit (ibusimcontext, _signal_commit_id, 0, text->text);
|
g_signal_emit (ibusimcontext, _signal_commit_id, 0, text->text);
|
||||||
@ -434,7 +434,7 @@ index ab9c520..e61dd86 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@@ -1221,6 +1308,8 @@ _ibus_context_show_preedit_text_cb (IBusInputContext *ibuscontext,
|
@@ -1256,6 +1343,8 @@ _ibus_context_show_preedit_text_cb (IBusInputContext *ibuscontext,
|
||||||
ibusimcontext->preedit_visible = TRUE;
|
ibusimcontext->preedit_visible = TRUE;
|
||||||
g_signal_emit (ibusimcontext, _signal_preedit_start_id, 0);
|
g_signal_emit (ibusimcontext, _signal_preedit_start_id, 0);
|
||||||
g_signal_emit (ibusimcontext, _signal_preedit_changed_id, 0);
|
g_signal_emit (ibusimcontext, _signal_preedit_changed_id, 0);
|
||||||
@ -443,7 +443,7 @@ index ab9c520..e61dd86 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -1286,6 +1375,14 @@ _ibus_context_destroy_cb (IBusInputContext *ibuscontext,
|
@@ -1321,6 +1410,14 @@ _ibus_context_destroy_cb (IBusInputContext *ibuscontext,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -458,7 +458,7 @@ index ab9c520..e61dd86 100644
|
|||||||
_create_input_context (IBusIMContext *ibusimcontext)
|
_create_input_context (IBusIMContext *ibusimcontext)
|
||||||
{
|
{
|
||||||
IDEBUG ("%s", __FUNCTION__);
|
IDEBUG ("%s", __FUNCTION__);
|
||||||
@@ -1328,6 +1425,10 @@ _create_input_context (IBusIMContext *ibusimcontext)
|
@@ -1363,6 +1460,10 @@ _create_input_context (IBusIMContext *ibusimcontext)
|
||||||
"disabled",
|
"disabled",
|
||||||
G_CALLBACK (_ibus_context_disabled_cb),
|
G_CALLBACK (_ibus_context_disabled_cb),
|
||||||
ibusimcontext);
|
ibusimcontext);
|
||||||
@ -469,7 +469,7 @@ index ab9c520..e61dd86 100644
|
|||||||
g_signal_connect (ibusimcontext->ibuscontext, "destroy",
|
g_signal_connect (ibusimcontext->ibuscontext, "destroy",
|
||||||
G_CALLBACK (_ibus_context_destroy_cb),
|
G_CALLBACK (_ibus_context_destroy_cb),
|
||||||
ibusimcontext);
|
ibusimcontext);
|
||||||
@@ -1384,17 +1485,21 @@ _slave_preedit_end_cb (GtkIMContext *slave,
|
@@ -1419,17 +1520,21 @@ _slave_preedit_end_cb (GtkIMContext *slave,
|
||||||
g_signal_emit (ibusimcontext, _signal_preedit_end_id, 0);
|
g_signal_emit (ibusimcontext, _signal_preedit_end_id, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -495,7 +495,7 @@ index ab9c520..e61dd86 100644
|
|||||||
_slave_delete_surrounding_cb (GtkIMContext *slave,
|
_slave_delete_surrounding_cb (GtkIMContext *slave,
|
||||||
gint offset_from_cursor,
|
gint offset_from_cursor,
|
||||||
guint nchars,
|
guint nchars,
|
||||||
@@ -1403,9 +1508,10 @@ _slave_delete_surrounding_cb (GtkIMContext *slave,
|
@@ -1438,9 +1543,10 @@ _slave_delete_surrounding_cb (GtkIMContext *slave,
|
||||||
gboolean return_value;
|
gboolean return_value;
|
||||||
|
|
||||||
if (ibusimcontext->enable && ibusimcontext->ibuscontext) {
|
if (ibusimcontext->enable && ibusimcontext->ibuscontext) {
|
||||||
@ -508,12 +508,12 @@ index ab9c520..e61dd86 100644
|
|||||||
|
|
||||||
#ifdef OS_CHROMEOS
|
#ifdef OS_CHROMEOS
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 05ceb18..0c06fbc 100644
|
index 81efe81..e5fe925 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -368,6 +368,19 @@ else
|
@@ -364,6 +364,19 @@ AC_ARG_WITH(sync-mode-apps,
|
||||||
enable_inputcontext_sync="no (disabled, use --enable-inputcontext-sync to enable)"
|
AC_DEFINE_UNQUOTED(SYNC_MODE_APPS, "$SYNC_MODE_APPS",
|
||||||
fi
|
[Enbale sync mode in those applications])
|
||||||
|
|
||||||
+# option for enable surrounding-text
|
+# option for enable surrounding-text
|
||||||
+AC_ARG_ENABLE(surrounding-text,
|
+AC_ARG_ENABLE(surrounding-text,
|
||||||
@ -531,9 +531,9 @@ index 05ceb18..0c06fbc 100644
|
|||||||
# check iso-codes
|
# check iso-codes
|
||||||
PKG_CHECK_MODULES(ISOCODES, [
|
PKG_CHECK_MODULES(ISOCODES, [
|
||||||
iso-codes
|
iso-codes
|
||||||
@@ -439,5 +452,6 @@ Build options:
|
@@ -435,5 +448,6 @@ Build options:
|
||||||
Enable key snooper $enable_key_snooper
|
Enable key snooper $enable_key_snooper
|
||||||
Enable inputcontext sync $enable_inputcontext_sync
|
Sync mode regexes "$SYNC_MODE_APPS"
|
||||||
No snooper regexes "$NO_SNOOPER_APPS"
|
No snooper regexes "$NO_SNOOPER_APPS"
|
||||||
+ Enable surrounding-text $enable_surrounding_text
|
+ Enable surrounding-text $enable_surrounding_text
|
||||||
])
|
])
|
||||||
|
125
ibus-HEAD.patch
125
ibus-HEAD.patch
@ -93,71 +93,120 @@ index 745722f..608f294 100644
|
|||||||
--
|
--
|
||||||
1.7.3.2
|
1.7.3.2
|
||||||
|
|
||||||
From 275087240dfa197177d5c31326d14d943e84bb29 Mon Sep 17 00:00:00 2001
|
From a00ebefde44cf5daaa642fc880c51357cb83f15b Mon Sep 17 00:00:00 2001
|
||||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
Date: Fri, 4 Feb 2011 19:40:16 +0900
|
Date: Tue, 8 Feb 2011 18:17:11 +0900
|
||||||
Subject: [PATCH] Added the optional sync mode in IBusIMContext.
|
Subject: [PATCH] Fixed typo.
|
||||||
|
|
||||||
Async mode always return TRUE in filter_keypress() so the caller could
|
|
||||||
ignore the events.
|
|
||||||
---
|
---
|
||||||
client/gtk2/ibusimcontext.c | 5 +++--
|
client/gtk2/ibusimcontext.c | 10 +++++-----
|
||||||
configure.ac | 15 +++++++++++++++
|
1 files changed, 5 insertions(+), 5 deletions(-)
|
||||||
2 files changed, 18 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
|
diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
|
||||||
index 745722f..ab9c520 100644
|
index 608f294..bb5ae5c 100644
|
||||||
--- a/client/gtk2/ibusimcontext.c
|
--- a/client/gtk2/ibusimcontext.c
|
||||||
+++ b/client/gtk2/ibusimcontext.c
|
+++ b/client/gtk2/ibusimcontext.c
|
||||||
@@ -79,7 +79,7 @@ static const gchar *_no_snooper_apps = NO_SNOOPER_APPS;
|
@@ -401,11 +401,11 @@ _get_boolean_env(const gchar *name,
|
||||||
|
if (value == NULL)
|
||||||
|
return defval;
|
||||||
|
|
||||||
|
- if (g_strcmp0 (name, "") == 0 ||
|
||||||
|
- g_strcmp0 (name, "0") == 0 ||
|
||||||
|
- g_strcmp0 (name, "false") == 0 ||
|
||||||
|
- g_strcmp0 (name, "False") == 0 ||
|
||||||
|
- g_strcmp0 (name, "FALSE") == 0)
|
||||||
|
+ if (g_strcmp0 (value, "") == 0 ||
|
||||||
|
+ g_strcmp0 (value, "0") == 0 ||
|
||||||
|
+ g_strcmp0 (value, "false") == 0 ||
|
||||||
|
+ g_strcmp0 (value, "False") == 0 ||
|
||||||
|
+ g_strcmp0 (value, "FALSE") == 0)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
--
|
||||||
|
1.7.3.2
|
||||||
|
|
||||||
|
From c6949a852235bedb44126c3c6f36e1fba4b71bce Mon Sep 17 00:00:00 2001
|
||||||
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
|
Date: Tue, 8 Feb 2011 18:21:50 +0900
|
||||||
|
Subject: [PATCH] Added the optional sync mode apps in IBusIMContext.
|
||||||
|
|
||||||
|
---
|
||||||
|
client/gtk2/ibusimcontext.c | 27 +++++++++++++++++++++++++++
|
||||||
|
configure.ac | 11 +++++++++++
|
||||||
|
2 files changed, 38 insertions(+), 0 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
|
||||||
|
index bb5ae5c..a4e46cb 100644
|
||||||
|
--- a/client/gtk2/ibusimcontext.c
|
||||||
|
+++ b/client/gtk2/ibusimcontext.c
|
||||||
|
@@ -79,6 +79,7 @@ static const gchar *_no_snooper_apps = NO_SNOOPER_APPS;
|
||||||
static gboolean _use_key_snooper = ENABLE_SNOOPER;
|
static gboolean _use_key_snooper = ENABLE_SNOOPER;
|
||||||
static guint _key_snooper_id = 0;
|
static guint _key_snooper_id = 0;
|
||||||
|
|
||||||
-static gboolean _use_sync_mode = FALSE;
|
+static const gchar *_sync_mode_apps = SYNC_MODE_APPS;
|
||||||
+static gboolean _use_sync_mode = ENABLE_INPUTCONTEXT_SYNC;
|
static gboolean _use_sync_mode = FALSE;
|
||||||
|
|
||||||
static GtkIMContext *_focus_im_context = NULL;
|
static GtkIMContext *_focus_im_context = NULL;
|
||||||
static IBusInputContext *_fake_context = NULL;
|
@@ -477,6 +478,32 @@ ibus_im_context_class_init (IBusIMContextClass *class)
|
||||||
@@ -457,7 +457,8 @@ ibus_im_context_class_init (IBusIMContextClass *class)
|
g_strfreev (apps);
|
||||||
|
}
|
||||||
|
|
||||||
_use_key_snooper = !_get_boolean_env ("IBUS_DISABLE_SNOOPER",
|
+ /* env IBUS_SYNC_MODE_APPS for sync mode apps */
|
||||||
!(ENABLE_SNOOPER));
|
+ /* It seems MetaDisplay does not take the events from gdk_event_put()
|
||||||
- _use_sync_mode = _get_boolean_env ("IBUS_ENABLE_SYNC_MODE", FALSE);
|
+ * in async mode. So if gnome-shell + mutter are used,
|
||||||
+ _use_sync_mode = _get_boolean_env ("IBUS_ENABLE_SYNC_MODE",
|
+ * the key events are lost in async mode.
|
||||||
+ ENABLE_INPUTCONTEXT_SYNC);
|
+ * gnome-shell search box, actually st_im_text_key_press_event(),
|
||||||
|
+ * does not call the parent filter_keypress() when the IM client
|
||||||
/* env IBUS_DISABLE_SNOOPER does not exist */
|
+ * returns TRUE. The class inherits ClutterActor which is not
|
||||||
if (_use_key_snooper) {
|
+ * GtkWidget so the clutter does not call GTK snoopers.
|
||||||
|
+ * So ibus_im_context_filter_keypress() needs to return FALSE. */
|
||||||
|
+ if (!_use_sync_mode) {
|
||||||
|
+ /* enable sync mode if app is in _sync_mode_apps */
|
||||||
|
+ const gchar * prgname = g_get_prgname ();
|
||||||
|
+ if (g_getenv ("IBUS_SYNC_MODE_APPS")) {
|
||||||
|
+ _sync_mode_apps = g_getenv ("IBUS_SYNC_MODE_APPS");
|
||||||
|
+ }
|
||||||
|
+ gchar **p;
|
||||||
|
+ gchar ** apps = g_strsplit (_sync_mode_apps, ",", 0);
|
||||||
|
+ for (p = apps; *p != NULL; p++) {
|
||||||
|
+ if (g_regex_match_simple (*p, prgname, 0, 0)) {
|
||||||
|
+ _use_sync_mode = TRUE;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ g_strfreev (apps);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* init bus object */
|
||||||
|
if (_bus == NULL) {
|
||||||
|
ibus_set_display (gdk_display_get_name (gdk_display_get_default ()));
|
||||||
diff --git a/configure.ac b/configure.ac
|
diff --git a/configure.ac b/configure.ac
|
||||||
index 1a1e663..05ceb18 100644
|
index 1a1e663..81efe81 100644
|
||||||
--- a/configure.ac
|
--- a/configure.ac
|
||||||
+++ b/configure.ac
|
+++ b/configure.ac
|
||||||
@@ -354,6 +354,20 @@ AC_ARG_WITH(no-snooper-apps,
|
@@ -354,6 +354,16 @@ AC_ARG_WITH(no-snooper-apps,
|
||||||
AC_DEFINE_UNQUOTED(NO_SNOOPER_APPS, "$NO_SNOOPER_APPS",
|
AC_DEFINE_UNQUOTED(NO_SNOOPER_APPS, "$NO_SNOOPER_APPS",
|
||||||
[Does not enbale keyboard snooper in those applications])
|
[Does not enbale keyboard snooper in those applications])
|
||||||
|
|
||||||
+# option for always enable inputcontext sync.
|
+# option for sync mode applications.
|
||||||
+AC_ARG_ENABLE(key-snooper,
|
+AC_ARG_WITH(sync-mode-apps,
|
||||||
+ AS_HELP_STRING([--enable-inputcontext-sync],
|
+ AS_HELP_STRING([--with-sync-mode-apps[=regex1,regex2]],
|
||||||
+ [Always enable inputcontext sync in gtk im module]),
|
+ [Enable sync mode in those applications (like: .*chrome.*,firefox.*)]),
|
||||||
+ [enable_inputcontext_sync=$enableval],
|
+ [SYNC_MODE_APPS=$with_sync_mode_apps],
|
||||||
+ [enable_inputcontext_sync=yes]
|
+ [SYNC_MODE_APPS=[mutter]]
|
||||||
+)
|
+)
|
||||||
+if test x"$enable_inputcontext_sync" = x"yes"; then
|
+AC_DEFINE_UNQUOTED(SYNC_MODE_APPS, "$SYNC_MODE_APPS",
|
||||||
+ AC_DEFINE(ENABLE_INPUTCONTEXT_SYNC, TRUE, [Enable inputcontext sync])
|
+ [Enbale sync mode in those applications])
|
||||||
+else
|
|
||||||
+ AC_DEFINE(ENABLE_INPUTCONTEXT_SYNC, FALSE, [Enable inputcontext sync])
|
|
||||||
+ enable_inputcontext_sync="no (disabled, use --enable-inputcontext-sync to enable)"
|
|
||||||
+fi
|
|
||||||
+
|
+
|
||||||
# check iso-codes
|
# check iso-codes
|
||||||
PKG_CHECK_MODULES(ISOCODES, [
|
PKG_CHECK_MODULES(ISOCODES, [
|
||||||
iso-codes
|
iso-codes
|
||||||
@@ -423,6 +437,7 @@ Build options:
|
@@ -423,6 +433,7 @@ Build options:
|
||||||
Build vala binding $enable_vala
|
Build vala binding $enable_vala
|
||||||
Build document $enable_gtk_doc
|
Build document $enable_gtk_doc
|
||||||
Enable key snooper $enable_key_snooper
|
Enable key snooper $enable_key_snooper
|
||||||
+ Enable inputcontext sync $enable_inputcontext_sync
|
+ Sync mode regexes "$SYNC_MODE_APPS"
|
||||||
No snooper regexes "$NO_SNOOPER_APPS"
|
No snooper regexes "$NO_SNOOPER_APPS"
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
Name: ibus
|
Name: ibus
|
||||||
Version: 1.3.99.20110127
|
Version: 1.3.99.20110127
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Intelligent Input Bus for Linux OS
|
Summary: Intelligent Input Bus for Linux OS
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
@ -298,6 +298,10 @@ fi
|
|||||||
%{_datadir}/gtk-doc/html/*
|
%{_datadir}/gtk-doc/html/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 08 2011 Takao Fujiwara <tfujiwar@redhat.com> - 1.3.99.20110127-2
|
||||||
|
- Fixed Bug 675503 - a regression in sync mode
|
||||||
|
Updated ibus-HEAD.patch from upstream.
|
||||||
|
|
||||||
* Fri Feb 04 2011 Takao Fujiwara <tfujiwar@redhat.com> - 1.3.99.20110127-1
|
* Fri Feb 04 2011 Takao Fujiwara <tfujiwar@redhat.com> - 1.3.99.20110127-1
|
||||||
- Updated to 1.3.99.20110127
|
- Updated to 1.3.99.20110127
|
||||||
- Updated ibus-HEAD.patch from upstream.
|
- Updated ibus-HEAD.patch from upstream.
|
||||||
|
Loading…
Reference in New Issue
Block a user