Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reintroduce GTG tasks DBus interface with Gio #484

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Neui
Copy link
Contributor

@Neui Neui commented Oct 9, 2020

This is Work In Progress! Fixes #277. View the commits for some more information.

Some stuff is missing:

  • Properly implement ModifyTasks, AddTasks
    • I'll make it simple and don't implement adding tasks without knowing their final IDs
  • Better error handling
  • Test it
  • Document the interface introspection XML data/dbus/org.gnome.GTG.Tasks.xml
  • Implement recurring fields

Decisions:

  • Possibly offer pagination so client don't pull thousands of tasks at once?
  • Possibly use an tuple for more common fields (title, text, dates, status, and the dictionary for future stuff)

Future:

  • Check about performance with many tasks, possibly outsource it to an separate thread

@diegogangl diegogangl added this to the 0.6 (The future) milestone Mar 13, 2021
@Neui Neui force-pushed the reintroduce-gtg-tasks-dbus-interface-with-gio branch from 115a86b to 23a6d30 Compare March 26, 2021 02:36
@Neui Neui force-pushed the reintroduce-gtg-tasks-dbus-interface-with-gio branch from 23a6d30 to 8cd50a7 Compare April 4, 2021 19:48
In GLib, there is an Client Proxy you can use to access signals and
properties from an DBus interface, but nothing similar for the
Server-Side without generating code.

So this lays out an class implementers subclass, specify some
metadata and implement the methods that the interfaces uses.
Introducing org.gnome.GTG.Tasks, an DBus interface to manage tasks. This
is very much inspired by the old "DBus Wrapper", that implemented
org.gnome.GTGTasks (I think), but this is in some ways different:

* Do actions in batches
* Only handle tasks, no UI stuff (actions can replace some)
@Neui Neui force-pushed the reintroduce-gtg-tasks-dbus-interface-with-gio branch from 8cd50a7 to f7394b7 Compare April 14, 2021 22:40
@diegogangl diegogangl modified the milestones: 0.6 (The future), 0.7 Nov 8, 2021
@diegogangl
Copy link
Contributor

Can I leave a wish here? It'd be nice to have a dbus interface to add tasks with the quick add syntax (just passing a string basically). That way we can implement a mini-app to quickly add tasks from a global shortcut (I could swear there was an issue about that but I can't find it now)

@gwutz
Copy link

gwutz commented Jul 3, 2022

In order to reactivate the GNote plugin i think its necessary to have a dedicated Bus method to add a single Task withouth knowing the resulting ID. I would love to reactivate this interaction as it fits perfectly the flow "Taking Notes -> abstracting tasks from these notes into GTG"

@khurshid-alam
Copy link

khurshid-alam commented Jan 24, 2023

@diegogangl
I was looking for to use gtg plugin for kupfer launcher with newer gtg where tasks can be seached, opened and created. It used to work with older version. But found out dbus interface doesn't exists any more. This is how it was it looked.

image

Is this the correct branch? Any way it can be revived with old methods ? Like OpenTaskEditor(tid), OpenTask(tid, description) ? @Neui ?

@nekohayo
Copy link
Member

Is this directly related / a prerequisite to #676?

In any case, needs to be rebased for 0.7.

@nekohayo nekohayo added the plugins Plugins and extra backends label Feb 26, 2024
@Neui
Copy link
Contributor Author

Neui commented Feb 26, 2024

Is this directly related / a prerequisite to #676?

No.

@nekohayo nekohayo added the maintainability Automated tests suite, tooling, refactoring, or anything that makes it easier for developers label Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement maintainability Automated tests suite, tooling, refactoring, or anything that makes it easier for developers plugins Plugins and extra backends
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix Dbus wrapper, and use glib/gio GDbus via introspection, remove the dbus-python dependency
5 participants