fix(linux): fcitx5 热键拦截修复 + 去除 Linux 磨砂效果 + 剪贴板清理#601
Merged
H-Chris233 merged 4 commits intoJun 6, 2026
Merged
Conversation
…ard cleanup - fcitx5 plugin: fix Alt+a hotkey leaking 'a' character by normalizing case comparison (Alt produces uppercase sym, Key::check expects lowercase) - fcitx5 plugin: use PreInputMethod + filterAndAccept to block engine before commit happens (same strategy as clipboard addon) - Linux: remove backdrop-filter (unreliable on WebKitGTK, Open-Less#553), replace with opaque background - Linux: skip clipboard writes after streaming insert (fcitx5 commits directly, clipboard fallback corrupts user data) - SettingsModal: render via React Portal to document.body (Open-Less#580, fixes scrollbars overlapping modal) - Remove is_no_compositing_mode command and CSS fallback (no longer needed) - Remove StartupShell loading screen (app renders FloatingShell immediately) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR Reviewer Guide 🔍(Review updated until commit 1033130)Here are some key observations to aid the review process:
|
- Add upload step for libopenless.so + openless.conf as a separate artifact (openless-fcitx5-plugin-linux-x64) for AppImage users and manual installation - Include plugin files in GitHub Release assets alongside existing deb/rpm/AppImage bundles Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Persistent review updated to latest commit 1658af4 |
Contributor
Author
|
#580 实际上没有被修复。 |
- AudioCueListener is a new component rendered in FloatingShellBody that listens to capsule:state on the main window, so the record start cue works on Linux where the capsule window is hidden. - Coordinator now emits capsule:state to both "capsule" and "main" windows so the listener receives state changes. - Remove duplicate audio cue logic from Capsule.tsx to avoid double-triggering on macOS/Windows where capsules are shown. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Persistent review updated to latest commit ac65011 |
Contributor
Author
|
录音提示音不发出声音的问题Linux 上被修复了。 |
Contributor
Author
|
现在linux上唯一的已知问题是输入法在频繁切换焦点时,会在某些情况下出现一些无法消失的输入框,需要重启输入法才能解决 |
Collaborator
|
磨砂我去除了,你解决下冲突我就合 |
Accept beta's WindowChrome/global.css/FloatingShell changes for Linux surface treatment, re-apply AudioCueListener component on top. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Persistent review updated to latest commit 1033130 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
变更
fcitx5 插件 — 修复 Alt+a 热键泄漏字符
Key::check("Alt+a")存储 sym=97(小写 a),但 Alt 状态下实际按键 sym=65(大写 A),不匹配导致filterAndAccept未执行PreInputMethod阶段 +filterAndAccept(),在引擎InputMethod之前拦截Linux 视觉
backdrop-filter(WebKitGTK 下局部重绘时不可靠,[linux] 磨砂效果有问题 #553),换不透明白底[data-ol-no-compositing]CSS fallback 规则is_no_compositing_modeRust command 及前端调用Linux 剪贴板
insert()路径纯 fcitx5 commit,失败不 fallback 剪贴板CI 流程
libopenless.so+openless.conf) 作为独立 artifact,供 AppImage 用户手动安装其他
关联 Issue
Closes #553 - Linux 磨砂效果有问题
Closes #540 - Linux 启动 pill 无法水平居中(移除 pill 直接解决)
🤖 Generated with Claude Code
PR Type
Bug fix, Enhancement
Description
Fix fcitx5 Alt+a hotkey character leak by normalizing case and using PreInputMethod + filterAndAccept
Remove backdrop-filter (WebKitGTK unreliable); replace with opaque background
Skip clipboard writes after Linux streaming insert; fcitx5 commits directly
Move audio cue listener to main window (AudioCueListener) for Linux compatibility
Upload fcitx5 plugin as standalone CI artifact for AppImage users
Diagram Walkthrough
File Walkthrough
3 files
Emit capsule:state to main window for AudioCueListenerAdd AudioCueListener component for recording sound cuesRender AudioCueListener in FloatingShellBody4 files
Skip clipboard save on Linux after streaming insertRefactor insertion to separate Linux and Windows pathsRemove audio cue logic from Capsule componentFix hotkey matching by normalizing key case1 files
Upload fcitx5 plugin as separate release artifact