首先,我无法运行 Compiz。它无法与我的旧 ati 配合使用。
我正在尝试让所有 Firefox 主窗口都没有装饰。
规则如下:
( if
( and
( is ( application_name ) "Firefox" )
( contains ( window_name ) "- Mozilla Firefox" )
)
( begin
( println "match" )
( undecorate )
)
)
它将取消装饰任何打开的 Firefox 窗口。只要有一个 Firefox 窗口打开,它就会取消装饰任何新窗口。如果我关闭 FF 并重新打开,它就会不是未加修饰。
有任何想法吗?
答案1
xfwm4
(在 Xubuntu 12.04、Xfce 4.10 上以窗口管理器进行了测试。)
绝对有可能存在firefox
窗口和如果您使用的是最新版本devilspie
(0.22 版),则新打开的将自动取消装饰。它位于存储库中,可以使用以下命令安装:
sudo apt-get install devilspie
还有一个名为的 GUI gdevilspie
,但是它生成的规则似乎不准确并且经常不能很好地工作,因此最简单的方法是通过阅读自述文件和手册页来制定规则。
规则是如何制定的
创建的所有规则都必须放在 中~/.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
),因为这样可以可靠地识别窗口。
规则
firefox.ds
创建一个名为的新文件~/.devilspie
并将其放置在其中:
; 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
,请参阅man devilspie
或Ubuntu 在线手册页。