Improved Application Recognition (e.g., ApplicationFrameHost.exe Issue)

Hi ActivityWatch Team,

Thank you for creating such an excellent tool! It’s been great for tracking my activities, but I’ve noticed a recurring issue that affects its accuracy and usability:


ActivityWatch often logs system-level processes instead of the actual application name. For example, when I play Minecraft, the dashboard shows ApplicationFrameHost.exe instead of “Minecraft.” I understand this happens because ApplicationFrameHost.exe is a container for UWP apps, but this creates problems:

  1. Incorrect Categorization: If I categorize ApplicationFrameHost.exe as “Gaming,” other apps using the same process (e.g., Photos, Mail) will also appear as “Gaming.”
  2. Confusing Process Names: Seeing system-level names instead of app names makes tracking harder for end-users who expect something more human-readable.

Switching to “Top Window Titles” isn’t ideal for me because window titles frequently change (e.g., for videos, documents, or web pages). This makes categorization chaotic and unmanageable over time.


Suggestions to Improve Application Recognition:

  1. Implement a way to map system processes (like ApplicationFrameHost.exe) to actual app names based on context (e.g., window titles or metadata).
  2. Add an option for users to define manual rules or overrides for specific processes. For example, map ApplicationFrameHost.exe + “Minecraft” window title → “Minecraft.”
  3. Improve the detection of UWP apps, as they commonly rely on shared processes.
  4. Introduce hybrid tracking that uses process names by default but falls back to window titles when ambiguous processes like ApplicationFrameHost.exe are detected.

These changes would make the tool far more accurate and user-friendly, especially for apps hosted in shared processes.


Thank you for your hard work on ActivityWatch - I’m excited to see how it evolves!