lakoliu / Furtherance

Track your time without being tracked
GNU General Public License v3.0
243 stars 23 forks source link

Multiple requests - for discussion #144

Closed aurelijusrozenas closed 1 month ago

aurelijusrozenas commented 1 month ago

Hey! I stumbled upon your app in my search for a Toggl replacement. Toggl was discontinued for Linux, but my usage was fairly simple, just as a time tracker. Now that I am searching for a replacement, I see it was exactly what I needed, and none of the other apps have the same features :face_holding_back_tears: Furtherance seems like a good start for what I need πŸ™‚

So I want to write here multiple feature requests to gauge if this is possible, if it is hard or not, and mostly - does it make sense and would it be an improvement for many users? I would make separate issues if it is decided that any of these are valid feature requests.

  1. Global shortcuts. At least for me, I need a global shortcut to stop/resume the last task. I am using Ubuntu and am not sure if global shortcuts are complicated or not.
  2. Idle time popup is great, but there could be three options in total for it:
    • β˜‘ Discard and stop - i.e., I was not working on the task.
    • Discard and continue - I was not working, but I will start again now.
    • β˜‘ Keep time and continue.
  3. Not tracking notification. It would be great to show a popup and remind that you are not idle and not tracking any task.
  4. Now this one is strange - the ability to exit the program and keep the timer running. Sometimes I do not want any popups; I am working. I will turn on the app at the end of the work and stop the timer.

I would like to hear your thoughts on this. Cheers :wave:

rickykresslein commented 1 month ago

Hi! I also used to use Toggl Track, and created Furtherance because I didn't like a lot of things Toggl was doing. I hadn't heard it was discontinued for Linux, though. That's too bad. I'll try to get to each of your requests:

  1. Global shortcuts are unlikely. I will look into it, and it would be cool, but they often interfere with other things the system is supposed to do when those keys are pressed and break things or frustrate the user.
  2. Discard and continue can be done with two quick button clicks - press discard, then press the repeat button on the task to start it again, so I'm not sure it is worth cluttering up the alert dialog with another button.
  3. I definitely want to implement a "not tracking notification". See issue #133
  4. I would like to implement the ability to close the app and keep the timer running, but I will first need to implement a tray widget (#100)

Thanks for all the suggestions! Hope this is informative. I will close this since the ones I plan on doing already have issues, but feel free to open a new issue for any individual ideas you would like to propose.

aurelijusrozenas commented 4 weeks ago

Hey!

About the global shortcut: I had a revelation last night πŸ™‚ All that's needed is a way to pass an action to the app through the CLI. This would allow to add a global shortcut via the OS and map it to flatpak run com.lakoliu.Furtherance some_action. The logic for stopping, toggling and/or resuming would have to be implemented, but this approach eliminates the need for shortcut binding within the app, making it OS agnostic.

To create a stop_or_resume action, we would still need to address https://github.com/lakoliu/Furtherance/issues/100 so that we can determine if the timer is running. Alternatively, if the actions were split into stop and resume, they could be mapped to two specific shortcuts :thinking:

I think it's time to add a Rust tutorial to my to-do backlog... :smile: