47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
From d4a1cb9c6bd852da73ba6520fc5c14edbe84ec14 Mon Sep 17 00:00:00 2001
|
|
From: Daiki Ueno <ueno@unixuser.org>
|
|
Date: Thu, 29 Sep 2011 10:17:28 +0900
|
|
Subject: [PATCH] Hide status from the panel if status == title.
|
|
|
|
---
|
|
src/engine.c | 8 +++++++-
|
|
1 files changed, 7 insertions(+), 1 deletions(-)
|
|
|
|
diff --git a/src/engine.c b/src/engine.c
|
|
index f23d982..a0dcc70 100644
|
|
--- a/src/engine.c
|
|
+++ b/src/engine.c
|
|
@@ -43,6 +43,7 @@ struct _IBusM17NEngineClass {
|
|
gboolean virtual_keyboard_enabled;
|
|
gboolean use_iok;
|
|
|
|
+ gchar *title;
|
|
MInputMethod *im;
|
|
};
|
|
|
|
@@ -256,6 +257,10 @@ ibus_m17n_engine_class_init (IBusM17NEngineClass *klass)
|
|
}
|
|
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));
|
|
+ }
|
|
/* whether to use iok - maybe good to move this to default.xml */
|
|
klass->use_iok = g_strcmp0 (name, "inscript") == 0 ||
|
|
g_strcmp0 (name, "inscript2") == 0;
|
|
@@ -994,8 +999,9 @@ ibus_m17n_engine_callback (MInputContext *context,
|
|
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);
|
|
--
|
|
1.7.6.4
|
|
|