05 dicembre 2007

Che ce frega der cileno noi c'avemo Totti go'!

...Totti goo'! Totti go000!

Ehm , sì, scusate... Dunque, ecco, allora. Il punto è: ma siete proprio sicuri che Compiz sia l'unico modo di avere un po' di vita sulla vostra scrivania?

Cioè, diciamocelo, al di là di qualche idea carina, come window manager fa un po' pena, specie se siete abituati al rigore, alla pulizia, alla parsimonia nell'uso di risorse. Specie se siete abituati a Metacity.

Come dite? Vi mancano le ombreggiature sulle finestre? E qualche trasparenza qua e là, tipo nel terminale e nel popup per la modifica del volume? Dunque non lo sapete ancora? C'è un nuovo window manager che ve lo permette. Si chiama Metacity.

In un oscuro branch dall'impronunciabile nome, un impavido ometto sta aggiungendo le funzioni di compositor, senza richiedere funzioni 3D avanzate, ma solo una decente e possibilmente veloce implementazione di XRender. Ciò significa, in parole povere, niente finestre gelatinose, niente aree di lavoro cubiche, niente dialoghi che appaiono planando dal vuoto, bensì richiedere al XServer di non disegnare più direttamente una finestra sullo schermo perché se ne occuperà il programma.

OK, lo so, non ve ne frega molto di come funziona l'estensione Composite. Neanche a me, in fin dei conti... Ecco quindi un elenco di cose attualmente fattibili usando tale branch:
  • ombreggiatura della finestra (compiz/aqua/xp docet)
  • usabilità di applicazioni "trasparenti" tipo Avant Window Navigator (sì, non serve compiz per farlo funzionare, serve solo il composite)
  • possibilità di rendere trasparenti le finestre (non direttamente, è necessario -per ora?- il comando transset da riga di comando)
  • anteprime delle finestre nella finestra a comparsa Alt-Tab (con icona dell'applicazione in sovraimpressione)
  • dissolvenza in nero funzionante e fluida (tipo dialogo di logout o richiesta password con gksu)
  • varie ed eventuali (tipo la rimozione di un paio di cicli ad alta richiesta di CPU che non c'entrano nulla con il compositor - sono relativi al disegno della decorazione a partire dal tema - ma che fa sempre piacere ed è sempre utile, specie se rende il trascinamento delle finestre meno "ritardato")
In arrivo ci dovrebbe essere anche l'ombra diversa per le finestre non in focus.

Ovviamente il fatto di avere un window manager che supporta l'estensione Composite potrebbe portare altri "benefici" agli utenti. Essendo infatti Metacity il window manager di riferimento di GNOME, per gli sviluppatori di altre applicazioni è inutile perdere tempo ad aggiungere palle di natale[1] e stelle filanti se poi non tutti gli utenti potranno usarle. L'esempio presentato da Iain è lo sfondo della scrivania: al momento lo sfondo è disegnato 2 volte poiché se si usa Nautilus la scrivania altro non è che una finestra di Nautilus a schermo intero e senza decorazioni (comunque non ci giurerei sul doppio disegno, mi pare di ricordare qualche vecchio lavoro per evitare ciò). Se Nautilus supportasse il Composite potrebbe disegnare sulla scrivania una finestra dallo sfondo trasparente con sopra solo le icone (un po come fa Avant), demandando tutta la gestione dell'immagine da usare ad altro.

Dunque lunga vita al nuovo compositor. Ah, se volete vederlo per GNOME 2.22 io vi consiglierei di prelevare il codice dal svn e compilarvelo: più problemi trovate e riportate (specie se avete qualche oscura scheda video che usa qualche driver mezzo monco), prima finisce sul ramo ufficiale.

E per voi che siete arrivati a leggere fin quaggiù, ecco un premio: una bella schermata! Che via aspettavate?


Update per chi volesse approfondire:
  • Notare la pagina web aperta nella schermata
  • Per compilare, scaricare dal repository col comando: svn co http://svn.gnome.org/svn/metacity/branches/iains-blingtastic-bucket-o-bling/ metacity-compositor
  • Sempre per compilare le dipendenze sono gtk, gconf e startup-notification (e quanto richiesto da queste, tipo i vari xModuli)
  • Al configure aggiungere un bel --enable-compositor

[1] a proposito: a Natale si colorano le palle.... a me no.

22 commenti:

lizardking ha detto...

un po di info sul branch e i comandi per scaricarselo da svn e relative dipendenze?

fipm ha detto...

Avevo letto i post dello sviluppatore e la novità mi sembra ottima, quello che non mi è chiaro e non ho avuto il tempo di approfondire, è quanto sia difficile portare effetti tipo wall, exposé e scale.

Mi sembra che almeno alcuni di questi plugin siano necessari perché metacity con compositing diventi un'alternativa a compiz. Sbaglio?

Horace ha detto...

ole'. son contento di vedere che lo svecchiamento di metacity procede di buon passo. Ho fatto il checkout del branch poco tempo fa. Funzionava impeccabilmente, per essere codice fresco di giornata. Ho lasciato pero' perdere per la lentezza del rendering. Mo corro a fare un altro update, sperando di poter avere definitivamente un po' gli occhi-caramellati :)

Alessandro ha detto...

Che bella notizia!!!

Mancano quel paio di plugins utili, ma è davvero un bel passo avanti.

Mi domando che ne sarà di Compiz quando anche Metacity sarà all'altezza..

Luca Ferretti ha detto...

Il problema non è tanto fornire una funzione tipo Exposè, quanto il fatto che senza il rendering in OpenGL si potrebbe avere molto meno "effetto figo".

Vedi ad esempio skippy (ammesso che riusciate a raggiungere il sito), che già dal lontano 2004 faceva qualcosa del genere.

loopback ha detto...

Noooo, dopo una settimana di intenso utilizzo stavo per fare un post uguale sul blog. Mi hai preceduto!
Per abilitare il tutto bisogna anche settare a TRUE la chiave /apps/metacity/general/compositing_manager in gconf.

Marco Barisione ha detto...

A che serve pidgin se tutti i contatti sono bloccati? :)

Emanuele Aina ha detto...

Ma la mia presenza è stata addirittura immortalata nella lista dei contatti di questa epocale schermata.

Ed ero per giunta online!

Il che è una di quelle coincidenze stratosferiche che neanche in un milione di milioni!

Ma soprattutto: come è possibile che tu veda il mio stato di presenza se io non ti ho nella mia lista dei contatti? %-S

Luca ha detto...

E perche' io non ci sono?!?

Bl@ster ha detto...

Cavolo l'ho compilato, è bellissimo! Mi fa piacere poi vedere che leggi One Piece :)

finferflu ha detto...

In effetti stavo proprio constatando che Compiz come WM fa pena, hai ragione. Non ha opzioni molto mirate all'usabilità, a parte qualche plugin molto utile. Al momento trovo OpenBox molto più soddisfacente come WM per Gnome...
Ma appena Metacity si evolverà vedrò di farci una capatina, anche se mi sembra un po' pesante...
Al tiling non ci pensa mai nessuno però eh? Un gran peccato...

macro182 ha detto...

Quando dò il comando:
./autogen.sh –enable-compositor

ottengo:

Checking for required M4 macros…
glib-gettext.m4 not found
***Error***: some autoconf macros required to build metacity
were not found in your aclocal path, or some forbidden
macros were found. Perhaps you need to adjust your
ACLOCAL_FLAGS?

che faccio? ciao!

Luca ha detto...

macro182,
ti manca il pacchetto di sviluppo delle glib (su Ubuntu libglib2.0-dev, su altre distro qualcosa del genere). Puo' essere che ti manchino anche altri pacchetti di sviluppo, controlla.

Luca Ferretti ha detto...

@loopback
è vero, a quanto pare l'ho attivata eoni fa nel provare il vecchio compositor ed è rimasta lì

@marco barisone
è vero! stavo provando la correttezza delle traduzione del dialogo "Privacy" e mi sono dimenticato di azzerarlo.

@emanuele
boh! In passato ho avuto un bel po' di problemi con Milo (atorizzati entrambi, io lo vedevo, ma lui no), magari ti richiedo l'autorizzazione...

bastianazzo ha detto...

ciao!
mi spiegate perchè all'avvio di GNOME ho metacity liscio, mentre se eseguo metacity --replace da terminale (o da qualunque altra parte) mi parte il metacity col compositing?
dove devo controllare se c'è qualche impostazione errata? in Sessioni mi sembra non ci sia niente di sbagliato, così come ho attivato la chiave in gconf...
mah!

lizardking ha detto...

ho notato un piccolo bug di metacity-comp quando apro gnome-appearence-prop. In pratica la configlet parte, ma rimane quasi impossibile da usare.Avete anche voi lo stesso risultato? io sto usando anche gtk-engines svn.

Garret ha detto...

Come si chiama il tema di avant che si vede nello shot?

macro182 ha detto...

qual è il comando per capire che versione di metacity-compositor ho installato?

grazie, ciao!

macro182 ha detto...

scusate sono sempre io!

per aggiornare basta dare svn up dentro la cartella dei sorgenti o devo ripetere tutta la procedura?

grazie, ciao!

Luca ha detto...

macro182,
basta svn up per aggiornare i sorgenti. Se cambiano solo i file .c e .h poi non occorre nemmeno ridare il .configure, basta il make.

Babets ha detto...

Finalmente un composite "usabile" :P
Spero con questa versione di metacity di avere un ridimensionamento delle finestre fluido e non di vedere le finestre ridisegnate solo alla fine del ridimensionamento (come succede ora con compiz almeno nella versione inclusa in gutsy).
Spero che abbiate capito che intendo.
E' proprio quello che cerco da un composite manager, alla fin fine i vari cubi ed effettini vari alla lunga stancano :D
Mi basterebbe avere una trasparenza reale e poco più e bon.

Luca Ferretti ha detto...

@garrett
Non lo so, credo sia quello predefinito... o no?

@marco182
per la versione metacity --version in un terminale, per la procedura sì, svn up && make && make install (il configure potrebbe essere richiesto se è stato cambiato qualcosa che non è il codice, tipo aggiunti, rimossi, rinominati dei file)