Загрузил(а) файлы в 'src'
This commit is contained in:
158
src/main.rs
158
src/main.rs
@@ -1,143 +1,31 @@
|
|||||||
use futures::executor::block_on;
|
mod setwp;
|
||||||
use std::time::{Duration, Instant};
|
|
||||||
use std::thread::sleep;
|
|
||||||
use std::env;
|
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use download_rs::async_download::Download;
|
|
||||||
use wallpaper;
|
|
||||||
|
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
for arg in env::args() {
|
for _ in 0..24 {
|
||||||
if arg == "hd" {
|
setwp::del();
|
||||||
loop {
|
let _ = fs::create_dir_all("/tmp/unwp").expect("Программе не удалось создать временный каталог для её работы.");
|
||||||
let b = hdd();
|
let mut base_url = "https://source.unsplash.com/random/".to_string();
|
||||||
block_on(b);
|
|
||||||
|
|
||||||
let _f = Instant::now();
|
for arg in std::env::args() {
|
||||||
sleep(Duration::new(3600, 3600));
|
if arg == "hd" {
|
||||||
|
let irl: &mut String = &mut base_url;
|
||||||
|
irl.push_str("1280x720");
|
||||||
|
setwp::download(irl);
|
||||||
|
} else if arg == "fhd" {
|
||||||
|
let irl: &mut String = &mut base_url;
|
||||||
|
irl.push_str("1920x1080");
|
||||||
|
setwp::download(irl);
|
||||||
|
} else if arg == "qhd" {
|
||||||
|
let irl: &mut String = &mut base_url;
|
||||||
|
irl.push_str("3840x2160");
|
||||||
|
setwp::download(irl);
|
||||||
|
} else if arg == "uhd" {
|
||||||
|
let irl: &mut String = &mut base_url;
|
||||||
|
irl.push_str("7680x4320");
|
||||||
|
setwp::download(irl);
|
||||||
}
|
}
|
||||||
} else if arg == "fhd" {
|
}
|
||||||
loop {
|
|
||||||
let b = fhdd();
|
|
||||||
block_on(b);
|
|
||||||
|
|
||||||
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 _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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
36
src/setwp.rs
Normal file
36
src/setwp.rs
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
use std::{thread::sleep, fs, time::{Duration, Instant}};
|
||||||
|
use download_rs::async_download::Download;
|
||||||
|
use wallpaper;
|
||||||
|
|
||||||
|
pub static FILENAME: &str = "/tmp/unwp/bg.png";
|
||||||
|
|
||||||
|
pub fn download(url: &mut String) {
|
||||||
|
url.push_str("/?background/");
|
||||||
|
|
||||||
|
let d = Download::new(&url, Some(FILENAME),None); match d.download() {
|
||||||
|
Ok(_) => { println!("[ OK ]"); set() },
|
||||||
|
Err(_e) => { println!("[ !! ]"); loop {
|
||||||
|
match d.download() {
|
||||||
|
Ok(_) => { println!("[ OK ]"); break; },
|
||||||
|
Err(_e) => {
|
||||||
|
let _ = Instant::now();
|
||||||
|
sleep(Duration::new(5, 5));
|
||||||
|
println!("[ !! ]");
|
||||||
|
continue;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn set() {
|
||||||
|
let _ = wallpaper::set_from_path(FILENAME);
|
||||||
|
let _ = wallpaper::set_mode(wallpaper::Mode::Fit);
|
||||||
|
let _ = Instant::now(); sleep(Duration::new(3600, 3600));
|
||||||
|
del()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn del() {
|
||||||
|
let _ = fs::remove_file(FILENAME);
|
||||||
|
}
|
Reference in New Issue
Block a user