Skip to main content

Module monitor

Module monitor 

Source
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.