ibus-m17n/ibus-m17n-hide-title-status.patch

47 lines
1.6 KiB
Diff
Raw Normal View History

2012-03-30 09:05:56 +00:00
From 02022c17212357afb5cec727edd8f095aa40d98d Mon Sep 17 00:00:00 2001
2011-09-29 03:47:05 +00:00
From: Daiki Ueno <ueno@unixuser.org>
Date: Thu, 29 Sep 2011 10:17:28 +0900
2012-03-30 09:05:56 +00:00
Subject: [PATCH 2/4] Hide status from the panel if status == title.
2011-09-29 03:47:05 +00:00
---
src/engine.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/engine.c b/src/engine.c
2012-03-30 09:05:56 +00:00
index 4c7411c..efbce66 100644
2011-09-29 03:47:05 +00:00
--- a/src/engine.c
+++ b/src/engine.c
2012-03-30 09:05:56 +00:00
@@ -35,6 +35,7 @@ struct _IBusM17NEngineClass {
gint preedit_underline;
gint lookup_table_orientation;
2011-09-29 03:47:05 +00:00
+ gchar *title;
MInputMethod *im;
};
2012-03-30 09:05:56 +00:00
@@ -244,6 +245,10 @@ ibus_m17n_engine_class_init (IBusM17NEngineClass *klass)
2011-09-29 03:47:05 +00:00
}
engine_name = g_strdup_printf ("m17n:%s:%s", lang, name);
klass->config_section = g_strdup_printf ("engine/M17N/%s/%s", lang, name);
+ MPlist *l = minput_get_title_icon (msymbol (lang), msymbol (name));
+ if (l && mplist_key (l) == Mtext) {
+ klass->title = ibus_m17n_mtext_to_utf8 (mplist_value (l));
+ }
2012-03-30 09:05:56 +00:00
g_free (lang);
g_free (name);
@@ -895,8 +900,9 @@ ibus_m17n_engine_callback (MInputContext *context,
2011-09-29 03:47:05 +00:00
else if (command == Minput_status_draw) {
gchar *status;
status = ibus_m17n_mtext_to_utf8 (m17n->context->status);
+ IBusM17NEngineClass *klass = (IBusM17NEngineClass *) G_OBJECT_GET_CLASS (m17n);
- if (status && strlen (status)) {
+ if (status && strlen (status) && g_strcmp0 (status, klass->title)) {
IBusText *text;
text = ibus_text_new_from_string (status);
ibus_property_set_label (m17n->status_prop, text);
--
2012-03-30 09:05:56 +00:00
1.7.7.6
2011-09-29 03:47:05 +00:00