问题标签 [ewmh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
759 浏览

x11 - 令人困惑的_NET_SUPPORTING_WM_CHECK

我正在尝试使我的窗口管理器符合 ICCCM 规范。我完全理解 _NET_SUPPORTING_WM_CHECK 原子的原因 - 这可以确保在窗口管理器不再运行时不会留下无效信息。

我不明白的是,为什么除了 _NET_WM_NAME 和 _NET_SUPPORTING_WM_CHECK 本身之外,支持窗口上没有像 _NET_NUMBER_OF_DESKTOPS 这样的其他原子。

窗口管理器应该设置和覆盖数据,但如果新窗口管理器不兼容,这可能会产生误导。

0 投票
3 回答
14897 浏览

c++ - 如何使用 xlib 识别顶级 X11 窗口?

我正在尝试获取 X11 会话中所有顶级桌面窗口的列表。基本上,我想获取在窗口管理器应用程序切换 UI 中显示的所有窗口的列表(通常在用户按下 ALT+TAB 时打开)。

我以前从未做过任何 X11 编程,但到目前为止,我已经设法枚举了整个窗口列表,代码如下所示:

enumerateWindows()最初使用根窗口调用。

就它打印出有关数百个窗口的信息而言,这是可行的-我需要的是弄清楚我可以询问哪个属性以确定给定Window的是否是顶级桌面应用程序窗口(不确定官方术语是什么), 或不。

任何人都可以对此有所了解吗?我为 X11 编程找到的所有参考文档都非常枯燥且难以理解。也许有人可以指出更好的资源?

0 投票
1 回答
3123 浏览

python - 防止 GTK 中的窗口重叠

我有一个 Python/Linux 应用程序,它在 GTK 窗口中显示我需要的一些信息。出于本次讨论的目的,它的行为应该与停靠栏完全相同 - 存在于所有虚拟桌面上,并且最大化的窗口不会与它重叠。

第一点很容易,但我花了几天时间把头撞在显示器上试图得到第二点——防止重叠。如果另一个窗口最大化,我的应用程序不应该被覆盖。设置“始终在顶部”是不够的,因为其他窗口只是坐在我的信息栏后面而不是停在它的边缘。

简而言之:使用停靠/面板样式的窗口,您如何防止其他窗口在其上方/下方最大化?

更新:感谢 vsemenov 解决了问题

0 投票
2 回答
641 浏览

java - Java中的工作区又名桌面

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

0 投票
1 回答
621 浏览

linux - 是否有用于访问 EWMH/NetWM 功能的库和头文件?

我需要获得与命令行应用程序提供的有关当前窗口和虚拟桌面的类似信息wmctrl。我可以使用一些(C/C++)API 头文件和库文件吗?

0 投票
1 回答
8891 浏览

gnome - 删除 Gnome 中的标题栏

我在 Gnome 中有一个窗口,我想删除它的标题栏。这在 FVWM2 中很简单:我只是将窗口样式设置为包含NoTitle. 在 Gnome 中似乎没有类似的选项。

我最近学会了使用wmctrl来修改符合 EWMH 的窗口选项,但它也没有删除标题栏的方法(我可以看到)。

但是,必须有一些方法可以做到这一点,因为像 Audacious 这样的应用程序可以告诉 Gnome 不要显示窗口装饰。

谷歌搜索,我发现一些页面讨论了删除标题栏的问题wmctrl,但在每种情况下,解决方案都只是针对fullscreen窗口,这样标题栏就完全从屏幕上移开了。(这不是我要找的!)

谢谢你的帮助。

0 投票
2 回答
3939 浏览

fullscreen - 如何为 xcb 提供 _NET_WM_STATE_FULLSCREEN 提示?

我正在尝试使用 xcb 编写一个全屏应用程序来进行我自己的教育,但我遇到了上述问题。我发现了一些使用 Xlib 执行此操作的代码,但没有使用 xcb。我已经找到了xcb_ewmh_connection_t结构,我暂时这样使用它:

然后使用结构内部的原子EWMH._NET_WM_STATE等。

鉴于这个小背景,我如何才能暗示窗口管理器窗口应该是全屏的?

0 投票
2 回答
1387 浏览

python - 无法更改 _NET_WM_STRUT_PARTIAL 属性

我想在屏幕上为我用 Python 编写的 Gtk 应用程序保留一些空间。我写了这个函数:

它的调用如下所示:

不幸的是,它不起作用。我的代码哪里出错了?

UPD: 是我的 xprop 输出。我的 WM 是 Compiz。

0 投票
1 回答
68 浏览

linux - 是否有一种标准方法可以知道窗口是浮动的还是平铺的?

我正在修改任务栏以仅显示浮动或最小化的窗口。我知道有ICCCMEWMH标准。我可以使用它们来检查窗口是浮动的还是平铺的?或者还有什么我可以使用的吗?

我不想专门为窗口管理器做这件事,因为我即将切换到另一个。

0 投票
1 回答
86 浏览

qt - Gtk skip_taskbar_hint(在 Glade-ui-Designer 中看到)在 Qt 中等效

使用允许您设置 Gtk-Ui 的 Glade Designer,您可以检查窗口不显示在任务栏中的选项(在 linux 下,例如在 Ubuntu 中,这是左侧的启动器)。如果我查看 Glade 生成的 ui 文件,它会说<property name="skip_taskbar_hint">True</property>但是我相信这个选项不是 Gtk 特定的,并且想在我的 PyQt4 应用程序上应用这个选项。

现在我只能禁用任务栏中的窗口,如果我使用程序 devilspie(与 EWMH 标准通信)将提示设置为 skip_tasklist,这对我来说太多了。

有人知道这样的选择吗?