Wspomagane zarządzanie oknami w Gnome

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)))

Podobne wpisy