Beh, ve l’avevo promesso nel post precedente (sì, postato poco tempo fa, ma in produzione da settimane) ed adesso eccovi qualche novità che riguarda CompComm: il progetto di OpenCompositing che mira alla creazione di tool e plugin di terze parti per facilitare e rendere l’esperienza degli utenti di Compiz sempre più eccitante (ed «à la Beryl»)!
In questi mesi di sviluppo, ci sono state ovviamente molte modifiche che seppur non siano ancora state raccolte in una prima release di preview (e, ripeto, non ci sia ancora un nome), sono ormai usabili da diverse settimane, e queste includono, oltre al porting di quelli preesistenti, alcuni nuovi plugin e, come avrete capito dal post precedente, un nuovo sistema di configurazione (ben più comodo di gconf o dei file ini ufficialmente supportati da compiz).
Ma partiamo con ordine: il Nome. Purtroppo, come molte volte capita nel mondo FOSS, spesso ci si fa la “guerra” per le cavolate, ed il nome da dare al progetto di OpenCompositing.org pare esserne proprio un esempio. Ad ogni modo dopo aver rotto le scatole per settimane agli sviluppatori presenti nel canale #opencompositing-dev (freenode), finalmente siamo giunti a questo thread, in cui si spera di giungere finalmente ad una soluzione (che come capirete dopo, non è poi così ininfluente…). CompComm onestamente non mi pare un gran nome, meglio CoCo, ma anche altri nomi come Coral che venne proposto qualche mese fa, non sono male…
Insomma, prego anche a voi di partecipare alla discussione in modo produttivo!
Ovviamente i nostri amici sviluppatori, dopo aver reso funzionanti i plugin di Beryl su Compiz (anche grazie al lavoro di compiz-extra che ha pensato ad aggiornare i propri), non hanno perso tempo a creare Nuovi plugin, alcuni utili, altri un “po’” meno:
- firepaint: quello che avrete visto in cima a questo post; sicuramente utilissimo! (volete mettere che effetto fa scrivere «Non Toccare» col fuoco?!) 😀
- resizeinfo: mostra le dimensioni attuali di una finestra durante il suo ridimensionamento come fa metacity, questo direi che è abbastanza comodo e ne potete vedere un esempio.
- compiz-scheme: un plugin molto potente che permette di programmare il nostro composite manager definendo diverse azioni in base ad uno script definito con una sintassi particolare [ancora in fase di sviluppo]
- sreencasting: permette di fare dei video dei vostri desktop 3d in modo più semplice (simile a beryl-vidcap nell’idea, ma diverso nell’implementazione visto che non usa più seom) [ancora in fase di sviluppo].
Infine, passiamo alla vera chicca prodotta in questo periodo dai ragazzi di OpenCompositing: CCS! Come si può “intuire” CCS è un acronimo per «Compiz Configuration System» e più o meno deriva da quanto era stato creato per beryl con libberylsettings, ossia un sistema che permetta di configurare compiz in modo semplice usando dei sistemi di salvataggio diversi in base all’ambiente utilizzato.
In pratica, Compiz è strutturato in modo tale da usare i plugin quasi per tutto, compresa la sua configurazione; possono essere scritti plugin per impostare il composite manager usando qualsiasi sistema di configurazione esistente, ma allo stato attuale esiste solo il supporto per gconf e per dei file di testo (ini) per cui l’unico modo di configurare il tutto con un tool "punta-e-clicca" è quello di usare gconf-editor che oltre ad essere marcatamente per GNOME, non è sicuramente il massimo come intuitività e comodità d’uso (esistono anche altri software, ma di fatto sfruttano gconf per leggere e scrivere le opzioni, e non dialogando direttamente con i plugin non si "auto-aggiornano").
È stato quindi creato un nuovo plugin (ccp – Compiz Configuration Plugin) che ha il compito di fare da “mediatore” tra compiz ed una nuova libreria, libccs, che compiz chiamerà per leggere le impostazioni definite dall’utente, mentre dei tool esterni la utilizzeranno sia per leggere i parmetri definibili di compiz (e quindi per "disegnarsi"), sia per impostare compiz stesso. Sarà quindi libccs che penserà a scrivere e leggere le impostazioni usando il backend scelto/installato (per adesso sono supportati sia i file ini, che i file di configurazione di KDE, che gconf); un primo esempio dell’uso di libccs l’avrete visto nel primo “configuratore” sviluppato in C (e molto simile al primo beryl-settings) per compiz + ccp: ccs-settings
Anche in questo caso (come per beryl) è stato creato un binding in python per libccs, così che sia possibile scrivere applicazioni python che abbiano accesso a tale libreria e da ciò, come era prevedibile, è nato un nuovo tool (sviluppato sopratutto da QuinnStorm) che si basa sia su beryl-settings-manager (come codice) che sull’ormai obsoleto ma tanto apprezzato Compiz-Settings (come interfaccia, a sua volta basata sullo GNOME Control Center); il suo nome è Compiz Configuration System Manager, vale a dire ccsm:
Mi pare un buon lavoro, no?! 🙂
Anche se fondamentalmente, dal punto di vista dell’utente si tratta solo di lanciare "compiz –replace ccp" invece che "compiz –replace gconf" (o ini), il sistema è abbastanza complesso ma allo stesso tempo potente, mi pareva quindi giusto spiegarlo un pochino…
È sottinteso in questo discorso, che se uno vorrà continuare ad usare il sistema standard di compiz "puro e duro" (e mi immagino già chi lo farà 🙄 :D), ovviamente dovrà continuare ad usare il precedente plugin di configurazione che potrà comunque convivere con quello fornito da CompComm (basta lanciare quello prescelto all’avvio di compiz). Per tanto, CompComm è un Add-on per Compiz, non più una MOD/Patch.
Ad ogni modo, anche se questo sistema lo apprezzo per molti versi (sia a livello di implementazione che di usabilità), tuttavia secondo me è stato commesso un errore (ovviamente riparabile, s’intende… E l’ho già detto anche agli sviluppatori) nel non mantenere questo sistema compatibile con quelli attualmente presenti in Compiz: ini e gconf; voglio dire, seppur anche questo sistema salvi le impostazioni in entrambi i supporti, usa delle variabili e dei metodi diversi, quindi risulta impossibile usare i settaggi passando da un sistema di configurazione all’altro…
Aggiungo poi [EDIT del 28-05-2007, ore 20:15] che, oltre ai vari script per compilare ed avviare Compiz con i giusti parametri, è in cantiere anche una sorta di beryl-manager, ossia un tool che si avvia nella tray del sistema e che permette di avviare e configurare al volo Compiz; attualmente il nome (provvisorio?) è Compiz Icon ed è stato inserito oggi in GIT); ecco a voi uno screenshot della situazione attuale, mentre questo è il thread di riferimento.
Se volete provare tutto questo, già nelle vostre ubuntu-box potete usare i pacchetti DI PROVA che ho creato in questi giorni mettendoli in un archivio (in attesa di un repository) disponibile su OpenCompositing; usatelo solo se sapete quello che fate, visto che è tutto ancora in produzione…
Sappiate, infatti, che tutto questo verrà presto inserito (appena si avrà un nome ufficiale – ecco che a qualcosa serve), insieme a compiz-git (che in realtà potrei già inserire…), nel mio repository eyecandy . 😉
Ciao!