blob: d7ea87eaa77df0d4457be134bf6d00e6a2b3a02d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# hypr-wellbeing
## Project Overview
`hypr-wellbeing` is a command-line tool for tracking application usage time on Linux, with a specific focus on the Hyprland and niri window managers. It helps users monitor their screen time and promote digital wellbeing by providing detailed statistics on application usage.
## Features
- **Time Tracking:** Monitors the active window and logs the time spent on each application.
- **Daily Reports:** Displays a summary of daily application usage, including total screen time and a breakdown of time spent on each application.
- **Data Storage:** Stores usage data in CSV files in the `~/.cache/hyprwatch/daily_data/` directory.
- **Cross-Desktop Support (Limited):** While primarily designed for Hyprland and niri, it may work on other Wayland-based desktops.
- **Analysis:** Includes logic for generating weekly reports and sorting data.
## Technology Stack
- **Language:** C#
- **Framework:** .NET 8
- **Platform:** Linux
- **Compilation:** Published as a self-contained AOT (Ahead-Of-Time) compiled application.
## File Structure
```
/home/swarn/dox/code/hypr-wellbeing/
├───.gitignore
├───hypr-wellbeing.csproj
├───LICENSE
├───Program.cs
├───README.md
├───.assets/
│ └───show.png
├───.git/...
├───bin/
│ ├───Debug/...
│ └───Release/...
├───obj/
│ ├───Debug/...
│ └───Release/...
└───src/
├───Analysis.cs
├───GetWindows.cs
├───GetWindowsv2.cs
├───TimeOperations.cs
└───WatchLog.cs
```
## Usage
### Monitor Mode
To run the application in the background and monitor application usage, use the following command:
```sh
hypr-wellbeing -d &> /dev/null &
```
### Show Stats
To display the statistics for the current day, use the following command:
```sh
hypr-wellbeing --show
```
## Future Improvements
The following features are planned for future releases:
- Weekly view of application usage
- Monthly view of application usage
|