Update
This commit is contained in:
parent
a21a17dba7
commit
d563f576b3
|
@ -2,7 +2,7 @@
|
|||
authors = ["Valeria Fadeeva <valeria@fadeeva.me>"]
|
||||
name = "melawy-linux-updater-tray"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
edition = "2024"
|
||||
|
||||
# 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
|
||||
ru_RU.UTF-8: Установщик обновлений Melawy Linux
|
||||
|
||||
menu.check_updates:
|
||||
en: Chech updates
|
||||
ru_RU.UTF-8: Проверить обновления
|
||||
|
||||
menu.update_system:
|
||||
en: Update system
|
||||
ru_RU.UTF-8: Обновить систему
|
||||
|
||||
menu.update_system_alter:
|
||||
en: Update system alter method
|
||||
ru_RU.UTF-8: Обновить систему альтернативным методом
|
||||
|
||||
menu.update_flatpak_applications:
|
||||
en: Update flatpak applications
|
||||
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 {
|
||||
Quit,
|
||||
NOP,
|
||||
CheckUpdates,
|
||||
UpdateSystem,
|
||||
UpdateSystemAlter,
|
||||
UpdateFlatpak,
|
||||
}
|
||||
|
||||
fn run_cmd(cmd_string: &str, lang_env_var: Option<&str>) {
|
||||
if lang_env_var.is_some() {
|
||||
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();
|
||||
|
@ -63,12 +65,26 @@ fn main() {
|
|||
tray.add_label(&t!("label.melawy_linux_updater")).unwrap();
|
||||
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();
|
||||
tray.add_menu_item(&t!("menu.update_system"), move || {
|
||||
update_system_tx.send(Message::UpdateSystem).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();
|
||||
tray.add_menu_item(&t!("menu.update_flatpak_applications"), move || {
|
||||
update_flatpak_tx.send(Message::UpdateFlatpak).unwrap();
|
||||
|
@ -87,12 +103,24 @@ fn main() {
|
|||
gtk::main_quit();
|
||||
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) => {
|
||||
// println!("Update system");
|
||||
let cmd = "sudo melawy-linux-updater";
|
||||
let _ = run_cmd(cmd, None);
|
||||
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) => {
|
||||
// println!("Update flatpak applications");
|
||||
let cmd = "/usr/bin/konsole --noclose --separate -e flatpak update";
|
||||
|
|
Loading…
Reference in New Issue