Risposte:
Unity utilizza un toolkit chiamato Nux . Nux è un toolkit aperto progettato per essere eseguito sia come sistema di widget standalone, sia incorporato in applicazioni opengl esistenti. In compiz eseguiamo nux in modalità integrata.
Mentre nux è un toolkit, è progettato per essere molto sottile, permettendoci di effettuare chiamate dirette quando ne abbiamo bisogno. Nux contiene la maggior parte dei widget che uno sviluppatore vorrebbe utilizzare e viene sviluppato insieme all'unità come toolkit.
Unity NON utilizza GTK internamente. Alcune cose esterne sono rese con GTK (i menu globali sono fuori processo), tuttavia GTK non ha alcun coinvolgimento in Unity diverso da quello.
Le applicazioni GNOME ovviamente usano ancora GTK.
Penso che l'unità usi NUX >> http://inalogic.com/ e https://launchpad.net/nux
L'unità stessa è una shell desktop. È una shell basata sulla piattaforma Gnome, come Gnome Shell è un'altra shell per questo.
Internamente, Unity utilizza un toolkit GL incorporato, ma questo toolkit non è pensato per lo sviluppo di "un'applicazione Unity". Ciò che è rilevante è il toolkit che gli sviluppatori di applicazioni dovrebbero usare per funzionare bene nell'ambiente Unity.
I collegamenti vengono forniti in modo che sia il toolkit GTK + sia quello QT possano essere utilizzati per sviluppare applicazioni compatibili con Unity.
Un'applicazione compatibile con Unity è una che utilizza la libunità per integrarsi con la shell Unity: integrazione con il launcher, integrazione con il lettore audio, ecc. L'ambito della libunità è attualmente limitato, ma è anche integrato dalle librerie dell'iniziativa Ayatana: dbusmenu, indicatori, notify-osd.
Un elenco di API di riferimento è ora disponibile all'indirizzo: http://developer.ubuntu.com/api/
Penso che il pacchetto di unità-posto stia usando il disordine. Anche l'unità sta usando anche il nux.