That's my blog… Life and Linux

CompComm, il desktop fiammante!

CompComm Firepaint - Scrivi nello schermo col... Fuoco!!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 (ccpCompiz 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!
 

Da compiz a beryl, di nuovo a compiz… E poi?

Compiz e Beryl uniti nei loghi! Normalmente, come avrete notato, seppur segua da vicinissimo le vicende dei desktop 3D (stando anche sempre a contatto con gli sviluppatori) non posto molte notizie che li riguardano, visto che di solito in poco tempo rimbalzano nella blogosfera, preferisco magari rendere disponibili queste novità a tutti in formato .deb :P, ma ultimamente, dopo la fusione tra Compiz e Beryl tutto sembra essersi fermato… Ma ve lo dico subito, non è così!

Facendo un passo indietro e nel tentativo di rendere pieno il senso del titolo, facciamo una mini-storia fino ai tempi non lontani in cui Beryl era un progetto vivo: il mio primo composite manager è stato xcompmgr (che esiste già dal 2004) anche se a causa di problemi di supporto hardware l’esperienza finì molto brevemente; poi grazie all’avvento di Xgl, il serverone 3D, passai al primo composite con la "C" maiuscola: Compiz :P, ma – come molti sanno – dopo il rilascio del codice da parte di Novel, per diversi mesi il suo sviluppo sembrava essersi interrotto, fu così che in seno alla comunità Ubuntu, e ad opera di QuinnStorm, nacque Compiz-Quinn ossia una versione modificata di compiz che risolveva diversi problemi ed aggiungeva alcune funzionalità; la comunità si spostò quindi in massa a questa nuova versione patchata che poi col tempo assunse sempre più una sua fisionomia fino ad essere “costretta” al fork; magari più per incomprensioni che per motivi reali, però l’incapacità di parlarsi portò ad una divisione tra Compiz di freedesktop e Beryl; la mia scelta fu in beryl, anche perché nella sua fase iniziale la comunità era davvero parte integrante dello sviluppo come in pochi altri progetti; come ebbi a dire in altri post: «ti faceva sentire importante e vivo nello sviluppo».

Tuttavia, questa divisione ha dato origine a due cose: una positiva, l’altra meno… Ossia, il fork ha dato slancio al “gruppo” di freedesktop (= David Raveman) che ha riniziato a mettere le mani seriamente sul codice di compiz e, come altra conseguenza, sono nati anche i flame che tutti conosciamo e che se da una parte dimostrano che la comunità è viva più che mai, dall’altra ritengo che si siano spinti davvero troppo oltre.

Ad ogni modo, quando ormai i due progetti sembravano essere sempre più lontani tra di loro (a livello "ideologico", s’intende…), la ragionevolezza ha preso il sopravvento e si è deciso da una parte di aprirsi un po’ di più (compiz), mentre dall’altra si è rinunciato alla propria indipendenza ed a diverse righe di codice, magari ben condito di hack, ma quantomai funzionante e facile da gestire (beryl) per arrivare ad un progetto comune, sviluppato però da due reparti principali:

  • Compiz, quello vero, ha il compito di progettare ed implementare il codice del core e di alcuni plugin di base che già garantiscono il perfetto funzionamento del composite manager (anche se limitato in funzionalità e facilità di configurazione); il tutto in un team abbastanza ristretto e composto dai migliori sviluppatori del campo capitanati da David Raveman.
  • OpenCompositing / CompComm / CoCo / ??? (c’è già quasi tutto, tranne che un nome ufficiale) ha il compito di creare una comunità attiva nel supporto, la configurazione e lo sviluppo che riunisca gli sviluppatori (e gli utenti) più sfarfalloni di Beryl e Compiz-extra per produrre plugin aggiuntivi ed un sistema di installazione, avvio e  configurazione a prova di niubbo usando però come base sempre e solo il core ufficiale di Compiz per cui questi tool sono solo un aggiunta tutt’altro che indispensabile.

Fin qui, niente di nuovo (a parte i nomi provvisori) visto che sostanzialmente ho riscritto quanto indicato nelle roadmap ormai da due mesi e passa, ma nel tempo che è trascorso dall’ultima release (assoluta) di Beryl e dall’ultima stabile di Compiz (la 0.3.6) ad oggi entrambi i progetti non sono stati con le mani in mano.

Sul lato di Compiz, ci sono stati diversi cambiamenti sostanziali al nucleo che seppur non cambino molto la vita degli utenti, senza star ad entrare in superflui tecnicismi, toccano molto l’approccio di programmazione visto che è stato modificato il sistema con cui sono definite le opzioni del core e dei plugin passando da un sistema hardcoded nei sorgenti in C ad uno che sfrutta dei files xml esterni (metadata) da cui vengono poi generate le opzioni con cui si dovranno interfacciare sia lo sviluppatore (per definire i comportamenti a livello di codice) che gli utenti (per impostare compiz, ovviamente tramite software di configurazione appositi). Ad esse si uniscono il già noto supporto per l’input redirection che Xorg 7.3 supporterà, l’aggiunta di alcune feature importate da beryl (più che altro sui plugin) altre al bugfixing di routine.
Modifiche quindi piuttosto importanti, ma appunto, non troppo appetibili (immagino) per la maggior parte della platea.

E sul lato della comunità di OpenCompositing (per ora chiamiamola CompComm), invece?
Beh… Si dice che un immagine valga più di molte parole, per ora, vi lascio a questa:

CompComm settings manager

A presto, per altre brucianti novità 🙂

Treviño’s Ubuntu / Kubuntu Feisty Fawn Repository List

3v1n0 ubuntu feisty repository list

Ve l’avevo promesso un paio di giorni fa e sono stato di parola… Dopo avervi “ufficializzato” il repository 3v1n0, adesso è la volta di un altro progetto che ormai si sussegue di versione in versione ad ogni rilascio di Ubuntu: la lista(ona) dei repository di terze parti.

L’indirizzo non è ancora cambiato, per tanto potrete trovare la sources.list aggiornata per Feisty Fawn sempre in questa pagina: Lista Repository (sources.list) per Ubuntu / Kubuntu Feisty Fawn.

Anche in questa versione, per tenervi aggiornati in modo più efficace ho creato un pacchetto (3v1n0-sources-list) che si trova nel mio repository e che aggiornerò ad ogni modifica sostanziale della lista…
Come già detto questo piccolo .deb non fa altro che sostituire la vostra sources.list con la "mia", ovviamente dopo aver fatto i backup del caso (sempre in /etc/apt/), potete quindi installarlo da qui:

Dopo l’installazione non dimenticare di lanciare un sudo apt-get update per avere tutti i nuovi software e gli aggiornamenti! 😉

In questa versione ho deciso anche di facilitare una delle operazioni più noiose connesse all’aggiornamento della lista, ossia l’approvazione della chiave GPG dei repository di terze parti. Nella Pagina della lista (non nel pacchetto), infatti ho inserito uno script che potrete incollare nel vostro terminale per fare un riconoscimento rapido. Ci tengo a sottolineare comunque che non mi assumo le responsabilità dell’approvazione di tutti i repository, visto quanto è successo in passato, ma se volete usare quello strumento fate pure…

Infine, una nota per gli utenti che sono ancora rimasti ad edgy: ho trasferito la vecchia lista in un post con vecchia data; non manterrò più aggiorata quella lista, comunque se ci saranno segnalazioni commentate pure nel suddetto post.

CIAO! ^_^

PS: Oggi è anche uscita UbuntuStudio, pare davvero un bel progetto! Se molti tool già li conosciamo, la grafica pare davvero ben fatta!

Il repository 3v1n0 per Ubuntu Feisty è ora “stabile”!

3v1n0-feisty-repositoryOvvïa, dopo aver di nuovo rotto il ghiaccio possiamo tornare ad essere operativi anche in questa sede… Col passaggio a Kubuntu Feisty (che per me è avvenuto dal 20 Aprile) ovviamente ho avuto un po’ di lavoro nell’aggiornare i vari progetti che gestivo per edgy alla nuova versione.
Mentre per adesso non ho ancora ultimato la fase di revisione di una lista repository ben completa per il cerbiattino visto che fino a poco tempo fa non è che ci fosse molto materiale (anche spero di postarla a breve), una delle mie prime azioni è stata quella di creare un nuovo repository generico (per dirlo in altre parole il "3v1n0") in cui ho dovuto però rimuovere i pacchetti obsoleti, aggiornarne alcuni, ricompilarne altri e correggere ulteriori ed eventuali problemi che ho riscontrato…

Seppur non avessi ancora ufficializzato i miei repository, in realtà i dati si trovavano online da diverso tempo (dal 26 Aprile) ma visto che era ancora tutto in movimento preferivo non rendere la cosa completamente pubblica (anche se il front-end html già parlava chiaro); ad ogni modo ora penso sia giunto il momento di aggiornare la vostra lista dei repository con un po’ di pacchetti extra by Treviño :P, per farlo semplicemente aprite il vostro gestore di pacchetti o il file /etc/apt/sources.list e lì inserite le seguenti linee:

# Treviño’s Ubuntu Feisty Fawn Repository (GPG key: 81836EBF – DD800CD9)
# Many "random" bleeding edge software: aMule, aMSN, Mercury, flash…
# Further informations: http://3v1n0.tuxfamily.org
deb http://download.tuxfamily.org/3v1deb feisty 3v1n0
deb-src http://download.tuxfamily.org/3v1deb feisty 3v1n0

Quindi concedetemi la fiducia 🙂 con: 

wget http://3v1n0.tuxfamily.org/DD800CD9.gpg -O- | sudo apt-key add –

Come sempre è possibile spulciare il contenuto del repository attraverso questa pagina che contiene la lista di tutti i pacchetti con descrizione e link per scaricarli. Non so se l’avete notato, ma ormai da diversi mesi avevo aggiornato sia lo stile che il logo del front-end per renderlo conforme al blog ;).

