Во-первых, я не могу запустить Compiz. Это не работает с моей старой ати.
Я пытаюсь сделать так, чтобы на всех главных окнах 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
в качестве оконного менеджера.)
Определенно возможно иметь существующие firefox
окна и вновь открытыми они автоматически обесцвечиваются, если вы используете последнюю версию devilspie
, версия 0.22. Это находится в репозиториях и доступно для установки с помощью:
sudo apt-get install devilspie
Существует также графический интерфейс под названием gdevilspie
, но созданные правила казались неточными и часто не совсем работали, поэтому проще всего придумайте правило, прочитав readme и man-страницу.
Как было создано правило
Все созданные правила должны идти в ~/.devilspie
и иметь расширение .ds
, поэтому сначала создайте папку, если она не ' t существует с
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 &
Вы должны сделать это [ 1147] каждый раз , когда вы редактируете правило или добавляете новое в ~/.devilspie
, в противном случае изменения или любые новые правила не будут прочитаны.
Также очень важно добавлять его в автозагрузку приложений с помощью меню среды рабочего стола.
Для получения дополнительной информации о других возможностях с devilspie
, см. man devilspie
или руководства Ubuntu онлайн .