Calendar library for Gtk?

Is there a Calendar library available for Gtk which can be integrated into Apps? Thinking about something like FullCalendar, but natively in Gtk.

Ideally providing different zoom levels like year, month, week, day - as well as customization options and themeability.


The closest thing is literally the GNOME Calendar code base, and that’s not available as a library.

Calendars are not really generic widgets and data structures; they are incredibly complicated pieces of machinery, and extracting them from the application to which they belong usually leads to bad compromises, or a very small functional surface.

1 Like

thanks for your feedback. I guessed GNOME Calendar is the only comparable thing out there, but wanted to be sure I did not miss anything.

As said by @ebassi, there is no calendar library. But Gtk has a calendar widget (Gtk.Calendar) that can do a lot of basic stuff. You might use it and add extra functionality as needed.

yeah, I found the Gtk.Calendar Widget - unfortunately I’m primarily interested in a week overview, which I don’t think is achievable with it :slight_smile:

1 Like

I’d strongly advise against use GtkCalendar except for basic “select the day of the month” UI controls.


It’s not meant for that, indeed, and it very likely won’t ever be.

Calendar and events UI controls are fairly complicated and they end up depending on fairly complex libraries, like libical, to deal with time. GTK is not going to depend on that.


I started to port GcalWeekView to Vala, since that’s what I’m mainly interested in - to ultimately add a Week view to elementary Calendar.

I just wanted to double check there isn’t an “easier” way I missed.

We have created a calendar widget: GooCalendar. It is written in Python using GooCanvas.

Interesting! As I never did this before: Can the Widget be used from Vala? If so, is there an example somewhere?

I do not really know but I doubt it is doable easily.
But you can convert the Python code into Vala, it should not be too difficult.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.