How to get task data from evolution-data-server for a GJS todo app

I’m planning to create a todo app that syncs data via Evolution, and doesn’t require that a task list to be configured by Gnome Online Accounts, but rather works with any remote sources manually added within Evolution’s account window, including CalDAV entries.

Due to this constraint, it looks like I can’t use the Goa GIR library to fetch data from the calendar. As far as I can tell from the rest of the GIR API at https://gjs-docs.gnome.org/, there seems only to be a way to list calendars through EDataServer, but not to fetch them. Is that true, and is the best approach here to dive into lower-level D-Bus interfaces in order to sync calendar / todo data?

I’m aware that there are other todo apps for Gnome out for which people have already added, or are working to add, CalDAV support. However, Gnome Todo seems to require the account be set up through GOA, and Getting Things Gnome doesn’t use the evolution-data-server, which I was hoping to use for better integration.

My concern is that learning to use D-Bus may have a higher learning curve, and would require that I write more complex glue code. Or am I missing a straightforward way to approach this? Any ideas? Thanks! :slight_smile:

I got some help on Matrix regarding these questions. Many of the D-Bus interfaces for EDS are in src/private/, and there may be breaking change from time to time, so it’s best not to use them. IIRC, one is supposed to use the libedata library (not sure about the name). In any case, the ECal GI bindings are what I need, and they were missing from the GJS docs site. They should be added to the docs repo, and published online soon.

Someone also linked to example code that I could read for clues: Juozas Miškinis / Task Widget · GitLab

Thanks everyone!

1 Like

Hello exopy! I’m the author of Task Widget extension for GNOME.

However, Gnome Todo seems to require the account be set up through GOA

Does it? Additional sources added via Evolution are ultimately managed by Evolution Data Server. Because GNOME To Do relies on EDS, I find it surprising that those sources do not appear in To Do (they do appear in Task Widget). If that’s the case, then I’m pretty sure it’s a minor limitation that can be patched in To Do’s code.

I don’t wan’t to discourage you from building your own app, but I’m not sure if it would be that different from GNOME To Do. The person who maintains it, George Stavracas, is now busy working on other core apps of GNOME and thus To Do could really benefit from new contributors.

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