Easy categorization

Hey,
I think the current way of categorizing might be too difficult.
Why can’t I just go to the Top Window Title page and right-click the elements on there to choose their category?

I think that this feature would make the application much easier.

I would really like to see a feature like this since most of the programs I use end up “uncategorized” (eg. games).

Something like right-clicking on an activity on the view would be a much quicker way.

Writing regex pipe is also kind of clutter once you have enough items.

Why can’t I just go to the Top Window Title page and right-click the elements on there to choose their category?

That would make this software so much more useful. The inability to easily categorize things makes it useless for analysis. I just keep logging things in the hope that in the future it becomes easy to categorize them and actually see how much time was spent in each area.

I think regex is fairly good enough if you get used to it. However, I guess a huge problem comes with its narrow and unreadable editing UI, which is just a line of input field.

e.g. Below is my random config file snippet using regex in a multiline form.

- id: end-of-file-fixer
  exclude: |
    (?x)^(
      .*\/?cspell\.json|
      .*\/?lazyvim\.json|
      .*\/dot_wakatime\.cfg|
      .*\/dot_warp\/themes\/.+|
      .*\/font\-manager\/Collections\.json|
      .*\/JetBrains\/.+\/settings\/.+|
      .*\/private_dot_docker\/config\.json|
      .*\/private_fcitx\/private_conf\/.+\.config|
      .*\/private_fcitx\/private_profile|
      .*\/(private_Code|vscode\/data\/user-data)\/User\/.+|
      .*\/?(-|\.)lock(\.json|\.toml|\.ya?ml)?
    )$

At a glance it seems like a huge amount of regex lines, but once you get used to its syntax I’m sure it’s very easy to read and understand.

I think it is a decent starting point with not too much to implement.

What about something like this? Right clicking is not something that Activity Watch does out of the box, so I needed to create a mode button for it. I think this is more flexible than just having an “Add to category” button. Note that the gif below is a little old. Now, it only shows the buttons for uncategorized options.

Recording 2025-11-23 192904 (2)

These changes can be found on my fork: GitHub - RTnhN/aw-webui: Webapp for visualizing and browsing ActivityWatch data, built with Vue.js. · GitHub . If this is something that people like, I can work on adding a new release I have added a release that people can use. With the newest versions of ActivityWatch, you can just add an environment variable to a path and use a different webui instead of using the default one.

This is a copy from Catagorizations which is a duplicate but recent related feature.

It might be possible to also fix categorization regex rules to split on the | and make a list of filters rather than a string with |. I feel that editing that would be more user friendly rather than managing that gnarly long regex string. If I have some more time this week, I might try to implement that too.

EDIT:

It was a lot easier to implement something more user friendly. You can now edit the filter as a list. This just uses the same regex data structure as before, but it just splits on the | (with appropriate checking for escape characters) and creates a more easily manageable list. It then saves this as regex, so there are no major changes to the backend.

Recording 2025-11-24 180714