/* Polydoro - Pomodoro widget for polybar and friends * Copyright (C) 2025 Vidhu Kant Sharma * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ use std::env; mod client; mod daemon; fn print_usage() { println!("Polydoro - Pomodoro widget for polybar and friends\n"); println!("Usage:"); println!("\tUse the -d flag to start the daemon (only one daemon can be running)"); println!("\tUse the -l flag to listen to the daemon. Use this to print to your status bar/script."); println!("\trun:\t\tStart/resume the timer"); println!("\tpause:\t\tPause the timer"); println!("\ttoggle:\t\tConditionally run/pause"); println!("\tskip:\t\tSkip the current timer (timer needs to be in a running state)"); println!("\tsoft-reset:\tGo to the beginning of the current timer"); println!("\thard-reset:\tGo to the beginning of the first timer"); println!("\treset:\t\tConditional soft/hard reset\n"); println!("Copyright (C) 2025 Vidhu Kant Sharma \n"); println!("This program is free software: you can redistribute it and/or modify"); println!("it under the terms of the GNU General Public License as published by"); println!("the Free Software Foundation, either version 3 of the License, or"); println!("(at your option) any later version.\n"); println!("This program is distributed in the hope that it will be useful,"); println!("but WITHOUT ANY WARRANTY; without even the implied warranty of"); println!("MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"); println!("GNU General Public License for more details.\n"); println!("You should have received a copy of the GNU General Public License"); println!("along with this program. If not, see ."); } fn main() { let args: Vec = env::args().collect(); if args.len() == 2 { match args[1].as_str() { "run" | "pause" | "toggle" | "skip" | "soft-reset" | "hard-reset" | "reset" | "notify" => client::command::handle_command(args[1].clone()), "-d" => daemon::start_daemon(), "-l" => client::listener::start_listener(), "-h" | _ => { print_usage(); }, } } else { println!("Invalid usage"); print_usage(); std::process::exit(1); } }