Cimi’s Official Blog

Italians do it Better…

Just a Blog on Gtk+ Theming, Bleeding-Edge, Good Software...

Il compositor di Metacity è entrato nel trunk! Repo 20 December, 2007

Notizia che ormai si è sparsa un po’ su tutto il web dopo che ieri Thomas Thurman ne ha fatto l’annuncio.

Aggiornamenti al Repository

Il pacchetto per il compositor quindi cambia nome, lo trovate come metacity-svn :)
Buon download!


Posted in ArchLinux, Metacity | 12 Comments »

Searching coders for the Murrine Configurator 16 December, 2007

As in the title, I’m searching someone to create a murrine configurator to fit the new version changes.

A “call for coders:)

This is the first part of the work needed before the release (I won’t release the new version until a configurator will be ready), as it is very importanto too.

Please help me :) I think pygtk could be enough.
Murrine RGBA - Quodlibet 2

Some Specs

1) what should it look like?
A window, with a treeview to select the theme to edit, and another part of the gui to edit the options.
My idea is to automatically build the gui from a schema file, that should follow this standard http://live.gnome.org/GnomeArt/EngineSchema
This will permit to do some fast port to other engines too

2) would it only have to edit a gtkrc?
After selecting the options, yes.

The older configurator (in python) is here: http://murrine.netsons.org/index.php?q=node/8 the author stopped the development. It’s GPL, so could be useful to re-use some of the code.


Posted in English, GTK, Murrine | 16 Comments »

Gtk+, RGBA: transparent widgets with the Murrine engine! 12 December, 2007

Call for coders: I’m search few developers, check out the new post on this blog. I will release the new version when we’ll have a new murrine configurator :) (pygtk could be a simple solution)

Update 2: Complete alpha support, see GtkEntry for example and have fun :)
Murrine RGBA - Quodlibet 2
Update 1: Screenshot showing quodlibet with alpha-capable window.
Murrine RGBA - Quodlibet

Since there’s a lot of confusion on the web, in the last week I’ve seen a lot of people claiming about “lacks” of Gtk+ capabilities.
Some of them still think that Gtk+ doesn’t have RGBA support. And if it has, it’s related to Cairo rendering just for special (custom) widgets. Or it will require nasty hacks.

This is absolutely false.
And I will show you ;)

Murrine with RGBA support

Murrine RGBA
Yes, buttons have few problems with the contrast… but this is an alpha quality software! :)

Ehm… how we can get it?

First of all there’s the application support:

The application must set an rgba colormap (for example for the main window).
This will take 2 lines of code per widget (depending on the programming language).

Then you need the support of the Gtk+ engine:

The engine must be RGBA capable, like my development version of Murrine ;) (not released and not available to the public, don’t ask for a release date now).
10 to 20 lines of code, and no hacks are required, just pure Gtk+ API! :)
And the good thing is that if you stop your composite window manager, the application will automatically looks like any other non-transparent app!

And of course a composite capable window-manager, like Compiz, future Metacity etc etc…

Conclusions

This could open a world of alpha-capable gtk+ applications with no-need of draw custom widgets, as the Gtk engine already draws them :)

And yes, it is FAST! :D


Posted in Compiz, English, GNOME, GTK, Murrine, Themes | 104 Comments »

Metacity con Ombre e Trasparenze! E’ nel Repo! 8 December, 2007

Ho aggiunto il pacchetto metacity-compositor-svn, con cui potete provare il nuovo branch di metacity, con prestazioni 30% superiori su tutti i temi e supporto ad un compositor basato su Xrender!!! Ora la velocità, grazie al boost del 30%, è paragonabile se non maggiore a quella di Kwin, con l’incredibile vantaggio dell’imbarazzante maggior numero di temi a disposizione e la facilità nel creali!

Link alla notizia del boost prestazionale :)

Per attivare le ombre basta abilitare l’estensione Composite in xorg.conf, lanciare gnome, e dare il seguente comando da terminale (oppure usare gconf-editor):

gconftool-2 --set /apps/metacity/general/compositing_manager --type bool true

Importante, Leggere

