Google Summer of Code 2015

Instructions

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

openSUSE are the MATE Desktop GSoC organiser and these project ideas are listed on the openSUSE Wiki

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-dev channel on irc.freenode.net.

Mailing list: MATE development mailing list web interface is located at http://ml.mate-desktop.org/listinfo/mate-dev.

Ideas

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

Mentors:

  • Stefano Karapetsas (stefano-k on irc)
  • Martin Wimpress (flexiondotorg on irc)

MATE Desktop media casting

Brief explanation: Create a Caja plugin that can be used to cast audio and video content via DLNA/uPNP, Chromecast and Miracast protocols.

A Caja plug-in that supports GTK2 and GTK3 which extends the Send-to context menu in Caja when right clicking on audio and video so that they can be cast to compatible devices on the local network.

NOTE! The implementation must support GTK2 and GTK3.

Resources:

Knowledge prerequisite: C, GLib, GTK. Knowledge of GStreamer, DLNA/uPNP and Chromecast and Miracast protocols is advantageous.

Difficulty level: Difficult

MATE Desktop mobile device integration

Brief explanation: Create a panel applet that can interact with notifications from mobile devices.

It shall be possible to receive to incoming messages from Android devices on the MATE desktop. It shall also be possible to transfer links, text snippets and files, using Caja Send-to, between MATE desktop and Android devices. The panel applet should also display the Android device power and signal status. The implementation should be flexible so that other mobile platforms (such as iOS, Ubuntu Touch and Sailfish) can be supported in the future. If technically feasible, add support for composing messages and replying to messages directly from MATE desktop. Ideally work directly with KDEConnect to add MATE support to KDEConnect rather than create a separate project or fork.

NOTE! The implementation must support GTK2 and GTK3.

Resources:

Knowledge prerequisite: C, GLib, GTK. Qt and KDE would be advantageous given KDEConnect currently relies on both.

Difficulty level: Medium

MATE Window Manager (Marco) GPU accelerated compositing

Brief explanation: Add GPU accelerated compositing to Marco, the MATE window manager to supplement (but not replace) the existing software compositor.

MATE is planning to add Wayland support in the future and this would be an important step towards that. While full Wayland support is not possible within the scope of the project, the design and implementation shall be mindful of future Wayland compatibility. A screen magnifier shall also be added that will function with compositing (software or hardware) enabled or disabled and be integrated with the accessibility key bindings in mate-settings-daemon. Better compatibility/integration with Client Side Decorations (CSD or header bar) shall be added to Marco ideally this should not be dependent on a compositor being enabled.

NOTE! The implementation must support GTK2 and GTK3.

Resources:

Knowledge prerequisite: C, GLib, GTK.

Difficulty level: Difficult

MATE Panel Renovation

Brief explanation: The MATE Panel is the principle component for user interaction with the MATE Desktop and it requires several usability enhancements, improvements and fixes.

  • Panels arranged in a vertical orientation need an improved look and feel.
  • Panel applets get displaced when screen resolutions are changed, this shall be fixed.
  • Panels should leverage compositors (when they are enabled) for auto hiding and applying transparencies. In the case of auto hiding panels this will stop the hidden panels from “hiding” to the adjacent screen, and therefore always visible in multi monitor configurations.
  • MPRIS2 integrated sound applet. The Sound Indicator in Ubuntu can interact with MPRIS2 compatible media player, with play/pause, track skip and access to media applications and sound preferences. This shall be added the existing MATE sound applet.
  • Alternative menu with integrated launcher. MATE already provides two menus but lacks an integrated launcher. A new menu applet shall be developed that include tranditional menu navigation and a launcher.
  • There are some applets (mate-netspeed, mate-indicator-applet) that live outside the mate-applet repository, they shall be consolidated in to mate-applets
  • There is duplicate functionality in various panel applets (Calendar and Weather both have weather for example, the is a power manager and battery applet). Duplicate functionality should be consolidated into one applet.
  • mate-indicator-applet is currently compatible with GTK2 but shall be made compatible with GTK2 and GTK3.
  • New panel applet to store notification history.

NOTE! The implementation must support GTK2 and GTK3.

Resources:

Knowledge prerequisite: C, GLib, GTK.

Difficulty level: Medium

gsoc/2015.txt · Last modified: 2015/02/19 22:46 by Martin Wimpress
 
Recent changes RSS feed Driven by DokuWiki
Hosted by First Colo