x11 - 令人困惑的_NET_SUPPORTING_WM_CHECK

标签 x11 xlib icccm ewmh

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

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

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

最佳答案

嗯,你所说的原子不是 ICCCM。 它们属于较新的 EWMH 集。

所以基本上是这样的。

首先我们有 ICCCM。 他们是

  • 成熟
  • 大多数窗口管理器都支持(全部或部分)
  • 易于实现
  • Unix 标准

然后我们就有了 EWMH

  • 较新(GNOME 和 KDE)
  • 没有多少窗口管理器支持它们
  • 更复杂(例如虚拟桌面)
  • 免费桌面标准。

Freedesktop 希望使 EWMH 尽可能广泛(GNOME 和 KDE 除外) 这就是为什么大多数原子是“应该”而不是“必须”的原因。他们给小窗口管理器一个机会来声明合规。

关于x11 - 令人困惑的_NET_SUPPORTING_WM_CHECK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/214183/

相关文章:

xlib - Xlib 的图形功能快吗?

macos - 无法打开显示错误

linux - 在 QT 应用程序中嵌入应用程序(在本例中为终端)

Linux 上的 Java : maximize a non-Java GUI application

c - 仅使用 X11 lib 在 C 中截取窗口的屏幕截图

在 xlib 上使用 ctypes 时出现 Python3 段错误,python2 有效

pointers - X11:如何真正捕获鼠标指针?