Con questa versione (in sviluppo, ricordo) non funziona più il gestore dei temi, quindi questi vanno specificati a mano con l’editor di configurazione.

Pertanto potete scegliere fra:

  • Non aggiornare finchè questo problema non viene risolto (vi avviserò qui nel blog quando tutto sarà ok).
  • Aggiornare e modificare le impostazioni dell’interfaccia tramite gconf-editor
  • Se dovete cambiar tema e non volete rinunciare all’interfaccia grafica date un “pacman -S metacity”, lanciate la gui, poi un “pacman -S metacity-compositor-svn”

Piccole Considerazione

Questo branch di metacity non si pone come alternativa a Compiz (come invece fa il compositor di Kde4), bensì come un supporto stabile e funzionante su praticamente tutti i computer all’estensione composite (che permetti di usare le trasparenze come avant-window-navigator, screenlets, etc etc).
Usa Xrender e non OpenGL, quindi le prestazioni talvolta possono essere peggiori (nel caso abbiate una scheda video con un rendering OpenGL abbastanza veloce).
Insomma usate Compiz se avete un pc che ve lo supporta, se vi piace dannarvi l’animo con mille configurazioni e se non vi sembra troppo giocattoloso :)


Posted in ArchLinux, Compiz, GNOME, Italian, Metacity | 29 Comments »

Il Potere Nascosto delle Gtk+ 8 December, 2007

Soltanto un breve video dimostrativo, per altro molto limitato rispetto alle attuali potenzialità (cioè volendo si potrebbe fare molto di più anche adesso), di quello che si può fare velocemente con Cairo e Gtk+, ad esempio.

Dal blog del mio amico Mirco (conosciuto come MacSlow):

For some time now gtk+ offers redirecting widgets, so the rendering happens offscreen only. That is a mandatory feature for doing some interesting things with UI-elements. With the source-distribution of gtk+ you get a huge collection of coding-examples. There is also an example for offscreen widget-rendering. Unfortunately this is a very basic and boring example. It does not really demonstrate the additional possibilities now available in gtk+ very well. Since I need to make use of this new feature in gtk+ in the near future, I had to create my own example, which is much closer to the application-need I have.

Here’s a little show-off screencast for your viewing-pleasure…


Link al video… (ogg/theora, ~1.1 MBytes)


Posted in GTK | 12 Comments »

Gnome gode di più popolarità di Kde4! Incredibile :D 8 December, 2007

…Lo dice Google, stando ad un gioco di Google Trends :)

Attenzione: questo post non è una valvola di sfogo contro Kde (che resta un eccellente DE, ha una sua filosofia che piace a molte persone ed è completissimo e bene organizzato in molte cose), semmai un “imparare apprezzare la semplicità” :) ed in calce *criticare lo spam di molti blog* :|

kde in blu | gnome in rosso

Così ieri, per puro caso, vista l’imminente uscita di Kde4 (che speriamo esca finalmente a gennaio… così per provarlo meglio, una possibilità va data :D ) ho voluto osservare come kde avrebbe *rasato al suolo* gnome nella guerra dei motori di ricerca… :| Risultato opposto: è gnome che viene cercato da più utenti.

Vi dico ho fatto fatica a crederci ma è proprio così c’è poco da fare… ;) Bene comunque, una vittoria inaspettata!

L’abbraccio di una Filosofia e di uno stile unico

A me piace Kde (soprattutto la 3 di kdemod), proverò il 4, lo userò se vorrò per un po’, continuerò ad usare k3b sullo gnomo (che purtroppo nonostante sia l’applicazione più famosa di Kde insieme ad Amarok bisogna ricordare che non fa parte di Kde, ma è un progetto esterno), ed invito voi tutti a darci una occhiata. Perchè Kde ha tanti pregi, è software libero, sviluppato con grande tenacia ed impegno.

Detto questo, per sottolineare come non abbia scritto questo articolo per dar battaglia bensì per altri motivi, vorrei passare alla conseguente felice conclusione che ne ho tratto da questa vittoria su Google:
Evidentemente la tanto criticata (dagli utenti Kde principalmente, come Torvalds…….) filosofia e stile gnomesco PIACE ed a quanto pare sta dando i suoi frutti.

