diff -Nur gcin-2.2.2.orig/win-gtab.cpp gcin-2.2.2/win-gtab.cpp
--- gcin-2.2.2.orig/win-gtab.cpp	2011-10-27 22:17:35.000000000 +0800
+++ gcin-2.2.2/win-gtab.cpp	2011-12-02 13:48:27.011782200 +0800
@@ -32,9 +32,9 @@
 void move_win_gtab(int x, int y), toggle_win_sym();
 int win_gtab_max_key_press;
 
-unich_t eng_full_str[]=_L("英/全");
-unich_t cht_full_str[]=_L("全");
-unich_t cht_halt_str[]=_L("半");
+unich_t eng_full_str[]=_L("<span foreground=\"blue\">[英/全]</span>");
+unich_t cht_full_str[]=_L("<span foreground=\"blue\">[全]</span>");
+unich_t cht_halt_str[]=_L("");
 
 static void adj_gtab_win_pos()
 {
@@ -52,11 +52,15 @@
 #endif
   if (!label_gtab)
      return;
-  if (str) {
+  if (str && (str[0]!='\0')) {
     gtk_widget_show(label_gtab);
     gtk_label_set_text(GTK_LABEL(label_gtab), str);
-  } else
-    gtk_widget_hide(label_gtab);
+  } else {
+    if (gcin_status_tray)
+      gtk_widget_hide(label_gtab);
+    else
+      win_gtab_disp_half_full();
+  }
 
   adj_gtab_win_pos();
 }
@@ -572,6 +576,12 @@
     gtk_container_add (GTK_CONTAINER (frame_gtab), hbox_gtab);
 
     label_gtab = gtk_label_new(NULL);
+    if (current_CS && (! gcin_status_tray))
+    {
+      gchar *color_cname = g_strdup_printf("<span foreground=\"blue\">[%s]</span>", inmd[current_CS->in_method].cname);
+      gtk_label_set_markup(GTK_LABEL(label_gtab), color_cname);
+      g_free(color_cname);
+    }
     gtk_box_pack_start (GTK_BOX (hbox_gtab), label_gtab, FALSE, FALSE, 0);
   }
 
@@ -804,7 +814,9 @@
   }
 
   if (label_gtab)
-    gtk_label_set_text(GTK_LABEL(label_gtab), get_full_str());
+  {
+    gtk_label_set_markup(GTK_LABEL(label_gtab), get_full_str());
+  }
 
   minimize_win_gtab();
 }
