我有一个想法,可以编写一个修改Linux上文本字段行为的程序。我想要的是程序将根据所有系统中文本字段的文本方向自动更改文本输入语言。例如,如果我安装了英语和希伯来语,并且我点击某些软件中的文本字段,这些软件通常从右向左输出文本,那么程序将自动将文本输入语言更改为希伯来语。如果我单击从左到右输出文本的文本字段,程序将把语言切换为英语。
我对Linux上的系统或UI编程知之甚少(在Windows上更有经验),我不知道从哪里开始。有没有办法在Gnome和KDE上的GUI元素上注册'hooks'?也许我应该把它添加到Gnome和KDE的代码中?
我很欣赏任何关于如何开始的提示。
非常感谢,
奥德。
答案 0 :(得分:1)
首先注意一些事项:
通常,GUI窗口工具包的文本字段对齐要么由程序显式设置,要么根据检测到的系统区域设置(至少在Qt和GTK中)设置在Qt中的相关文本对象QLineEdit或{{ 3}}在GTK中或包含它们的更高级别的布局对象中。
那说为了至少为你自己的程序实现功能,你需要识别一些东西
假设你想要沿着免疫模块走下去
请参阅Qt的以下资源
请参阅以下GTK资源
一般方法是一样的。
学习GTK的资源
学习QT的资源
从您的评论中,您似乎可以编写自己的InputMethod机制或修改现有的机制。
为了让它在Gnome和KDE程序中默认加载并不困难,只需根据区域设置关联设置输入法。困难的部分是让InputMethod知道它正被输入的位置。通常,InputMethod不知道调用应用程序,更不用说编写它的GUI框架了。
输入法的资源