Discussion:
[Workrave-user] Hamster (Gnome Time Tracker) integration
Sébastien Lerique
2016-02-13 16:37:56 UTC
Permalink
Dear list,

I'm a happy user of workrave, and have recently started using Project
Hamster <https://projecthamster.wordpress.com/> (aka Gnome Time Tracker)
which is another great project. If you're not familiar with it: it lets
you define your current task (title, with optional tags and
description), click stop whenever you're done (or switch to something
else, or add an earlier activity you forgot to log), and later get an
overview of where your time went.

This works great with workrave.

Now there's an issue on their tracker for integration between hamster
and workrave (not really a priority, but still):
https://github.com/projecthamster/hamster/issues/246 . Taken from there,
the two ideas are:

1) workrave could "ask whether current task is still correct on
resumption from micro or rest breaks"
2) hamster could "pause timing during rest break"

A comment further down
<https://github.com/projecthamster/hamster/issues/246#issuecomment-183665366>
explains hamster already publishes changes to dbus, so idea #1 could
maybe not be that far.

Does this interest anybody else? Does anybody familiar with the codebase
know if this would be doable? Worth filing a bug? (I realise there are
other time trackers out there, and integrating with only one may
frustrate other users. Is there maybe a plugin mechanism in the works?)

Idea #2 would probably need workrave to publish its status changes to
dbus (or maybe it's already done?)

Anyway, just trying to get a feel for what's involved in this idea.
Thanks for the great software, dear devs!

Sébastien (@wehlutyk in the github issue)
Sébastien Lerique
2016-02-13 16:51:29 UTC
Permalink
(Is that advertisement footer added by sourceforge? Never seen it in my
outgoing emails)

On 13/02/16 17:37, Sébastien Lerique wrote:
> Dear list,
>
> I'm a happy user of workrave, and have recently started using Project
> Hamster <https://projecthamster.wordpress.com/> (aka Gnome Time Tracker)
> which is another great project. If you're not familiar with it: it lets
> you define your current task (title, with optional tags and
> description), click stop whenever you're done (or switch to something
> else, or add an earlier activity you forgot to log), and later get an
> overview of where your time went.
>
> This works great with workrave.
>
> Now there's an issue on their tracker for integration between hamster
> and workrave (not really a priority, but still):
> https://github.com/projecthamster/hamster/issues/246 . Taken from there,
> the two ideas are:
>
> 1) workrave could "ask whether current task is still correct on
> resumption from micro or rest breaks"
> 2) hamster could "pause timing during rest break"
>
> A comment further down
> <https://github.com/projecthamster/hamster/issues/246#issuecomment-183665366>
> explains hamster already publishes changes to dbus, so idea #1 could
> maybe not be that far.
>
> Does this interest anybody else? Does anybody familiar with the codebase
> know if this would be doable? Worth filing a bug? (I realise there are
> other time trackers out there, and integrating with only one may
> frustrate other users. Is there maybe a plugin mechanism in the works?)
>
> Idea #2 would probably need workrave to publish its status changes to
> dbus (or maybe it's already done?)
>
> Anyway, just trying to get a feel for what's involved in this idea.
> Thanks for the great software, dear devs!
>
> Sébastien (@wehlutyk in the github issue)
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
> Workrave-user mailing list
> Workrave-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/workrave-user
Rob Caelers
2016-02-24 18:18:58 UTC
Permalink
Hi,

> Now there's an issue on their tracker for integration between hamster
> and workrave (not really a priority, but still):
> https://github.com/projecthamster/hamster/issues/246 . Taken from there,
> the two ideas are:
>
> 1) workrave could "ask whether current task is still correct on
> resumption from micro or rest breaks"
> 2) hamster could "pause timing during rest break"

Interesting features, but I think they should not be implemented by Workrave itself.

I see two options:

1) Adding a plugin framework to Workrave and implement these features as a plugin.
I considered adding support for plugins to Workrave but I never really had any use for them.

2) Create a 3rd party application that uses Workrave's and Hamster's dbus interfaces.
Workrave has a dbus interface that provides an event that is raised when a breaks starts or ends.
This event can be processed by a third party application that can implement both 1) and 2).
I assume Hamster's dbus interface has functions to pause timing and change a task.

I think option 2) is the easiest solution. It also allows more freedom in selecting a programming
language (python, javascript,...)

> Idea #2 would probably need workrave to publish its status changes to
> dbus (or maybe it's already done?)

Already done (On Linux, I stopped supporting D-Bus on Windows for now)

Just let me know if Workrave's dbus interface is insufficient to implement these features.
I can add events/functions if needed.

Kind regards,
Rob
Sébastien Lerique
2016-03-02 16:24:23 UTC
Permalink
Hi,

> > Now there's an issue on their tracker for integration between hamster
> > and workrave (not really a priority, but still):
> > https://github.com/projecthamster/hamster/issues/246 . Taken from there,
> > the two ideas are:
> >
> > 1) workrave could "ask whether current task is still correct on
> > resumption from micro or rest breaks"
> > 2) hamster could "pause timing during rest break"
>
> Interesting features, but I think they should not be implemented by Workrave itself.
>
> I see two options:
>
> 1) Adding a plugin framework to Workrave and implement these features as a plugin.
> I considered adding support for plugins to Workrave but I never really had any use for them.
>
> 2) Create a 3rd party application that uses Workrave's and Hamster's dbus interfaces.
> Workrave has a dbus interface that provides an event that is raised when a breaks starts or ends.
> This event can be processed by a third party application that can implement both 1) and 2).
> I assume Hamster's dbus interface has functions to pause timing and change a task.
>
> I think option 2) is the easiest solution. It also allows more freedom in selecting a programming
> language (python, javascript,...)
>
> > Idea #2 would probably need workrave to publish its status changes to
> > dbus (or maybe it's already done?)
>
> Already done (On Linux, I stopped supporting D-Bus on Windows for now)
>
> Just let me know if Workrave's dbus interface is insufficient to implement these features.
> I can add events/functions if needed.

Thanks for the pointers! I'll try and look into it in more detail when I get some time.

Best
Sébastien
Loading...