Update
This commit is contained in:
parent
a21a17dba7
commit
d563f576b3
|
@ -2,7 +2,7 @@
|
||||||
authors = ["Valeria Fadeeva <valeria@fadeeva.me>"]
|
authors = ["Valeria Fadeeva <valeria@fadeeva.me>"]
|
||||||
name = "melawy-linux-updater-tray"
|
name = "melawy-linux-updater-tray"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2024"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,18 @@ label.melawy_linux_updater:
|
||||||
en: Melawy Linux Updater
|
en: Melawy Linux Updater
|
||||||
ru_RU.UTF-8: Установщик обновлений Melawy Linux
|
ru_RU.UTF-8: Установщик обновлений Melawy Linux
|
||||||
|
|
||||||
|
menu.check_updates:
|
||||||
|
en: Chech updates
|
||||||
|
ru_RU.UTF-8: Проверить обновления
|
||||||
|
|
||||||
menu.update_system:
|
menu.update_system:
|
||||||
en: Update system
|
en: Update system
|
||||||
ru_RU.UTF-8: Обновить систему
|
ru_RU.UTF-8: Обновить систему
|
||||||
|
|
||||||
|
menu.update_system_alter:
|
||||||
|
en: Update system alter method
|
||||||
|
ru_RU.UTF-8: Обновить систему альтернативным методом
|
||||||
|
|
||||||
menu.update_flatpak_applications:
|
menu.update_flatpak_applications:
|
||||||
en: Update flatpak applications
|
en: Update flatpak applications
|
||||||
ru_RU.UTF-8: Обновить приложения flatpak
|
ru_RU.UTF-8: Обновить приложения flatpak
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
checkupdates
|
||||||
|
|
||||||
|
echo "Finish!"
|
||||||
|
|
||||||
|
echo "This window may close!"
|
||||||
|
|
||||||
|
sleep 5
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ "$UID" != 0 ]]; then
|
||||||
|
echo "USER NOT ROOT"
|
||||||
|
sudo "$0"
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
echo "USER IS ROOT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
pacman -Syu
|
||||||
|
|
||||||
|
echo "Finish!"
|
||||||
|
|
||||||
|
echo "This window may close!"
|
||||||
|
|
||||||
|
sleep 5
|
30
src/main.rs
30
src/main.rs
|
@ -14,14 +14,16 @@ use {
|
||||||
enum Message {
|
enum Message {
|
||||||
Quit,
|
Quit,
|
||||||
NOP,
|
NOP,
|
||||||
|
CheckUpdates,
|
||||||
UpdateSystem,
|
UpdateSystem,
|
||||||
|
UpdateSystemAlter,
|
||||||
UpdateFlatpak,
|
UpdateFlatpak,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn run_cmd(cmd_string: &str, lang_env_var: Option<&str>) {
|
fn run_cmd(cmd_string: &str, lang_env_var: Option<&str>) {
|
||||||
if lang_env_var.is_some() {
|
if lang_env_var.is_some() {
|
||||||
let key: &str = "LANG";
|
let key: &str = "LANG";
|
||||||
std::env::set_var(key, lang_env_var.unwrap_or("C.UTF-8"));
|
unsafe { std::env::set_var(key, lang_env_var.unwrap_or("C.UTF-8")) };
|
||||||
}
|
}
|
||||||
|
|
||||||
let args_vec: Vec<&str> = cmd_string.split_whitespace().collect();
|
let args_vec: Vec<&str> = cmd_string.split_whitespace().collect();
|
||||||
|
@ -63,12 +65,26 @@ fn main() {
|
||||||
tray.add_label(&t!("label.melawy_linux_updater")).unwrap();
|
tray.add_label(&t!("label.melawy_linux_updater")).unwrap();
|
||||||
let (tx, rx) = mpsc::sync_channel::<Message>(2);
|
let (tx, rx) = mpsc::sync_channel::<Message>(2);
|
||||||
|
|
||||||
|
let check_updates_tx = tx.clone();
|
||||||
|
tray.add_menu_item(&t!("menu.check_updates"), move || {
|
||||||
|
check_updates_tx.send(Message::CheckUpdates).unwrap();
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
let update_system_tx = tx.clone();
|
let update_system_tx = tx.clone();
|
||||||
tray.add_menu_item(&t!("menu.update_system"), move || {
|
tray.add_menu_item(&t!("menu.update_system"), move || {
|
||||||
update_system_tx.send(Message::UpdateSystem).unwrap();
|
update_system_tx.send(Message::UpdateSystem).unwrap();
|
||||||
})
|
})
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
let update_system_alter_tx = tx.clone();
|
||||||
|
tray.add_menu_item(&t!("menu.update_system_alter"), move || {
|
||||||
|
update_system_alter_tx
|
||||||
|
.send(Message::UpdateSystemAlter)
|
||||||
|
.unwrap();
|
||||||
|
})
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
let update_flatpak_tx = tx.clone();
|
let update_flatpak_tx = tx.clone();
|
||||||
tray.add_menu_item(&t!("menu.update_flatpak_applications"), move || {
|
tray.add_menu_item(&t!("menu.update_flatpak_applications"), move || {
|
||||||
update_flatpak_tx.send(Message::UpdateFlatpak).unwrap();
|
update_flatpak_tx.send(Message::UpdateFlatpak).unwrap();
|
||||||
|
@ -87,12 +103,24 @@ fn main() {
|
||||||
gtk::main_quit();
|
gtk::main_quit();
|
||||||
glib::ControlFlow::Break
|
glib::ControlFlow::Break
|
||||||
}
|
}
|
||||||
|
Ok(Message::CheckUpdates) => {
|
||||||
|
// println!("Checking Updates");
|
||||||
|
let cmd = "/usr/bin/konsole --noclose --separate -e /bin/sh -c /usr/share/melawy-linux-updater-tray/scripts/checkupdates.sh";
|
||||||
|
let _ = run_cmd(cmd, None);
|
||||||
|
glib::ControlFlow::Continue
|
||||||
|
}
|
||||||
Ok(Message::UpdateSystem) => {
|
Ok(Message::UpdateSystem) => {
|
||||||
// println!("Update system");
|
// println!("Update system");
|
||||||
let cmd = "sudo melawy-linux-updater";
|
let cmd = "sudo melawy-linux-updater";
|
||||||
let _ = run_cmd(cmd, None);
|
let _ = run_cmd(cmd, None);
|
||||||
glib::ControlFlow::Continue
|
glib::ControlFlow::Continue
|
||||||
}
|
}
|
||||||
|
Ok(Message::UpdateSystemAlter) => {
|
||||||
|
// println!("Update system alter");
|
||||||
|
let cmd = "/usr/bin/konsole --noclose --separate -e /bin/sh -c /usr/share/melawy-linux-updater-tray/scripts/update_system_alter.sh";
|
||||||
|
let _ = run_cmd(cmd, None);
|
||||||
|
glib::ControlFlow::Continue
|
||||||
|
}
|
||||||
Ok(Message::UpdateFlatpak) => {
|
Ok(Message::UpdateFlatpak) => {
|
||||||
// println!("Update flatpak applications");
|
// println!("Update flatpak applications");
|
||||||
let cmd = "/usr/bin/konsole --noclose --separate -e flatpak update";
|
let cmd = "/usr/bin/konsole --noclose --separate -e flatpak update";
|
||||||
|
|
Loading…
Reference in New Issue