fix(linux): fcitx5 auxDown persistent + hotkey mode save + hide clipboard/capsule settings
- coordinator.rs: terminal state (Done/Error/Cancelled) auto-clears after 3s; fix RETRY_GEN comparison (fetch_add returns old value, use latest_gen > gen+1); remove broken 300ms retry - HotkeySettingsContext.tsx: fix queueSetSettings never calling setSettings() (latestPrefsRef was already updated to the new object before microtask ran) - openless.cpp: add PostInputMethod event hook to restore auxDown after fcitx5 processes key events - RecordingInputSection.tsx: hide clipboard/paste/capsule settings on Linux; streaming insert shown as standalone card instead of inside clipboard group - ShortcutsSection.tsx: hide "capsule confirm" shortcut hint on Linux Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
f517912068
commit
eb05bc1ca1
5 files changed
+50
-38
No files matched your search
@@ -222,6 +222,21 @@ public:
|
||||
instance_->flushUI();
|
||||
}));
|
||||
|
||||
// 6. PostInputMethod 阶段恢复 lastAuxText_:fcitx5 在处理按键后可能
|
||||
// 清掉 auxDown(如 enter/backspace 触发内联模式),此钩子自动补回。
|
||||
eventHandlers_.push_back(
|
||||
instance_->watchEvent(
|
||||
EventType::InputContextKeyEvent,
|
||||
EventWatcherPhase::PostInputMethod,
|
||||
[this](Event &event) {
|
||||
if (lastAuxText_.empty()) return;
|
||||
auto &keyEvent = static_cast<KeyEvent &>(event);
|
||||
auto *ic = keyEvent.inputContext();
|
||||
if (!ic) return;
|
||||
ic->inputPanel().setAuxDown(Text(lastAuxText_));
|
||||
ic->updateUserInterface(UserInterfaceComponent::InputPanel, true);
|
||||
}));
|
||||
|
||||
FCITX_LOGC(openless, Info) << "OpenLess plugin loaded";
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user