Firefox, Swiftfox, Iceweasel都太可气了!

相信各位用wm的朋友都会给特定的应用程序制定规则, 例如放到特定的桌面, 不要边框等等, 很简单, 也很有用.

但是我很久之前就发现这些规则对Firefox及其衍生版都不起作用, 它们不会跟着你的特定规则自动出现在某个桌面, 而是坚持出现在当前桌面. 这个问题在我这一直都是悬案, 直到今天在Arch的Wiki中看到这段: Xprop_for_Firefox.

大概意思就是说: 不管实际是什么, Firefox及其衍生版都只认”Firefox*“这个WM_CLASS字符串. 真这么流氓? 用下面的openbox配置试了一下, 果然老老实实的…

<application class="Firefox*">
  <desktop>1</desktop>
</application>

PS: Wiki中说不知道具体原因, 但我猜是因为启动起来以后WM_CLASS这个值变了, 一直都在启动Xulrunner, 最后时刻给套上了个Firefox, Swiftfox或者Iceweasel的外壳. 改天验证下.