Io (dichiarazione di amore per gnome… continua :D ) mi trovo divinamente, e lo sottolineo, con la GUI più semplice, essenziale e bene organizzata che contraddistingue tutto lo sforzo che giornalmente noi programmatori facciamo per organizzarvi l’interfaccia.
Interfaccia pulita e stile semplice sono secondo me i cardini di tutta la qualità di questo desktop environment che va esaltato ed apprezzato per questa sua caratteristica. Vi faccio un esempio per capire: chi di voi pur apprezzando il mio altro engine Murrine (pieno di effetti grafici) non si trova comunque perfettamente soddisfatto dalla tremenda semplicità, pulizia, usabilità di Clearlooks? Ci ho perso settimane e settimane solamente per studiare un interfaccia che non ricercasse ed inseguisse il look più moderno quasi fosse una gara, ma con cui fosse possibile lavorare per mesi senza aver il desiderio di cambiare tema grafico. A me Clearlooks piace così, dannatamente semplice ma insostituibile perchè più pulito integrato ed efficace di qualsiasi altro tema (tra cui tutti i concorrenti a cominciare da Vista, aka “troppi colori non si capisce niente”, fino a raggiungere i livelli di OSX).
Magari Kde4 avesse un Clearlooks da poter usare al posto di Oxygen… (un tema serio e non quel port-schifezza fatto da Trolltech)

Quello del tema era un esempio, per spiegarvi come non è questione di incapacità quanto di scelte (cioè volendo sapete benissimo che so fare temi con effetti grafici come Murrine, ho pure hackerato Murrine per avere trasparenze identiche a Vista, con cairo ormai faccio ciò che voglio :) ).

Così Clearlooks, semplice, così Gnome, semplice. Ma di cui personalmente non riesco a farne a meno.

Mi sembra quindi, con soddisfazione, che in una società caotica piena di confusione, le persone (almeno virtualmente nel loro pc) scelgano di sposare questa filosofia più minimalista ed essenziale, che trovo più efficace non solo davanti al piccì ma anche nella vita :)

La strada più semplice porta anche a maggiori risultati! :)

La merda addosso a Gnome

Ancor più soddisfazione a vedere un risultato così quando nei blog italiani si legge, in particolare nei commenti, pura merda, e fra un po’ ne sento pure la puzza, lanciata sulle Gtk+, sulla loro presunta lentezza (ridicoli, casomai è il contrario!), su Mono[¹] , su Novell[²], sulla “rivoluzione” di kde4 mentre gnome “dorme” (ma vergognatevi :D per favore) e chi più ne ha più ne metta.
Ovvero se siete ignoranti e non avete mai scritto una riga di codice, se non conoscete C#, Mono e gli enormi vantaggi… STATEVENE ZITTI, MUTI.
Mi avete mai visto sparlare su Qt? MAI. E le conosco, ho letto un po’ di doc, ho letto come si fa grafica con Qt rispetto a Cairo, la comodità degli oggetti… Ma non ho mai scritto nè commentato nulla che andasse contro di loro. E nè mai scriverò.
Figuriamoci un attacco ignorante, becero, tipico di molti bloggers (e ne avrei una sfilza di nomi) ma soprattutto di chi commenta.

Della serie finalmente mi vedete incazzato. Ma a tutto c’è un limite ed una sopportazione, e non ne posso più.
Cimi

[¹]: Chissà perchè non ho MAI sentito UNO e che sia UN programmatore parlare contrariamente a Mono. Sempre gente che non sa un acca di queste cose e che parla per partito preso o per idee che ha letto altrove. E che dire di quella gente (ridicola) che non usa un programma solo perchè è in C#! Ahahahahahahahah!!!!!!
[²]: La cara Novell è, insieme a Redhat, uno dei maggiori finanziatori di progetti OpenSource!!! Compiz dove è nato? Decine di programmatori Kde e Gnome da chi vengono pagati? NetworkManager chi l’ha scritto? I motori di ricerca come Beagle? Semmai UBUNTU è da criticare, che fa patch e software SOLO per sè stessa (quasi dovesse essere una lotta contro le altre distribuzioni), non rilascia NIENTE alla comunità (si tiene tutto per sè non ho mai visto una patch arrivare sull’svn di gnome), non paga 1 programmatore nè sponsorizza niente che sia al di fuori della sua distribuzione!


