Expand description
Core activity monitoring system for kasl.
Implements the heart of kasl’s activity tracking functionality, providing real-time monitoring of user input to automatically detect work sessions, breaks, and productivity patterns.
§Features
- Input Detection: Low-level keyboard and mouse event capture
- State Machine: Activity state tracking (Active/InPause)
- Timing Logic: Configurable thresholds for activity and pause detection
- Database Integration: Automatic workday and pause recording
- Configuration Management: Flexible behavior customization
§Usage
use kasl::libs::config::MonitorConfig;
use kasl::libs::monitor::Monitor;
let config = MonitorConfig {
pause_threshold: 120,
activity_threshold: 60,
poll_interval: 1000,
min_pause_duration: 30,
min_work_interval: 15,
..Default::default()
};
let mut monitor = Monitor::new(config)?;
monitor.run().await?;Structs§
- Monitor
- The core activity monitor responsible for tracking user presence and managing workday and pause records.