86af9e
From 02022c17212357afb5cec727edd8f095aa40d98d Mon Sep 17 00:00:00 2001
86af9e
From: Daiki Ueno <ueno@unixuser.org>
86af9e
Date: Thu, 29 Sep 2011 10:17:28 +0900
86af9e
Subject: [PATCH 2/4] Hide status from the panel if status == title.
86af9e
86af9e
---
86af9e
 src/engine.c |    8 +++++++-
86af9e
 1 files changed, 7 insertions(+), 1 deletions(-)
86af9e
86af9e
Index: ibus-m17n-1.3.4/src/engine.c
86af9e
===================================================================
86af9e
--- ibus-m17n-1.3.4.orig/src/engine.c
86af9e
+++ ibus-m17n-1.3.4/src/engine.c
86af9e
@@ -38,6 +38,7 @@ struct _IBusM17NEngineClass {
86af9e
     gint lookup_table_orientation;
86af9e
     gboolean use_us_layout;
86af9e
 
86af9e
+    gchar *title;
86af9e
     MInputMethod *im;
86af9e
 };
86af9e
 
86af9e
@@ -233,6 +234,10 @@ ibus_m17n_engine_class_init (IBusM17NEng
86af9e
     }
86af9e
     engine_name = g_strdup_printf ("m17n:%s:%s", lang, name);
86af9e
     klass->config_section = g_strdup_printf ("engine/M17N/%s/%s", lang, name);
86af9e
+    MPlist *l = minput_get_title_icon (msymbol (lang), msymbol (name));
86af9e
+    if (l && mplist_key (l) == Mtext) {
86af9e
+        klass->title = ibus_m17n_mtext_to_utf8 (mplist_value (l));
86af9e
+    }
86af9e
     g_free (lang);
86af9e
     g_free (name);
86af9e
 
86af9e
@@ -924,8 +929,9 @@ ibus_m17n_engine_callback (MInputContext
86af9e
     else if (command == Minput_status_draw) {
86af9e
         gchar *status;
86af9e
         status = ibus_m17n_mtext_to_utf8 (m17n->context->status);
86af9e
+        IBusM17NEngineClass *klass = (IBusM17NEngineClass *) G_OBJECT_GET_CLASS (m17n);
86af9e
 
86af9e
-        if (status && strlen (status)) {
86af9e
+        if (status && strlen (status) && g_strcmp0 (status, klass->title)) {
86af9e
             IBusText *text;
86af9e
             text = ibus_text_new_from_string (status);
86af9e
             ibus_property_set_label (m17n->status_prop, text);