
Cobalt
An app usage viewer, made using C# and XAML
# What is it?
An program to track how long an app is on the screen, and display useful statistics in a interactive manner.
# Screenshots
# Cobalt.TaskbarNotifier
# Cobalt (Dark theme)
# Mechanism
- Cobalt.Engine and Cobalt.TaskbarNotifier are started at system user login.
- A hook to the windows EVENT_SYSTEM_FOREGROUND event is added, and window foreground changes are tracked in Cobalt.Engine.
- The app usage is stored into a SQLite database, and also transmitted to listeners such as Cobalt and Cobalt.TaskbarNotfier
- Listeners track existing app usages and newly added app usages and visualize them
# Performance
- Cobalt.Engine takes up ~0% of CPU and ~10mb of memory
- Cobalt is a WPF XAML App, and includes quite a few libraries, so it takes up more memory and CPU
- Cobalt.TaskbarNotifier is a WPF XAML App, but only shows a taskbar icon instead of a full window, but still includes some libraries so it might take up ~30mb of memory, ~0% of CPU when not shown and ~35mb of memory, 3% to 8% of CPU when shown.