【发布时间】:2011-09-03 23:14:57
【问题描述】:
在发现和/或设置我的应用程序所在的桌面/工作区方面是否有任何进展(当然是在 Linux/Solaris 下)?
【问题讨论】:
标签: java desktop x11 workspace ewmh
在发现和/或设置我的应用程序所在的桌面/工作区方面是否有任何进展(当然是在 Linux/Solaris 下)?
【问题讨论】:
标签: java desktop x11 workspace ewmh
在现代窗口管理器上发现/设置桌面是通过读取/设置 EWMH 规范 (http://packages.debian.org/search?keywords=proftpd-basic&searchon=names&suite=all§ion=all) 中的 _NET_WM_DESKTOP 属性来完成的
我不知道有任何巧妙封装的 API 公开了此功能,但 google 找到了 http://code.google.com/p/ewm/source/browse/trinity/fusion-X11/trunk/src/main/java/org/fusion/x11/ewmh/NetFrameExtents.java,这可能是一个开始。
【讨论】:
我是由“NetFrmeExtents.java”链接的项目的作者
这是我的答案:
如果不是不可能的话,在纯 java 中很难做到,除非 swing/awt 现在已经实现了。最直接(也是唯一?)的方法是使用 JNI 并通过 xlib/xcb 来完成。但是可以按照你的要求去做。
有一个名为 EWMH 的桌面约定可以帮助您实现所需。 您需要执行的基本步骤顺序是:
如果你做的一切都是正确的,并且窗口管理器支持 ewmh(大多数都支持)它应该可以工作。
【讨论】: