Mx Toolkit 1.0

The first stable release of the Mx widget toolkit was quietly released a few days ago. Mx is a traditional GUI toolkit, built upon Clutter technology. This enables smooth animations and special effects through hardware accelerated graphics (OpenGL).

The 1.0 release brings API and ABI stability to Mx and a good deal of bug fixes. The source code is available from, along with some of the other optional supporting packages such as clutter-gesture and clutter-imcontext. The 1.0 release is tagged and there is a branch that will carry bug fixes for this release. I’ve also made tarballs available in my personal directory on To build with minimal requirements, you may want to disable the optional dependencies from the configure script (–without-clutter-imcontext –without-clutter-gesture –without-startup-notification –without-dbus).

Here’s a list of some of the features that made it into 1.0:

  • Widgets: Window, Button, ComboBox, Entry, Frame, Icon, Label, Menu, ProgressBar, PathBar, ScrollBar, Slider, Toggle, Toolbar and Tooltip
  • Layout Containers: Grid, Table, Box, ScrollView, Viewport
  • Advanced Actors: Offscreen, DeformWaves, DeformBowTie, DeformPageTurn
  • Data views: ItemView, ListView
  • Utility objects: Application, Action, Clipboard, IconTheme, Style, TextureCache, ButtonGroup,
  • Other features: Drag and drop, keyboard navigation, CSS styling

As with any 1.0 release, there are bound to be bugs that haven’t been caught yet, so if you find any, please file them in the bugzilla located on (the Mx product can be found under “Meego Projects”).

Many thanks to all those involved in the making of Mx 1.0!

9 thoughts on “Mx Toolkit 1.0”

  1. Why do people feel the need to call everything “Technology”. Am I the only one that hates words without meaning, the kind of things managers would say?

    1. Whoa whoa, easy there – Damien is a big-time Clutter and Mx contributor and user, I’m sure his post wasn’t meant as a troll(olololol). For the record, I also don’t like the word ‘technology’ to describe software, but I don’t feel that strongly any which way :)

      Also, Mx rocks! Here’s a screen of an Mx application:

  2. Mmm…

    struct _MxWidget
    ClutterActor parent_instance;

    MxWidgetPrivate *priv;

    /* padding for future expansion */
    void (*_padding_0) (void);
    void (*_padding_1) (void);
    void (*_padding_2) (void);
    void (*_padding_3) (void);
    void (*_padding_4) (void);
    void (*_padding_5) (void);
    void (*_padding_6) (void);
    void (*_padding_7) (void);
    void (*_padding_8) (void);
    void (*_padding_9) (void);

    While the MxWidgetClass doesn’t have any padding. Urgh! :-)

    1. Wow, that’s embarrassing! I guess 1.1 will have to break ABI to fix it, or the 2.0 release arrives really quickly!

Comments are closed.