最近在 MacOS 下 emacs 内使用 rime(mac下叫做 squirrel)时,一个屏幕的时候,候选框总是在屏幕的左下角(贴边);多个屏幕的时候,始终显示在 main display 的屏幕左下角(贴边)。
试过 emacs@31 emacs@30 以及 emacs -Q 都是这样,其他的 app 内均没有这种情况。
论坛发帖就是想看看是否有人遇到过相同的情况,是否有解决方案。
最近在 MacOS 下 emacs 内使用 rime(mac下叫做 squirrel)时,一个屏幕的时候,候选框总是在屏幕的左下角(贴边);多个屏幕的时候,始终显示在 main display 的屏幕左下角(贴边)。
试过 emacs@31 emacs@30 以及 emacs -Q 都是这样,其他的 app 内均没有这种情况。
论坛发帖就是想看看是否有人遇到过相同的情况,是否有解决方案。
MacOS: Let EmacsView implement NSTextInputClient · emacs-mirror/emacs@ceb5a15 · GitHub 是这个 commit 导致的 rime 候选框的问题
diff --git a/src/nsterm.m b/src/nsterm.m
index b56c587bc69..b883e605a5b 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -7064,7 +7064,7 @@ - (void) setMarkedText: (id) string
- (NSRect) firstRectForCharacterRange: (NSRange) range
actualRange: (nullable NSRangePointer) actualRange
{
- return NSZeroRect;
+ return [self firstRectForCharacterRange: range];
}
#endif /* NS_IMPL_COCOA */
用这个 patch 可以修复这个问题
已经 push 到 master 了,更新 emacs 就好了。