@@ -122,9 +122,10 @@ MacosInputContext *MacosFrontend::findIC(ICUUID uuid) {
122122 instance_->inputContextManager ().findByUUID (uuid));
123123}
124124
125- ICUUID MacosFrontend::createInputContext (const std::string &appId, id client) {
125+ ICUUID MacosFrontend::createInputContext (const std::string &appId, id client,
126+ const std::string &accentColor) {
126127 auto ic = new MacosInputContext (this , instance_->inputContextManager (),
127- appId, client);
128+ appId, client, accentColor );
128129 ic->setFocusGroup (&focusGroup_);
129130 FCITX_INFO () << " Create IC for " << appId;
130131 return ic->uuid ();
@@ -174,6 +175,7 @@ void MacosFrontend::focusIn(ICUUID uuid) {
174175 auto *ic = findIC (uuid);
175176 if (!ic)
176177 return ;
178+ webpanel_->applyAppAccentColor (ic->getAccentColor ()); // app-specific
177179 ic->focusIn ();
178180 auto program = ic->program ();
179181 FCITX_INFO () << " Focus in " << program;
@@ -209,9 +211,10 @@ std::string MacosFrontend::focusOut(ICUUID uuid) {
209211
210212MacosInputContext::MacosInputContext (MacosFrontend *frontend,
211213 InputContextManager &inputContextManager,
212- const std::string &program, id client)
214+ const std::string &program, id client,
215+ const std::string &accentColor)
213216 : InputContext(inputContextManager, program), frontend_(frontend),
214- client_(client) {
217+ client_(client), accentColor_(accentColor) {
215218 CFRetain (client_);
216219 CapabilityFlags flags = CapabilityFlag::Preedit;
217220 setCapabilityFlags (flags);
@@ -286,9 +289,10 @@ std::string process_key(ICUUID uuid, uint32_t unicode, uint32_t osxModifiers,
286289 });
287290}
288291
289- ICUUID create_input_context (const char *appId, id client) noexcept {
292+ ICUUID create_input_context (const char *appId, id client,
293+ const char *accentColor) noexcept {
290294 return with_fcitx ([=](Fcitx &fcitx) {
291- return fcitx.frontend ()->createInputContext (appId, client);
295+ return fcitx.frontend ()->createInputContext (appId, client, accentColor );
292296 });
293297}
294298
0 commit comments