GSoC ’17 project on GNOME Calendar

I am extremely happy to announce that I have been selected as a student in Google Summer of Code ’17 in GNOME. This would not have been possible without the constant guidance and support of my mentor Georges Stavracas and also the immensely helpful GNOME community. I would also like to thank my mate Rohit Kaushik who kept me motivated all the time and himself got selected for GSoC in GNOME To Do. You can find Rohit’s work here.

Now let’s dive right into what my project is about.

The goal of the project is to add support to recurrent events in GNOME Calendar.

Support for recurrent events already exists in Evolution calendar but it is lacking in GNOME Calendar. For example, right now, for a weekly repeating event, users have to manually add that event every week which is very inconvenient and time consuming.

  • Recurrence property will be added to GcalEvent in Calendar. A new GcalRecurrence structure will be introduced which will handle the recurrence part in GcalEvent using Evolution’s API.
  • The first major task would be to ‘detect recurrent events’.
  • Then, the Edit-dialog will be modified accordingly. Here’s a design sample of what the Edit-dialog would look like-

0bt7of8 - Imgur

You can check out the full mockup here.

  • The next major part of the project is to handle the editing/deletion of recurrent events. The options available to the user regarding that are given in the mockup below.

dfKCgvs - Imgur

I will regularly update this blog and provide a step-by-step documentation so that it may help fellow developers and also some enthusiastic users who want to dive into the world of GNOME development (or Open-source development in general).

You can find the official project page here with a detailed list of deliverables.

Evolution is a calendar and a mailing client. Learn more about Evolution here.

Feel free to say hi or drop suggestions.

Stay tuned, there is plenty more to come!


4 thoughts on “GSoC ’17 project on GNOME Calendar

Add yours

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at

Up ↑

%d bloggers like this: