有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的工作空间又称台式机

在发现和/或设置我的应用程序所在的桌面/工作区(当然是在Linux/Solaris下)方面有什么进展吗


共 (2) 个答案

  1. # 2 楼答案

    我是由“NetFrmeExtents.java”链接的项目的作者

    以下是我的答案:

    除非swing/awt现在已经实现了,否则在纯java中很难做到这一点。最直接的(也是唯一的?)方法是使用JNI并通过xlib/xcb实现。但是你可以按照你的要求去做

    有一个名为EWMH的桌面约定可以帮助您实现所需。 您需要执行的基本步骤顺序是:

    1. 获取应用程序的窗口id。为此,谷歌搜索如何在awt中检索窗口句柄/窗口id
    2. 接下来你需要阅读由原子定义的几个“属性”。如果你不知道这是什么谷歌如何从xlib/xcb窗口读取属性
    3. EWMH中有一个属性,列出了窗口管理器定义的所有虚拟桌面。 见http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#id2449367
    4. 在应用程序的窗口中设置属性a属性,请参见http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#id2507080以设置应用程序所在虚拟桌面的编号

    如果你做的一切都是正确的,并且窗口管理器支持ewmh(大多数都支持),那么它应该可以工作