@ty2u first wrote about it here: https://github.com/ActivityWatch/activitywatch/issues/93
There's a nice video from ManicTime here showing it off: https://youtu.be/OlfknjggACQ
I wrote a little about how it would work in ActivityWatch-terms here: https://github.com/ActivityWatch/activitywatch/issues/93#issuecomment-322463593
There is another person that seems to be interested in developing a ManicTime replacement from a gist he has written here.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
In #106 something similar was requested, there I presented a possible solution:
One thing I have in mind is to add some kind of automated tagging system based on pattern matching. It would basically work as follows: All AFK-filtered titles/URLs would be run through a pattern (such as your project name) and we'd then get out all the events relating to your project, which could in turn be used to calculate the time spent on that project.
...or at least a lower bound. A lot of activity surrounding such work might be looking up resources that can't reliably be known as related. This sounds like a future project for aw-analysis. An approximation of the total time would be the matched time + the time of temporally nearby work-related activities (GitHub/StackOverflow/Wikipedia/Slack/etc.).
As an additional thought on this – manually tagging / flagging would also be quite a nice option. Writing rules for catching tags, ie: if url contains website.io then tag with Project A; If terminal chooses directory and git remote -v is repo url, tag Project B. Being able to quantify user defined projects would help in my line of work greatly
@yratof Running git remove -v every time you change would need an console watcher though. Has more usecases than just checking git though so that could possibly be a nice addition.
It could be made simply with aw-watcher-window though if you for example used vim, you could use set title in your .vimrc so it changes the windowtitle of your terminal to something like "yourfilename (path to your file) - vim". Then after that once automatic tagging after titles are implemented you can just grep the projectname in the titles. You can do a similar thing with bash/zsh/fish which changes the title of the window to include the current path, so it would also work even if you for example are compiling, using grep/less/whatever to find and read code etc.
+1 on simply using window titles/URLs to autotag.
arbtt takes this approach to everything it does (ensure applications set informative titles) and while it takes some work for the user in some cases it's usually a lot easier and performance friendly than running commands in the background of the terminal to get info.
Auto tagging by user settings. "If Contains" "If exact value" like so.
@ugurozturk That's likely to be the direction we'll be going in :slightly_smiling_face:
Two new duplicates of this issue but with a few original ideas such as sub-categories (https://github.com/ActivityWatch/activitywatch/issues/192) and supervised machinelearning for the tagging (https://github.com/ActivityWatch/activitywatch/issues/191).
I'm also currently looking for a replacement for ManicTime.
Manual tagging and the stopwatch tagging would be a must, automatic tagging a plus.
Another great feature in ManicTime is the screenshot option. With that it is a lot easier to reconstruct your day a week later, if you have too.
@pahofmann There's an issue for stopwatch tagging here: https://github.com/ActivityWatch/aw-webui/issues/70
@ErikBjare is there a branch which you are developing the manual tagging and/or the automatic tagging? I would like to help if I can.
@bkemmer I've done some experiments with automatic tagging in https://github.com/ActivityWatch/aw-research (see this Makefile target). But not anything significant yet.
Oh yeah, I also did some work here, which might be a better starting point.
Just wanted to drop the "this is a feature I want" comment here. Also integration with temporal summaries ( #189 ) would be useful for people trying to get a grasp of how they're spending their time.
Just wanted to add that major work towards a proof-of-concept has been made here: https://github.com/ActivityWatch/aw-research/pull/12
Would take quite some work to port to the web UI, but the tools are there for the experienced user (I use them more than the web UI currently).
Any help/documentation on how to use this feature without a UI?
I did see categories.example.toml and a couple of other related files and I understand what they do, but not sure where to go from there.
@VelocityRa I personally use the notebook I'm working on here: https://github.com/ErikBjare/quantifiedme/blob/master/QuantifiedMe%20-%20Dashboard.ipynb
Let me know if you try using it! (and sorry that there aren't any clear installation/usage instructions, yet)
Some major progress on this today/yesterday: https://github.com/ActivityWatch/aw-webui/pull/145
Some major progress on this today/yesterday: ActivityWatch/aw-webui#145
i'll take a look also. will submit PR if i can be useful.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Should this be closed?
The main feature is there, it needs improvements sure but those should be seperate issues IMO.
Yup, this is done. Closing.
Most helpful comment
As an additional thought on this – manually tagging / flagging would also be quite a nice option. Writing rules for catching tags, ie: if
urlcontainswebsite.iothen tag withProject A; Ifterminalchooses directory andgit remote -visrepo url, tagProject B. Being able to quantify user defined projects would help in my line of work greatly