From af720974d3e621f4a267a50d8d2f0143a2c22bff Mon Sep 17 00:00:00 2001 From: hantengc Date: Fri, 24 Oct 2025 13:49:17 +0800 Subject: [PATCH] show the current input method name in the tray icon --- src/modules/notificationitem/notificationitem.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/modules/notificationitem/notificationitem.cpp b/src/modules/notificationitem/notificationitem.cpp index b94f7789e..b68b8f738 100644 --- a/src/modules/notificationitem/notificationitem.cpp +++ b/src/modules/notificationitem/notificationitem.cpp @@ -138,8 +138,14 @@ class StatusNotifierItem : public dbus::ObjectVTable { FCITX_OBJECT_VTABLE_PROPERTY(category, "Category", "s", []() { return "SystemServices"; }); FCITX_OBJECT_VTABLE_PROPERTY(id, "Id", "s", []() { return "Fcitx"; }); - FCITX_OBJECT_VTABLE_PROPERTY(title, "Title", "s", - []() { return _("Input Method"); }); + FCITX_OBJECT_VTABLE_PROPERTY(title, "Title", "s", [this]() { + const InputMethodEntry *imEntry; + if (auto *ic = parent_->menu()->lastRelevantIc()) { + imEntry = parent_->instance()->inputMethodEntry(ic); + } + + return imEntry == nullptr ? _("Input Method") : imEntry->name(); + }); FCITX_OBJECT_VTABLE_PROPERTY(status, "Status", "s", []() { return "Active"; }); FCITX_OBJECT_VTABLE_PROPERTY(windowId, "WindowId", "i", []() { return 0; });