Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I develop some apps for GTK+ and so I use GNOME heavily.

But what will be Unity's GUI toolkit?

share|improve this question

Unity uses a toolkit called Nux. Nux is an opengl toolkit designed to be run as both a standalone widget system, or embedded into existing opengl applications. In compiz we run nux in embedded mode.

While nux is a toolkit, it is designed to be very thin, allowing us still to make direct opengl calls when we need to. Nux contains most widgets a developer would wish to use and is being developed alongside unity as a toolkit.

Unity does NOT use GTK internally. Some external stuff is rendered with GTK (global menus are out of process), however GTK has no involvement in Unity other than that.

GNOME Applications of course still use GTK.

share|improve this answer
The sources show that Unity does invoke Gtk functions directly in a number of places: $ cat unity/src/*.cpp|grep -c gtk_ -> 116. – Marius Gedminas May 9 '11 at 11:56

I think unity uses NUX >> and

share|improve this answer

Unity itself is a desktop shell. It's a shell based on the Gnome Platform, like Gnome Shell is another shell for it.

Internally, Unity uses an embedded GL toolkit, but this toolkit is not meant to be used to develop a "Unity application". What is relevant is the toolkit that application developers should use to work well in the Unity environment.

Bindings are provided so that both the GTK+ and QT toolkits can be used to develop applications that are compatible with Unity.

A Unity-compatible application is one that uses libunity to integrate with the Unity shell: launcher integration, sound player integration, etc. The scope of libunity is currently limited, but is also complemented by the libraries of the Ayatana initiative: dbusmenu, indicators, notify-osd.

A list of reference APIs is now available at:

share|improve this answer

I think unity-place package is using clutter. Also unity is using nux too.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.