From c56b9db6f71b773ce1839e6dd03df12e18d37ff3 Mon Sep 17 00:00:00 2001 From: KhomyaK_HTF Date: Mon, 17 Apr 2023 17:28:33 +0200 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D0=BB(=D0=B0)=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20'src?= =?UTF-8?q?'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.rs | 150 +++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 130 insertions(+), 20 deletions(-) diff --git a/src/main.rs b/src/main.rs index 4ebc421..3edaeb5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,33 +1,143 @@ +use futures::executor::block_on; use std::time::{Duration, Instant}; use std::thread::sleep; -use std::process::Command; +use std::env; use std::fs; use download_rs::async_download::Download; use wallpaper; + fn main() { - fs::create_dir_all("/tmp/i3-unspl").unwrap(); + for arg in env::args() { + if arg == "hd" { + loop { + let b = hdd(); + block_on(b); - let _hd = "https://source.unsplash.com/random/1280x720/?backgrounds/"; - let _fhd = "https://source.unsplash.com/random/1920x1080/?backgrounds/"; - let _thd = "https://source.unsplash.com/random/3440x1440/?backgrounds/"; - let _uhd = "https://source.unsplash.com/random/4096x2160/?backgrounds/"; - - let name = "/tmp/i3-unspl/bg.png"; - - loop { - fs::remove_file("/tmp/i3-unspl/bg.png"); - - let down = Download::new(_thd, Some(name),None); - match down.download() { - Ok(_) => println!("Изображение успешно скачано!"), - Err(_e) => println!("Не удалось скачать изображение :("), + let _f = Instant::now(); + sleep(Duration::new(3600, 3600)); } + } else if arg == "fhd" { + loop { + let b = fhdd(); + block_on(b); - wallpaper::set_from_path("/tmp/i3-unspl/bg.png"); - wallpaper::set_mode(wallpaper::Mode::Fit); + let _f = Instant::now(); + sleep(Duration::new(3600, 3600)); + } + } else if arg == "qhd" { + loop { + let b = qhdd(); + block_on(b); + + let _f = Instant::now(); + sleep(Duration::new(3600, 3600)); + } + } else if arg == "uhd" { + loop { + let b = uhdd(); + block_on(b); - let _a = Instant::now(); - sleep(Duration::new(3600, 3600)); + let _f = Instant::now(); + sleep(Duration::new(3600, 3600)); + } + } else if arg == "help"{ + println!(" Чтобы начать пользоваться этой программой введите в терминал 'unwp hd'. Вместо hd разрешение обоев, которое вы хотите видеть. \n Доспупные разрешения: \n hd \n fhd \n qhd \n uhd\n\n Автор: KhomyaK_HTF, Донецк, 2023 год."); + }/* else if arg == " " { + println!("Пожалуйста, введите разрешение обоев, которое вы хотите видеть у себя на рабочем столе. Например 'unwp fhd'"); + }*/ } } + +async fn cr() { + fs::create_dir_all("/tmp/unwp").expect("Программе не удалось создать временный каталог для её работы."); + fs::remove_file("/tmp/unwp/bg.png"); +} + +async fn hd() { + let _url = "https://source.unsplash.com/random/1280x720/?backgrounds/"; + + let name = "/tmp/unwp/bg.png"; + + let down = Download::new(_url, Some(name),None); + match down.download() { + Ok(_) => println!("Изображение успешно скачано!"), + Err(_e) => println!("Не удалось скачать изображение :("), + }; +} + +async fn fhd() { + let _url = "https://source.unsplash.com/random/1920x1080/?backgrounds/"; + + let name = "/tmp/unwp/bg.png"; + + let down = Download::new(_url, Some(name),None); + match down.download() { + Ok(_) => println!("Изображение успешно скачано!"), + Err(_e) => println!("Не удалось скачать изображение :("), + }; +} + +async fn qhd() { + let _url = "https://source.unsplash.com/random/3840x1440/?backgrounds/"; + + let name = "/tmp/unwp/bg.png"; + + let down = Download::new(_url, Some(name),None); + match down.download() { + Ok(_) => println!("Изображение успешно скачано!"), + Err(_e) => println!("Не удалось скачать изображение :("), + }; +} + +async fn uhd() { + let _url = "https://source.unsplash.com/random/7680x4320/?backgrounds/"; + + let name = "/tmp/unwp/bg.png"; + + let down = Download::new(_url, Some(name),None); + match down.download() { + Ok(_) => println!("Изображение успешно скачано!"), + Err(_e) => println!("Не удалось скачать изображение :("), + }; +} + +async fn set() { + wallpaper::set_from_path("/tmp/unwp/bg.png"); + wallpaper::set_mode(wallpaper::Mode::Fit); + + fs::remove_dir("/tmp/unwp"); +} + +async fn hdd() { + let a = cr(); + let b = hd(); + let c = set(); + + futures::join!(a, b, c); +} + +async fn fhdd() { + let a = cr(); + let b = fhd(); + let c = set(); + + futures::join!(a, b, c); +} + +async fn qhdd() { + let a = cr(); + let b = qhd(); + let c = set(); + + futures::join!(a, b, c); +} + +async fn uhdd() { + let a = cr(); + let b = uhd(); + let c = set(); + + futures::join!(a, b, c); +} +