3 581
contributi
S3v (discussione | contributi) mNessun oggetto della modifica |
mNessun oggetto della modifica |
||
(5 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Squeeze|Wheezy}} | |||
{{Versioni compatibili}} | |||
==Introduzione== | ==Introduzione== | ||
[http://www.burtonini.com/blog/computers/devilspie Devil's Pie] è un programma che permette di personalizzare il comportamento delle finestre dei programmi. | [http://www.burtonini.com/blog/computers/devilspie Devil's Pie] è un programma che permette di personalizzare il comportamento delle finestre dei programmi.<br/> | ||
Ad esempio si può scegliere in quale workspace far partire un'applicazione, o impedire che compaia nella taskbar. | 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 | Ogni volta che viene aperta un'applicazione, e quindi creata la sua finestra, Devil's Pie legge nei file di configurazione l'operazione da eseguire su di essa. | ||
== Installazione == | == Installazione == | ||
Devil's Pie è presente nell'archivio ufficiale Debian, quindi per installarlo basta usare il gestore di pacchetti preferito | Devil's Pie è presente nell'archivio ufficiale Debian, quindi per installarlo basta usare il gestore di pacchetti preferito oppure scrivere semplicemente da [[shell]]: | ||
<pre> | <pre> | ||
Riga 32: | Riga 30: | ||
Per ogni finestra su cui vogliamo eseguire un'operazione, creiamo un file <code>nomeprogramma.ds</code> nella directory <code>.devilspie</code> della nostra home, in cui scriviamo il comando con l'operazione da eseguire, formattata come [http://en.wikipedia.org/wiki/S-expression s-expression]. | Per ogni finestra su cui vogliamo eseguire un'operazione, creiamo un file <code>nomeprogramma.ds</code> nella directory <code>.devilspie</code> 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 <code>src/parser.c</code> nei sorgenti di Devil's Pie, e fare tante prove :-). | In attesa della guida, per sapere i comandi disponibili bisogna spulciare il file <code>src/parser.c</code> nei sorgenti di Devil's Pie, e fare tante prove :-).<br/> | ||
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. | 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. | ||
Riga 41: | Riga 39: | ||
Questo è l'elenco delle azioni che possono essere applicate da devilspie all'apertura di una finestra: | Questo è l'elenco delle azioni che possono essere applicate da devilspie all'apertura di una finestra: | ||
; < | ; <code>(geometry geo)</code>: Setta la dimensione e il posto in cui verrà visualizzata la finestra. | ||
; < | ; <code> (fullscreen) </code>: Visualizza la finestra a pieno schermo. | ||
; < | ; <code> (focus) </code>: Seleziona la finestra. | ||
; < | ; <code> (center) </code>: Posiziona la finestra al centro dello schermo. | ||
; < | ; <code> (maximize) </code>: Massimizza la finestra. | ||
; < | ; <code> (maximize_vertically) </code>: Massimizza la finestra verticalmente. | ||
; < | ; <code> (maximize_horizontally) </code>: Massimizza la finestra orizzontalmente. | ||
; < | ; <code> (minimize) </code>: Minimizza la finestra. | ||
; < | ; <code> (pin) </code>: Visualizza la finestra iin tutti i workspaces. | ||
; < | ; <code> (unpin) </code>: Il contrario di pin. | ||
; < | ; <code> (set_workspace num) </code>: Setta il workspace (al posto di num va messo il numero del workspace). | ||
; < | ; <code> (skip_pager) </code>: Non fa visualizzare la finestra nel [[pager]]. | ||
; < | ; <code> (skip_tasklist) </code>: Non fa visualizzare la finestra nella tasklist. | ||
; < | ; <code> (above) </code>: Visualizza la finestra sempre sopra altre. | ||
; < | ; <code> (below) </code>: Visualizza la finestra sempre sotto altre. | ||
; < | ; <code> (undecorate) </code>: Toglie le decorazioni del window manager. | ||
=== Esempi === | === Esempi === | ||
Supponiamo di avere gkrellm su tutti i workspace, ma di non voler vedere la sua miniatura nel pager. | Supponiamo di avere <code>gkrellm</code> su tutti i workspace, ma di non voler vedere la sua miniatura nel pager.<br/> | ||
Creiamo un file gkrellm.ds e scriviamo: | Creiamo un file <code>gkrellm.ds</code> e scriviamo: | ||
<pre> | <pre> | ||
(if (is (application_name) "gkrellm") (begin skip_pager (skip_tasklist))) | (if (is (application_name) "gkrellm") (begin skip_pager (skip_tasklist))) | ||
Riga 81: | Riga 79: | ||
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. | 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': | Se vogliamo svolgere una sola operazione, ad esempio aprire <code>XMMS</code> nel workspace 2 e nient'altro, basta il solo comando senza 'begin': | ||
<pre> | <pre> | ||
Riga 87: | Riga 85: | ||
</pre> | </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: | Un altro esempio un po' più complesso, se si vuole mostrare la lista contatti di <code>gaim</code> su tutti i workspaces, una grandezza di 340x630 alla posizione (4, 150), il comando è questo: | ||
<pre> | <pre> | ||
(if | (if | ||
Riga 102: | Riga 100: | ||
=== Determinare il nome della finestra === | === Determinare il nome della finestra === | ||
Negli esempi precedenti, le azioni vengono associate a delle applicazioni o a delle finestre attraverso le voci (<code>application_name</code>) o (<code>window_name</code>). Se la personalizzazione si riferisce alla finestra di un programma, solitamente è sufficiente usare (<code>application_name</code>) con il nome del programma, come negli esempi precedenti xmms, gkrellm, gaim. | Negli esempi precedenti, le azioni vengono associate a delle applicazioni o a delle finestre attraverso le voci (<code>application_name</code>) o (<code>window_name</code>). Se la personalizzazione si riferisce alla finestra di un programma, solitamente è sufficiente usare (<code>application_name</code>) con il nome del programma, come negli esempi precedenti <code>xmms, gkrellm, gaim.</code> | ||
Nel caso si voglia definire un comportamento di un'applicazione di cui non si è sicuri del nome, oppure di una finestra specifica di un'applicazione, si possono avere tutte le informazioni necessarie avviando devilspie con l'opzione debug: | Nel caso si voglia definire un comportamento di un'applicazione di cui non si è sicuri del nome, oppure di una finestra specifica di un'applicazione, si possono avere tutte le informazioni necessarie avviando devilspie con l'opzione debug: | ||
Riga 114: | Riga 112: | ||
Setting pinned | Setting pinned | ||
</pre> | </pre> | ||
Nell'esempio si vedono le informazioni relative all'applicazione xmms e al suo plugin [http://figz.com/gdancer/ gDancer], e viene anche indicato che sono già state applicate delle azioni su quest'ultimo: non compare nel pager né nella barra delle applicazioni, e viene visualizzato in tutti i workspaces. | Nell'esempio si vedono le informazioni relative all'applicazione <code>xmms</code> e al suo plugin [http://figz.com/gdancer/ gDancer], e viene anche indicato che sono già state applicate delle azioni su quest'ultimo: non compare nel pager né nella barra delle applicazioni, e viene visualizzato in tutti i workspaces. | ||
I comandi corrispondenti del file <code>gdancer.ds</code> sono: | I comandi corrispondenti del file <code>gdancer.ds</code> sono: | ||
<pre> | <pre> | ||
Riga 127: | Riga 125: | ||
== Automazione == | == Automazione == | ||
Una volta eseguito devilspie, tutte le volte che si apre un programma per cui è stata definita un'operazione questa viene eseguita. | Una volta eseguito devilspie, tutte le volte che si apre un programma per cui è stata definita un'operazione questa viene eseguita.<br/> | ||
Per fare in modo che queste siano sempre eseguite bisogna far partire Devil's Pie automaticamente all'avvio del sistema. | 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 | Con gli ambienti desktop che seguono gli standard freedesktop (come <code>Xfce</code>), è sufficiente creare un link all'eseguibile di devilspie nella directory <code>Desktop/Autostart</code> della nostra home.<br/> | ||
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. | 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. | ||
{{Autori | |||
|Autore = [[Utente: Gnappa|Gnappa]] 17:21, Dic 8, 2005 (EST) | |||
|Estesa_da = | |||
:[[Utente: ilbeppe|ilbeppe]] 21:05, Mar 31, 2006 (EST) | |||
|Verificata_da = | |||
|Numero_revisori = 0 | |||
}} | |||
[[Categoria:Window Manager]] | |||
[[Categoria: |
contributi