如何解决如何获取 McCLIM 的光标位置
我正在尝试为 mcclim 添加输入法支持,以便它可以使用 fcitx 等输入法客户端在 mcclim 中输入 CJK。
为了更好地绘制fcitx,我想在文本编辑区域改变时获取光标位置。
我找到了一个叫做 const txt = await PDFNet.TextExtractor.create();
const rect = await PDFNet.Rect.init(99.98378847999993,1555.54,180,1574.7627664);
await txt.begin(firstPage,rect); // Read the page.
//Extract words one by one.
let line = await txt.getFirstLine();
for (; (await line.isValid()); line = (await line.getNextLine()))
{
for (let word = await line.getFirstWord(); (await word.isValid()); word = (await word.getNextWord()))
{
const text = await word.getString();
console.log(text);
}
}
的东西,但我不知道如何让 cursor-position/stream-cursor-position
当前专注于。我试过 cursor/stream
,但失败了。
我怎么能这样做?
解决方法
我知道您没有使用 libx11,但我只想向您展示 libX11 如何做到这一点。
基本上这是由协议中的 XIM_SET_IC_VALUES 完成的。预编辑属性嵌套值中的点位置值。
该点只是一个 X 点 (x,y)。尽管如此,该点还是焦点窗口的相对坐标。焦点窗口也是ic vlaues的一部分,属性名为XNFocusWindow。
如果不设置焦点窗口,则通过 XCreateIC 的客户端窗口将用作焦点窗口。
XVaNestedList preedit_attr;
preedit_attr = XVaCreateNestedList(0,XNSpotLocation,&nspot,NULL);
XSetICValues(ic,XNPreeditAttributes,preedit_attr,NULL);
XFree(preedit_attr);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。