令人困惑的_NET_SUPPORTING_WM_CHECK

发布于 2024-07-06 17:22:46 字数 261 浏览 10 评论 0原文

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

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

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

I am trying to make my window manager conform to the ICCCM specifications. I fully understand the reason for the _NET_SUPPORTING_WM_CHECK atom - this ensures that no invalid information stays whenever the window manager isn't running anymore.

What I don't understand is why are no other atoms like _NET_NUMBER_OF_DESKTOPS expected on the supporting window besides _NET_WM_NAME and _NET_SUPPORTING_WM_CHECK itself.

Window managers are supposed to set and overwrite the data but this can be misleading in the case the new window manager isn't compliant.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

温柔女人霸气范 2024-07-13 17:22:46

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

所以基本上是这样的。

首先我们有 ICCCM。
它们是

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

然后我们有了更新的 EWMH

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

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

Well the atoms that you are talking about are not the ICCCM.
They belong to the newer set of EWMH

So basically it goes like this.

First we had the ICCCM.
They are

  • old
  • mature
  • supported by most window managers (in full or in part)
  • easy to implement
  • Unix standard

Then we had EWMH that are

  • newer (GNOME and KDE)
  • not many window managers support them
  • more complex (e.g. virtual desktops)
  • A freedesktop standard.

Freedesktop wanted to make the EWMH as broad as possible (apart from GNOME and KDE)
and that is why most of the atoms are SHOULD and not MUST. They are giving a chance to small window manager to claim compliance.

南城追梦 2024-07-13 17:22:46

我认为这个想法是你必须检查某个属性是否受支持,并且仅在受支持时才从根窗口使用它。

如果我没记错的话,在许多其他属性已经存在之后,稍后添加 _NET_SUPPORTING_WM_CHECK 窗口。

I think the idea is you have to check whether a property is supported, and only use it from the root window if it's supported.

The _NET_SUPPORTING_WM_CHECK window was added later after a lot of the other properties already existed, if I remember right.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文