Per segnalare eventuali problemi sia sui pacchetti che sul repository o per richiedere dei .deb, sapete come contattarmi (meglio per mail o irc)…

Colgo infine l’occasione per ricordarvi che a breve aprirò o integrerò anche altri repository per feisty (alcuni già usufruibili per i più “smaliziati”) con altro software sulla cresta dell’onda 🙂

Bye! ^_^ 

C’è nessuno?! Qui, pare di si…

Torno subito...Rieccomi!! 🙂
Quasi, mi vergogno un po’ a tornare qui dopo mesi (sigh!) di assenza da queste pagine, la mia vena blogghistica negli ultimi tempi si è affievolita molto, ma certamente non perché non ami questo splendido mezzo per interfacciarsi col mondo, ma perché tra il tempo da dedicare alla real life e quello speso nella mia costante ricerca della perfezione informatica 🙂 e nel mio “interesse nel tutto”, tendo ad applicarmi in moltissime cose che poi non mi danno il tempo di raccontare o commentare quanto accade nella Rete e talvolta neanche quanto produco io stesso (anche perché poi vorrei farlo usando la miglior forma :)), insomma le solite concause che mi hanno sempre limitato in questa attività recentemente si sono moltiplicate incrementando ulteriormente la mia TODO list.
Per dirla breve è sempre il solito {gatto,cane,animale_con_coda_e_bocca*} 😀 che si morde la coda :|.

Ad ogni modo quando si trovano nella rete post come «trevino dov’è finito??!!» e si ricevono commenti, mail o messaggi IM chiedendomi che fine ho fatto diciamo che bisogna almeno far sentire la propria voce per dire che, ovviamente, ci sono sempre e come prima solo che ultimamente preferisco produrre (sia pur cose che magari non hanno un immediato utilizzo), piuttosto che fare “marketing” 🙂
Quindi state tranquilli che come dice qualcun altro, in altri ambienti ed ad altre persone: Treviño c’è! 😀

Alla prossima! 😉