Od miesiąca pracuję na Ubuntu. Początkowo była to ostra terapia szokowa po 3 latach spędzonych z CRUX/Archlinuksem i różnego rodzaju tilingwmami. Co jakiś czas brakowało mi w Gnome możliwości zdefiniowania, na którym pulpicie ma się dana aplikacja otworzyć. Punkt kulminacyjny irytacji związanej z tym brakiem nastąpił w zeszłym tygodniu. Przy korzystaniu z awesome była to dla mnie podstawa.
Dość szybko udało mi się znaleźć porządne rozwiązanie zwane Devil’s Pie. Jest to program, który uruchomiony w tle wspomaga rozmieszczanie okien na podstawie reguł zdefiniowanych przez nas w plikach konfiguracyjnych.
Instalacja programu jest dziecinnie prosta, ponieważ znajduje się on w repozytoriach. Zatem:
sudo apt-get install devilspie
Kolejną czynnością jest utworzenie katalogu z konfiguracją:
mkdir ~/.devilspie
Teraz przystąpimy do zdefiniowania reguły dla firefoxa. Chcę żeby okno otwierało się na drugim pulpicie i było zmaksymalizowane. Konfiguracja odbywa się w języku lisp i zapisywana jest w plikach o rozszerzeniu *.ds
. W dowolnym edytorze tworzymy następującą konfigurację:
(if (is (application_name) "Firefox")
(begin
(set_workspace 2)
(maximize)))
Należy zapisać ją w katalogu ~/.devilspie/
pod dowolną nazwą – w moim przypadku będzie to firefox.ds
.
Kolejną aplikacją jaką skonfiguruję będzie empathy. Przyzwyczajony jestem do tego, że aplikacje służące do komunikacji odpalam na pierwszym pulpicie. Następującą konfigurację zapisuję w pliku ~/.devilspie/empathy.ds
:
(if (is (application_name) "Empathy")
(begin
(set_workspace 1)))
Oczywiście można zdefiniować znacznie więcej parametrów dla danej aplikacji, devilspie posiada dobrze napisaną dokumentację. Tutaj znajdziecie przykłady użycia wielu z nich.
Warto dodać tę aplikację do autostartu. Należy tylko pamiętać o tym, że devlispie złapie nowe reguły dopiero po restarcie, który możemy wykonać np. poprzez następującą komendę:
killall devilspie && devilspie &
UPDATE:
Poprawiłem formatowanie konfiguracji. Dorzucam również konfigurację dla Totema (ma za zadanie otworzyć się na 10 pulpicie):
(if (is (window_name) "Odtwarzacz filmów")
(begin
(set_workspace 10)))