如何在Awesome WM中修复Java应用程序鼠标指针偏移?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在Awesome WM中修复Java应用程序鼠标指针偏移?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2230字,纯文字阅读大概需要4分钟。
内容图文
如何在Awesome WM v3.5.2到3.5.5(到目前为止)中重现:
>安装OpenJDK或Oracle Java 7.两者都观察到了这个错误.
>使用默认配置启动一个新的Awesome WM会话.
>启动jEdit或PyCharm.两者都观察到了这个错误.
>移动鼠标指针,并根据您是否将鼠标悬停在代码,项目文件或菜单上来观察它的变化.这应该正常工作.
>在“文件”菜单上单击并释放,输入其中一个子菜单,并观察直接位于鼠标指针下方的项目是如何聚焦的.
>重复按Mod4 Space直到激活浮动布局(应用程序几乎全屏)或在同一标签中打开另一个应用程序.
此时,我希望鼠标的行为与“普通”应用程序的行为相同.相反,我观察到以下内容:
>使用鼠标单击和导航菜单时,鼠标指针和聚焦的菜单项将彼此垂直偏移,看起来与状态栏的高度相同.
>像以前一样将鼠标悬停在其他项目上时,光标图标将被设置为好像鼠标指针位于屏幕上方.例如,将鼠标悬停在文本的顶行,您将看不到文本光标.
就好像某些东西没有检测到窗口坐标已经改变.
当您在同一个标??签中打开另一个应用程序时,会发生类似但更烦人的错误 – 鼠标行为就像窗口根本没有移动一样.
当您切换已打开应用程序的另一个标记时,“虚拟鼠标桌面”将移动到主屏幕的左上角.
由于在OpenJDK和Oracle Java中都观察到了这些错误,并且使用不同的Java应用程序,因此很可能该错误存在于Awesome WM中.
相关question,article.我尝试了_JAVA_AWT_WM_NONREPARENTING和wmname修复,但没有去.
解决方法:
根据我的经验,您需要为窗口管理器的源添加特殊定义.
几年前我在MATE桌面的marco窗口管理器中遇到过这种情况; ‘修复’是让marco假装成其父项目,metacity,利用JDK的内置修复程序来实现metacity.
来自src / core / display.c:
meta_prop_set_utf8_string_hint (the_display,
the_display->leader_window,
the_display->atom__NET_WM_NAME,
"Metacity (Marco)");
这解决了Web浏览器世界中用户代理字符串发生的事情,但它对我有用.
此外,arch wiki甚至在冒充其他窗口管理器的部分中提到了Awesome WM,它推荐使用wmname:
https://wiki.archlinux.org/index.php/Java#Impersonate_another_window_manager
You may use the wmname from suckless.org to make the JVM believe you
are running a different window manager. This may solve a rendering
issue of Java GUIs occurring in window managers like Awesome or Dwm or
Ratpoison.$wmname LG3D
You must restart the application in question after issuing the wmname
command.This works because the JVM contains a hard-coded list of known,
non-re-parenting window managers. For maximum irony, some users prefer
to impersonate LG3D, the non-re-parenting window manager written by
Sun, in Java.
内容总结
以上是互联网集市为您收集整理的如何在Awesome WM中修复Java应用程序鼠标指针偏移?全部内容,希望文章能够帮你解决如何在Awesome WM中修复Java应用程序鼠标指针偏移?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。