Personalizzare il comportamento delle finestre con Devil's Pie: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(Personalizzare le finestre con Devil's Pie)
(Nessuna differenza)

Versione delle 22:17, 8 dic 2005

Cos'è Devil's Pie

Devil's Pie è un programma che permette di personalizzare il comportamento delle finestre dei programmi. Ad esempio si può scegliere in quale workspace far partire un'applicazione, o impedire che compaia nella taskbar.

Ogni volta che viene aperta un'applicazione, e quindi creata la sua finestra, Devil's Pie legge nei files di configurazione l'operazione da eseguire su di essa.

Installazione

Devil's Pie è presente nell'archivio ufficiale Debian, quindi per installarlo basta usare il gestore di pacchetti preferito (aptitude, synaptic, kpackage...) oppure scrivere semplicemente da shell:

# apt-get install devilspie

Configurazione

La versione attuale di Devil's Pie è la 0.16. Dalla 0.13 è stato modificato completamente il sistema di configurazione, passando da un file di configurazione xml a un sistema a s-expressions.

Questo crea qualche problema perchè le guide che si trovano su internet si riferiscono al vecchio sistema, e l'autore non ha ancora scritto una guida per il sistema nuovo.

Significativo in questo senso il manuale, accessibile con:

# man devilspie

Nella sezione Bugs, leggiamo un incoraggiante:

This manpage is useless, as it was thrown together on a train.

Per fortuna ci viene in aiuto il file README, che troviamo nella directory /usr/share/doc/devilspie.

Per ogni finestra su cui vogliamo eseguire un'operazione, creiamo un file nomeprogramma.ds nella directory .devilspie della nostra home, in cui scriviamo il comando con l'operazione da eseguire, formattata come [s-expression].

In attesa della guida, per sapere i comandi disponibili bisogna spulciare il file src/parser.c nei sorgenti di devil's pie, e fare tante prove :-). Per le prove, basta richiamare devilspie da shell seguito dal file di configurazione che si vuole provare, e lanciare l'applicazione su cui deve eseguire l'operazione

Esempi

Supponiamo di avere gkrellm su tutti i workspace, ma di non voler vedere la sua miniatura nel pager. Creiamo un file gkrellm.ds e scriviamo:

(if (is (application_name) "gkrellm") (begin skip_pager (skip_tasklist))) 

Questo comando fa svogere due operazioni, l'eliminazione dal pager e dalla taskbar. Per applicare operazioni multiple è stato necessario iniziare l'elenco dei comandi con 'begin'. Da notare anche l'annidamento delle parentesi.

Se vogliamo svoglere una sola operazione, ad esempio aprire XMMS nel workspace 2 e nient'altro, basta il solo comando senza 'begin':

(if (is (application_name) "XMMS") (set_workspace 2))