Posted in GNOME, GTK, Italian, Rants | 56 Comments »

Plugin di notifiche per Weechat 5 December, 2007

Un piccolo plugin di weechat per far apparire una finestra di notifica sulla tray non appena qualcuno pronuncia il nostro nome. Se siamo già dentro il canale allora non fa apparire nessuna notifica.
Richiede pynotify.

notify.py

Link in locale


Posted in GNOME, GTK, Italian | 8 Comments »

David Reveman parla di Compiz 2.0 1 December, 2007

“Se quello che abbiamo adesso si fosse chiamato 1.0, allora adesso saremo di fronte a qualcosa classificabile come 2.0″

Compiz Fusion

Il signor DavidR (David Reveman) parla (scrive eheheh) in mailing list sullo stato attuale di compiz e gli sviluppi futuri.

Non contento infatti della architettura attuale e della difficoltà nell’apportarne miglioramenti, sembra che abbia pronto in cantiere una completa riscrittura che proprio per i miglioramenti potrebbe benissimo essere chiamata 2.0. Dico “potrebbe” perchè è più probabile che il nome sarà in realtà 1.0 per seguire la solita logica del versioning in linux, ciò nonostante questa nuova versione costituirà una base eccezionale per gli sviluppi futuri.

Proprio ieri dicevo ad un mio amico che lo sviluppo di compiz sembrava rallentare in modo preoccupante, che DavidR fosse sparito, eccetera eccetera… Ebbene a distanza di poche ore è lui stesso a smentirmi… ;)
…e sono contento che l’abbia fatto :D

Vi riporto il testo della mail originale, che è meglio di averne una mia traduzione. Se non capite posso tradurne dei pezzi.

I’d like to start with apologizing for my lack of response to the
mailing list for the last couple of months. I’m working my way through
all posts right now…
Here’s what I’ve been up to lately..

I did a critical review of the state of compiz about 6 months ago. I
realized it was pretty bad (not that there’s actually anything better
out there but still), it’s hard to maintain, hard to write proper code
for and in some ways not dynamic enough for people to do what they want.
None of the features I need to implement can be done properly in the
current architecture.

I spent a lot of time trying to come up with a way for us to re-engineer
the core of compiz and fix all the issues that exist in the current
architecture. I did a fair amount of research and experimenting before I
got an idea of what would be a good future architecture. What’s emerging
in the object-framework branch is the result of this work and what I
believe to be the best way forward. There’s still some important pieces
missing before I consider merging it to master a good idea but it’s now
at least at a stage where I’m comfortable with people starting to look
at it and start discussing merging it to master.

Even though I’ve made sure that the rewrite allows existing plugins to
be fairly easily ported, it’s still going to be the most significant
change to compiz since the initial version was realized. If we ever had
released a 1.0, this would definitely qualify for a 2.0.

Most of the ground work for this new architecture has already been done
in the object-framework branch but even when we’ve gotten it to a state
where it can be merged, there’s still a lot of work left to make the
existing core functionality and plugins take advantage of it. However,
the considerably more modularized nature of this new architecture would
allow us to move to a much smaller core and get it ready for a 1.0
release in a short amount of time.

I’m going to send a series of posts to the list that explains the
different parts of the new architecture in more detail (hopefully the
first one during the weekend) but here’s a few key features of the new
architecture:

A strict hierarchical structure. A very well-defined way for how the
different parts of the system communicate with each other (it’s obvious
when some code is doing something inappropriate and it’s also hard to
write code that is doing something inappropriate). Whether the code is
in the core or in a plugin is of no significant importance, which means
that pretty much anything can be modularized. Plugins can be inserted
into different parts of the object tree and only affect a sub-tree of
objects. An internal communication system that maps efficiently and
conveniently to various IPC systems.

-David


Posted in Compiz, Italian | 7 Comments »

This blog is "Powered by Cimi"

Theme from: Kaushal Sheth | Modified by: Andrea Cimitan