我正在尝试让我的窗口管理器符合ICCCM规范。我完全理解_NET_SUPPORTING_WM_CHECK原子的原因 - 这确保了窗口管理器不再运行时不会保留无效信息。
我不明白为什么除了_NET_WM_NAME和_NET_SUPPORTING_WM_CHECK本身之外,为什么在支持窗口上不会有像_NET_NUMBER_OF_DESKTOPS这样的其他原子。
窗口管理器应该设置和覆盖数据,但在新窗口管理器不兼容的情况下,这可能会产生误导。
答案 0 :(得分:2)
你所谈论的原子不是ICCCM。 它们属于较新的EWMH
集所以基本上就是这样。
首先我们有ICCCM。 他们是
然后我们有了EWMH
Freedesktop希望尽可能扩大EWMH(除了GNOME和KDE) 这就是为什么大多数原子应该是,但不是必须的。他们给小窗口管理员一个机会要求合规。
答案 1 :(得分:1)
我认为您的想法是必须检查属性是否受支持,并且只有在支持的情况下才从根窗口使用它。
如果我没记错的话,_NET_SUPPORTING_WM_CHECK窗口是在很多其他属性已经存在之后添加的。