如何让firefox主窗口没有使用devilspie的装饰?
首先,我无法运行Compiz。 它不适用于我的旧ati。
我试图让所有firefox主窗口都没有装饰。
这是规则:
( if ( and ( is ( application_name ) "Firefox" ) ( contains ( window_name ) "- Mozilla Firefox" ) ) ( begin ( println "match" ) ( undecorate ) ) )
它将解开任何打开的firefox窗口。 只要一个firefox窗口打开,它就会解开任何新窗口。 如果我关闭FF并重新打开,它就没有未修饰。
有任何想法吗?
(这是在Xubuntu 12.04,Xfce 4.10上测试的, xfwm4
作为窗口管理器。)
如果您使用的是最新版本的devilspie
,版本0.22,那么现有的firefox
窗口和新打开的窗口肯定可以自动修饰。 这是在存储库中,可以安装:
sudo apt-get install devilspie
还有一个名为gdevilspie
的gui,但它产生的规则似乎不准确并且通常不太有效,因此通过阅读自述文件和联机帮助页来编写规则是最容易的。
规则是如何创建的
创建的所有规则必须在~/.devilspie
,并且具有.ds
扩展名,因此首先创建该文件夹(如果该文件夹不存在)
mkdir ~/.devilspie
如果你想试验找到最好的窗口匹配条件(类,名称等),你可以在~/.devilspie
创建一个名为test.ds
的新文件并放入其中(debug)
。 现在您可以输入devilspie &
然后对于您启动的每个程序, devilspie
将检查并在终端中提供一些窗口信息:
Window Title: 'Mozilla Firefox'; Application Name: 'Firefox'; Class: 'Firefox'; Geometry: 1280x970+0+27
在这种情况下,最好选择Class( window_class
),因为它可以可靠地识别窗口。
规则
在~/.devilspie
创建一个名为firefox.ds
的新文件并放入其中:
; firefox rule to undecorate all existing and new windows (if (is (window_class) "Firefox") (undecorate))
评论介绍;
并且不读。 除非指定多个操作,否则不需要在命令中使用begin
,例如(begin undecorate (set_workspace 2)))
而不是单个操作(undecorate))
。
但是, devilspie
读取新规则,您必须重新启动它,所以运行
killall devilspie
然后重启它
devilspie &
每次编辑规则或在~/.devilspie
添加新规则时都必须执行此~/.devilspie
,否则将不会读取更改或任何新规则。
使用桌面环境的菜单将它添加到启动应用程序中也非常重要 。
有关devilspie
其他可能性的更多信息,请参阅man devilspie
或Ubuntu联机帮助页 。