|
|
Riga 1: |
Riga 1: |
| === Cos'� Devil's Pie ===
| | Non seguire |
| [http://www.burtonini.com/blog/computers/devilspie 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:
| |
| | |
| <pre>
| |
| # apt-get install devilspie
| |
| </pre>
| |
| | |
| === 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:
| |
| <pre>
| |
| # man devilspie
| |
| </pre>
| |
| Nella sezione '''Bugs''', leggiamo un incoraggiante:
| |
| <pre>This manpage is useless, as it was thrown together on a train.</pre>
| |
| | |
| 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 [http://en.wikipedia.org/wiki/S-expression 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.
| |
| | |
| === Azioni ===
| |
| | |
| Questo � l'elenco delle azioni che possono essere applicate da devilspie all'apertura di una finestra:
| |
| ==== geometry ====
| |
| <pre>
| |
| (geometry geo)
| |
| </pre>
| |
| Setta la dimensione e il posto in cui verr� visualizzata la finestra.
| |
| ==== fullscreen ====
| |
| <pre>
| |
| (fullscreen)
| |
| </pre>
| |
| Visualizza la finestra a pieno schermo.
| |
| ==== focus ====
| |
| <pre>
| |
| (focus)
| |
| </pre>
| |
| Seleziona la finestra.
| |
| ==== center ====
| |
| <pre>
| |
| (center)
| |
| </pre>
| |
| Posiziona la finestra al centro dello schermo.
| |
| ==== maximize ====
| |
| <pre>
| |
| (maximize)
| |
| </pre>
| |
| Massimizza la finestra.
| |
| ==== maximize_vertically ====
| |
| <pre>
| |
| (maximize_vertically)
| |
| </pre>
| |
| Massimizza la finestra verticalmente.
| |
| ==== maximize_horizontally ====
| |
| <pre>
| |
| (maximize_horizontally)
| |
| </pre>
| |
| Massimizza la finestra orizzontalmente.
| |
| ==== minimize ====
| |
| <pre>
| |
| (minimize)
| |
| </pre>
| |
| Minimizza la finestra.
| |
| ==== pin ====
| |
| <pre>
| |
| (pin)
| |
| </pre>
| |
| Visualizza la finestra iin tutti i workspaces.
| |
| ==== unpin ====
| |
| <pre>
| |
| (unpin)
| |
| </pre>
| |
| Il contrario di pin.
| |
| ==== set_workspace ====
| |
| <pre>
| |
| (set_workspace num)
| |
| </pre>
| |
| Setta il workspace (al posto di num va messo il numero del workspace).
| |
| ==== skip_pager ====
| |
| <pre>
| |
| (skip_pager)
| |
| </pre>
| |
| Non fa visualizzare la finestra nel pager. | |
| ==== skip_tasklist ====
| |
| <pre>
| |
| (skip_tasklist)
| |
| </pre>
| |
| Non fa visualizzare la finestra nella tasklist.
| |
| ==== above ====
| |
| <pre>
| |
| (above)
| |
| </pre>
| |
| Visualizza la finestra sempre sopra altre.
| |
| ==== below ====
| |
| <pre>
| |
| (below)
| |
| </pre>
| |
| Visualizza la finestra sempre sotto altre.
| |
| ==== undecorate ====
| |
| <pre>
| |
| (undecorate)
| |
| </pre>
| |
| Toglie le decorazioni del window manager.
| |
| | |
| === 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:
| |
| <pre>
| |
| (if (is (application_name) "gkrellm") (begin skip_pager (skip_tasklist)))
| |
| </pre>
| |
| Questo comando fa svolgere 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 svolgere una sola operazione, ad esempio aprire XMMS nel workspace 2 e nient'altro, basta il solo comando senza 'begin':
| |
| | |
| <pre>
| |
| (if (is (application_name) "XMMS") (set_workspace 2))
| |
| </pre>
| |
| | |
| Un altro esempio un po' pi� complesso, se si vuole mostrare la lista contatti di gaim su tutti i workspaces, una grandezza di 340x630 alla posizione (4, 150), il comando � questo:
| |
| <pre>
| |
| (if
| |
| (and
| |
| (is (application_name) "gaim")
| |
| (is (window_name) "Lista contatti")
| |
| )
| |
| (begin
| |
| (pin)
| |
| (geometry "340x630+4+150")
| |
| )
| |
| )
| |
| </pre>
| |
| | |
| === Automazione ===
| |
| Una volta eseguito devilspie, tutte le volte che si apre un programma per cui � stata definita un'operazione questa viene eseguita.
| |
| Per fare in modo che queste siano sempre eseguite bisogna far partire Devil's Pie automaticamente all'avvio del sistema.
| |
| | |
| Con gli ambienti desktop che seguono gli standard freedesktop (come xfce), � sufficiente creare un link all'eseguibile di devilspie nella directory Desktop/Autostart della nostra home.
| |
| In generale, molto pi� semplicemente, al momento dello spegnimento si pu� salvare la sessione con devilspie avviato, in modo da ritrovarselo a ogni accesso successivo.
| |
| | |
| | |
| ----
| |
| :[[Utente:Gnappa|Gnappa]] 17:21, Dic 8, 2005 (EST)
| |
| :[[Utente:ilbeppe|ilbeppe]] 21:05, Mar 31, 2006 (EST)
| |