根据https://tronche.com/gui/x/icccm/sec-4.html#WM_CLASS:
这两个字符串分别是:
- 一个字符串,用于命名拥有此窗口的客户端所属的应用程序的特定实例。由实例名称指定的资源将覆盖由类名称指定的任何资源。用户可以以操作系统特定的方式指定实例名称。在符合 POSIX 标准的系统上,使用以下约定:
[...]- 一个字符串,用于命名拥有此窗口的客户端所属的一般应用程序类。由类指定的资源适用于具有相同类名的所有应用程序。类名由应用程序编写者指定。常用类名的示例包括:“Emacs”、“XTerm”、“XClock”、“XLoad”等等。
Firefox的WM_CLASS
是“Navigator”、“firefox”,据我所知,这与 的描述不符WM_CLASS
。Navigator 可能是 Firefox 以前的名称,但我不确定 Navigator 为什么是 的一部分WM_CLASS
。
答案1
这真让我难受。天啊,你让我感觉自己老了。
确实如此,Firefox 的 WM_CLASS 之所以是“Navigator”,是有原因的。
我将给你上一堂你从未想过的历史课。
Firefox 曾经是“网景浏览器“它曾经基于 Mosaic 浏览器,而 Mosaic 浏览器的历史则更久远。不是源代码,而是设计。
它是在 Windows 95(或 Internet Explorer)发布之前编写的。
曾几何时,有一场公开的比赛,争夺谁将赢得浏览器之战。
Mozilla/Navigator/Firefox(后来)显然是该领域领导者的竞争者。
因此发生了两件事......
- Netscape 决定重写全部代码。重写后的代码漏洞百出。这让 Netscape 失去了获胜的机会。
- 微软付钱给 Mosaic 来开发 Internet Explorer。在早期,Internet Explorer 并不是一个臃肿的 POS,参见上面的 #1。
- 微软将 IE 与其操作系统捆绑在一起,让人们可以轻松使用网络,甚至无需下载其他软件。对于拨号调制解调器来说,这一点至关重要。他们因此被起诉并在欧洲败诉,但那是另一个故事。
- 在战争失败后,Netscape 代码被作为开源程序发布,被称为“firefox”,虽然花了一段时间才解决问题(参见#1),但现在(我想?)它是 Chrome 的唯一真正替代品。
大家可以随意编辑我的评论。我确实经历过这件事,但也许我的记忆有偏差。