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

m
nessun oggetto della modifica
Nessun oggetto della modifica
mNessun oggetto della modifica
Riga 1: Riga 1:
Molto carino, questo utility ;-)
=== Cos'è Devil's Pie ===
[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.


Gnappa, che tu sappia, devilspie effettua all'avvio un controllo per vedere se � presente un'altra istanza di se stesso? In caso contrario io inserirei qualcosa di simile a questo:
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.


nota: � necessario prestare attenzione ad usare <b>solo uno</b> dei metodi proposti per l'automazione dell'avvio di devilspie (o di qualunque altro programma che non esegua all'avvio un controllo sull'esistenza di una propria istanza gi� in esecuzione), perch� in caso contrario si assister� ad una proliferazione incontrollata di questi programmi. Quello che succede � che il session-manager ricorda i programmi che erano presenti durante la sessione precedente, e li riavvia, e a questi si aggiunge quello avviato con la directory Autostart: questo processo pu� continuare senza limiti.
=== 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:


non so se � abbastanza chiaro: vedi un po' tu
<pre>
# apt-get install devilspie
</pre>


:[[Utente:Tindal|Tindal]] 16:40, Dic 11, 2005 (EST)
=== 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.
Dunque, non so se ho capito bene, ma se eseguo a mano pi� volte devilspie ne esegue uno nuovo ogni volta, quindi mi ritrovo tanti processi uguali...� qui che dovrebbe fare il controllo?
Per l'aggiunta, vorrei capire cosa intendi: tu dici che se io lo eseguo e salvo la sessione, non devo anche aggiungerlo in Autostart perch� altrimenti ne ho due? E quindi salvando la sessione al riavvio successivo ne avrei tre e cos� via?
Se � cos�, aggiungo senz'altro la tua nota perch� mi sembra una situazione da evitare!


grazie e ciao
Significativo in questo senso il manuale, accessibile con:
: [[Utente:Gnappa|Gnappa]]
<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.
Si, � proprio cos�. Per esempio amule se trova un altro amule in esecuzione non si avvia. Se devilspie non fa, come dici, questo controllo, allora � meglio segnalare questa possibilit�: uomo/donna avvisato/a...
A me era capitato con l'iconbox di xfce: dopo un po' ho visto che ci metteva molto ad avviarsi e ho trovato 8-10 iconbox in esecuzione :-O


ciao
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].
:[[Utente:Tindal|Tindal]] 17:48, Dic 12, 2005 (EST)


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 ===
Per� io ho messo devil's pie in Autostart E salvo la sessione all'uscita, ma all'avvio ho un solo processo devilspie, mentre se lo eseguo a mano pi� volte ne ho tanti quanti ne eseguo. Come si spiega?


: [[Utente:Gnappa|Gnappa]]
Questo è l'elenco delle azioni che possono essere applicate da devilspie all'apertura di una finestra:


------
; <tt>(geometry geo)</tt>: Setta la dimensione e il posto in cui verrà visualizzata la finestra.
mmm... beh, sembra che i manutentori del session manager si siano accorti del problema: meglio cos�. che DE usi? a me era capitato con xfce.


:[[Utente:Tindal|Tindal]] 14:56, Dic 15, 2005 (EST)
; <tt> (fullscreen) </tt>: Visualizza la finestra a pieno schermo.


------
; <tt> (focus) </tt>: Seleziona la finestra.


Che domande! uso XFCE :-D
; <tt> (center) </tt>: Posiziona la finestra al centro dello schermo.
: [[Utente:Gnappa|Gnappa]]


== riformattazione sezione "Azioni" ==
; <tt> (maximize) </tt>: Massimizza la finestra.


@ [[Utente:Ilbeppe|Ilbeppe]]: Grazie per la nuova sezione ;-).
; <tt> (maximize_vertically) </tt>: Massimizza la finestra verticalmente.


Senti, che ne dici se modificassimo la formattazione in questo modo:
; <tt> (maximize_horizontally) </tt>: Massimizza la finestra orizzontalmente.


; <tt>(geometry geo)</tt>: Setta la dimensione e il posto in cui verr� visualizzata la finestra.
; <tt> (minimize) </tt>: Minimizza la finestra.


In questo modo la lista diventerebbe molto pi� compatta e non si riempirebbe l'indice con sotto-sezioni minuscole.  
; <tt> (pin) </tt>: Visualizza la finestra iin tutti i workspaces.


: [[Utente:TheNoise|~ The Noise]] 19:35, Mar 31, 2006 (EST)
; <tt> (unpin) </tt>: Il contrario di pin.
 
; <tt> (set_workspace num) </tt>: Setta il workspace (al posto di num va messo il numero del workspace).
 
; <tt> (skip_pager) </tt>: Non fa visualizzare la finestra nel pager.
 
; <tt> (skip_tasklist) </tt>: Non fa visualizzare la finestra nella tasklist.
 
; <tt> (above) </tt>: Visualizza la finestra sempre sopra altre.
 
; <tt> (below) </tt>: Visualizza la finestra sempre sotto altre.
 
; <tt> (undecorate) </tt>: 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)
[[Categoria:Desktop]]
1 760

contributi