Google Summer of Code 2013


Use the Google Summer of Code Wiki and FAQs for information about the project.

Programming languages

Most MATE applications are written in C. We have also few applications and applets written in Python. Almost all applications have Python bindings generated with GObject introspection.

Getting started

Read the Contribute page to learn how to get started with MATE Desktop development.

Contact MATE developers

If you have questions or suggestions, you could contact MATE developers through IRC or our mailing list.

IRC: Join #mate channel on

Mailing list: MATE development mailing list web interface is located at


This section lists some ideas for MATE Desktop GSoC projects that students can apply for.


  • Stefano Karapetsas (stefano-k on irc)
  • Steve Zesch (Amanas on irc)

Window snapping in Marco

Brief explanation: This features aims to implement window snapping in Marco (our window manager), like the latest generation window managers (compiz, muffin, etc). With window snapping you can stick the edges of windows and screen to each other with some degree of force. You can move a window to another window or screen edge and it will attract and stick until you have moved it far enough. A basic similar functionality is already avaiable on Marco, holding the Shift button.

Knowledge prerequisites: C.

Difficulty level: Easy.

ePub format support in Atril

Brief explanation: Atril is the MATE document viewer and already has support for a variety of document formats: PostScript (PS), Encapsulated PostScript (EPS), DJVU, DVI, Portable Document Format (PDF) and Open XML Paper Specification (XPS). We would like to add support to open also EPUB files. EPUB is a short for “electronic publication”, it is a free and open e-book standard by the International Digital Publishing Forum (IDPF).

Knowledge prerequisite: C.

Difficulty level: Medium.

GStreamer-1.0 support

Brief explanation: GStreamer is a multimedia framework. MATE currently supports GStreamer 0.10, but this version now is no longer maintained. GStreamer 1.0 includes a lot of improvements and new features, but it is not API or ABI compatible with the 0.10. We would like to add support for this new version of GStreamer.

Knowledge prerequisites: C (GStreamer framework a plus).

Difficulty level: Medium.

GTK3 support

Brief explanation: GTK+ (GIMP Toolkit) is the cross-platform widget toolkit used in MATE to create graphical user interfaces. GTK3, released in 2011, brings a lot of improvements. Add GTK3 support to MATE, keeping the traditional desktop metaphor, is one of the goals of the MATE Desktop project.

Knowledge prerequisite: C, GTK.

Difficulty level: Medium.

Wayland support

Brief explanation: Wayland is a next generation display server protocol with the aim to replace the old X server. With Wayland, the window managers will become display servers and compositors at same time, using the Wayland library.

Knowledge prerequisite: C.

Difficulty level: Hard.

Plugin system in Caja

Brief explanation: Caja, our file manager, has a nice library to allow developers to create extensions. But these extensions are loaded during Caja start, and there is no possibility to enable/disable them at runtime. Add a way to enable and disable Caja extensions is one of the goals of MATE Desktop roadmap.

Knowledge prerequisite: C (GLib and GTK a plus).

Difficulty level: Medium.

gsoc/2013.txt · Last modified: 2013/03/27 15:21 by Stefano Karapetsas
Recent changes RSS feed Driven by DokuWiki
Hosted by First Colo