omasot — Screen Time Tracker for Omarchy
A lightweight screen time tracker plugin for the Omarchy shell bar. Shows your daily screen-on time at a glance and provides an hourly breakdown chart when clicked.
Features
- Bar widget — displays total screen time today (e.g.
2h 34m) - Hourly chart — click the widget to see a 24-hour bar chart of usage
- Tracking Modes — easily toggle between "Active" (measures only actively used time) and "Always" (measures total screen-on time, whether being used or unused)
- Theme-aware — adapts colors to your current Omarchy theme
- Lightweight — simple Python backend, no daemons or databases
Screenshot

Requirements
- Omarchy Quattro with Quickshell
- Python 3 (pre-installed on Omarchy)
Installation
omarchy plugin add https://github.com/kamal-v8/omasot.git --enable
This clones the plugin and enables it in your bar automatically.
Alternatively, you can manually clone and configure:
git clone https://github.com/kamal-v8/omasot.git ~/.config/omarchy/plugins/omasot
Then add it to your bar in ~/.config/omarchy/shell.json:
{
"id": "omasot"
}
The shell hot-reloads on save — no restart needed.
Removal
Remove from your bar layout in ~/.config/omarchy/shell.json, then delete the plugin:
rm -rf ~/.config/omarchy/plugins/omasot
Optionally remove the state file:
rm ~/.local/state/screentime.json
How It Works
- A background service runs a 60-second timer. Each tick, it checks your idle status via Quickshell's
IdleMonitor. It then callstracker.py recordto log one minute. - The bar widget calls
tracker.py(no args) every 60 seconds to read today's total and display it. - Clicking the widget opens a panel with a 24-hour bar chart showing minutes per hour.
- A toggle in the panel switches between Active (monitors only active use cases, pausing when idle) and Always (tracks all screen-on usage).
- Data is stored in
~/.local/state/screentime.jsonas a simple JSON object keyed by date and hour. Entries older than 30 days are pruned automatically.
External Dependencies
| Dependency | Purpose | Included in Omarchy? |
|---|---|---|
| Python 3 | Data recording and reading | Yes |