barust 0.3.0

A X11 status bar
Documentation
use std::time::{Duration, Instant};

#[derive(Debug, Clone, Copy)]
pub struct ResettableTimer {
    pub duration: Duration,
    timer: Instant,
}

impl ResettableTimer {
    pub fn new(duration: Duration) -> Self {
        Self {
            duration,
            timer: Instant::now(),
        }
    }

    pub fn reset(&mut self) {
        self.timer = Instant::now();
    }

    pub fn is_done(&self) -> bool {
        self.timer.elapsed() > self.duration
    }
}