diff --git a/Cargo.toml b/Cargo.toml index 77705b8..b763f5a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,10 +23,3 @@ textwrap = "0.16.1" [build-dependencies] glib-build-tools = "0.19.0" - -[profile.release] -opt-level = 'z' # Optimize for size -lto = true # Enable link-time optimization -codegen-units = 1 # Reduce number of codegen units to increase optimizations -panic = 'abort' # Abort on panic -strip = true # Strip symbols from binary* diff --git a/data/com.github.pikaos-linux.pika-kernel-manager.svg b/data/com.github.pikaos-linux.pika-kernel-manager.svg index 1fb3610..d846b96 100644 --- a/data/com.github.pikaos-linux.pika-kernel-manager.svg +++ b/data/com.github.pikaos-linux.pika-kernel-manager.svg @@ -1,28 +1,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/data/locales/en_US.json b/data/locales/en_US.json index a32cc07..6a17023 100644 --- a/data/locales/en_US.json +++ b/data/locales/en_US.json @@ -25,7 +25,7 @@ "kernel_badge_running_version_label": "Running Version", "kernel_badge_running_kernel_label": "Running Kernel", "kernel_badge_running_sched_label": "Running Sched", - "kernel_main_label_label": "Available Kernel Packages for", + "kernel_main_label_label": "Available Kernel Packages", "kernel_status_icon_tooltip_text": "Installed", "kernel_install_button_label": "Install", "kernel_install_button_tooltip_text": "Install this kernel", diff --git a/data/resources.gresource.xml b/data/resources.gresource.xml index e59715f..f893fe6 100644 --- a/data/resources.gresource.xml +++ b/data/resources.gresource.xml @@ -1,11 +1,11 @@ - + tux-symbolic.svg tux-download-symbolic.svg tux-settings-symbolic.svg - + style.css \ No newline at end of file diff --git a/data/scripts/get_kernel_pika.sh b/data/scripts/get_kernel_pika.sh new file mode 100755 index 0000000..bd2b888 --- /dev/null +++ b/data/scripts/get_kernel_pika.sh @@ -0,0 +1,3 @@ +#! /bin/bash + +apt show kernel-pika 2>&1 | grep Depends: | tr "," "\n" | cut -f2 -d":" | grep linux-image | tr -d ' ' \ No newline at end of file diff --git a/data/tux-download-symbolic.svg b/data/tux-download-symbolic.svg index 7c9d1a3..26f2080 100644 --- a/data/tux-download-symbolic.svg +++ b/data/tux-download-symbolic.svg @@ -1,19 +1,6 @@ - - - - - - - - - - - - - - - - + + + diff --git a/data/tux-settings-symbolic.svg b/data/tux-settings-symbolic.svg index 942d41e..d846b96 100644 --- a/data/tux-settings-symbolic.svg +++ b/data/tux-settings-symbolic.svg @@ -1,27 +1,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/data/tux-symbolic.svg b/data/tux-symbolic.svg index ac33f23..065ce05 100644 --- a/data/tux-symbolic.svg +++ b/data/tux-symbolic.svg @@ -1,16 +1,5 @@ - - - - - - - - - - - - - + + diff --git a/kernel-db.json b/kernel-db.json index e2ea761..21fd28f 100644 --- a/kernel-db.json +++ b/kernel-db.json @@ -1,10 +1,20 @@ { - "latest_kernel_version": "6.10.5", + "latest_kernel_version": "6.11.0", "kernels": [ + { + "name": "PikaOS Kernel 6.11.0 RC-5 (Experimental)", + "main_package": "linux-image-6.11.0-rc5-pikaos", + "packages": "linux-image-6.11.0-rc5-pikaos linux-headers-6.11.0-rc5-pikaos" + }, { "name": "PikaOS Kernel 6.10.5", "main_package": "linux-image-6.10.5-pikaos", "packages": "linux-image-6.10.5-pikaos linux-headers-6.10.5-pikaos" + }, + { + "name": "PikaOS Kernel 6.10.0", + "main_package": "linux-image-6.10.0-pikaos", + "packages": "linux-image-6.10.0-pikaos linux-headers-6.10.0-pikaos" } ] - } \ No newline at end of file + } diff --git a/src/build_ui/mod.rs b/src/build_ui/mod.rs index ffbbe93..1a3aca1 100644 --- a/src/build_ui/mod.rs +++ b/src/build_ui/mod.rs @@ -129,8 +129,8 @@ pub fn build_ui(app: &adw::Application) { fn load_icon_theme(window: &adw::ApplicationWindow) { let icon_theme = gtk::IconTheme::for_display(&WidgetExt::display(window)); - icon_theme.add_resource_path("/com/github/cosmicfusion/pika-kernel-manager/icons/"); + icon_theme.add_resource_path("/com/github/pikaos-linux/pika-kernel-manager/icons/"); icon_theme.add_resource_path( - "/com/github/cosmicfusion/pika-kernel-manager/icons/scalable/actions/", + "/com/github/pikaos-linux/pika-kernel-manager/icons/scalable/actions/", ); } diff --git a/src/content/mod.rs b/src/content/mod.rs index bc3cacf..d151ee7 100644 --- a/src/content/mod.rs +++ b/src/content/mod.rs @@ -1,17 +1,14 @@ use crate::{kernel_pkg, sched_ext, RunningKernelInfo, KERNEL_DB_JSON_URL}; use adw::prelude::*; -use async_channel::Receiver; use duct::cmd; use glib::*; use gtk::*; -use homedir::get_my_home; use std::cell::RefCell; use std::path::Path; use std::process::{Command, Stdio}; use std::rc::Rc; use std::{fs, time}; use version_compare::Version; -use Vec; pub fn content( content_stack: >k::Stack, @@ -310,7 +307,7 @@ pub fn get_running_kernel_info() -> RunningKernelInfo { } fn is_scx_kernel() -> bool { - if Path::new("/sys/kernel/sched_ext/root/ops").exists() { + if Path::new("/sys/kernel/sched_ext").exists() { true } else { false @@ -318,7 +315,6 @@ fn is_scx_kernel() -> bool { } pub fn get_current_scheduler(version: String) -> String { if is_scx_kernel() { - println!("{}", t!("get_current_scheduler_sched_ext_detected")); let scx_sched = match fs::read_to_string("/sys/kernel/sched_ext/root/ops") { Ok(t) => t, Err(_) => "disabled".to_string(), @@ -359,7 +355,7 @@ fn create_kernel_badges( let json: serde_json::Value = serde_json::from_str(&kernel_db).expect("Unable to parse"); - let kernel_version = json["latest_kernel_version"].as_str().to_owned().unwrap().to_string() + let kernel_version = json["latest_kernel_version"].as_str().to_owned().unwrap().to_string(); let version_css_style = if &running_kernel_info.version == &kernel_version { "background-green-bg" @@ -431,7 +427,7 @@ fn is_scx_installed() -> bool { match Command::new("systemctl") .args(["status", "scx"]) .output() { - Ok(t) if t.status.success() => true, + Ok(t) if t.status.code().unwrap() != 4 => true, _ => false } } \ No newline at end of file diff --git a/src/kernel_pkg/mod.rs b/src/kernel_pkg/mod.rs index 2e64e2e..fc6d54f 100644 --- a/src/kernel_pkg/mod.rs +++ b/src/kernel_pkg/mod.rs @@ -3,13 +3,11 @@ use adw::prelude::*; use duct::cmd; use glib::*; use gtk::*; -use std::cell::RefCell; use std::error::Error; use std::io::BufRead; use std::io::BufReader; use std::process::Command; use std::process::Stdio; -use std::rc::Rc; use std::time::*; pub fn kernel_pkg_page( @@ -39,11 +37,8 @@ pub fn kernel_pkg_page( .orientation(Orientation::Vertical) .build(); - /*let main_label = gtk::Label::builder() - .label(format!( - "{} {}", t!("kernel_main_label_label"), - &selected_kernel_branch_clone0.name - )) + let main_label = gtk::Label::builder() + .label(t!("kernel_main_label_label")) .hexpand(true) .halign(Align::Center) .margin_start(10) @@ -52,7 +47,7 @@ pub fn kernel_pkg_page( .margin_top(20) .build(); main_label.add_css_class("symbolic-accent-bg"); - main_label.add_css_class("size-20-font");*/ + main_label.add_css_class("size-20-font"); let main_icon = gtk::Image::builder() .pixel_size(48) @@ -69,7 +64,7 @@ pub fn kernel_pkg_page( let main_label_box = gtk::Box::new(Orientation::Horizontal, 0); main_label_box.append(&main_icon); - //main_label_box.append(&main_label); + main_label_box.append(&main_label); let searchbar = gtk::SearchEntry::builder() .search_delay(500) @@ -157,13 +152,6 @@ fn add_package_rows( searchbar: >k::SearchEntry, parse_loading_dialog: &adw::MessageDialog ) { - let cpu_feature_level: u32 = match get_cpu_feature_level().as_str() { - "x86-64-v4" => 4, - "x86-64-v3" => 3, - "x86-64-v2" => 2, - _ => 1, - }; - let (kernel_package_sender, kernel_package_receiver) = async_channel::unbounded(); let kernel_package_sender = kernel_package_sender.clone(); @@ -241,14 +229,20 @@ fn add_package_rows( .args(["-s", &kernel_main_package_clone0]) .output() .unwrap(); - if command_installed_status.status.success() { - kernel_status_loop_sender - .send_blocking(true) - .expect("channel needs to be open") - } else { - kernel_status_loop_sender - .send_blocking(false) - .expect("channel needs to be open") + let command_get_kernel_pika = Command::new("/usr/lib/pika/kernel-manager/scripts/get_kernel_pika.sh") + .output() + .unwrap(); + let kernel_pika_pkg = String::from_utf8(command_get_kernel_pika.stdout).unwrap(); + if kernel_main_package_clone0.trim() != kernel_pika_pkg.trim() { + if command_installed_status.status.success() { + kernel_status_loop_sender + .send_blocking(true) + .expect("channel needs to be open") + } else { + kernel_status_loop_sender + .send_blocking(false) + .expect("channel needs to be open") + } } std::thread::sleep(Duration::from_secs(6)); }); diff --git a/src/main.rs b/src/main.rs index 4bd102d..ac817dc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -97,7 +97,7 @@ fn load_gresource() { fn load_css() { // Load the CSS file and add it to the provider let provider = CssProvider::new(); - provider.load_from_resource("/com/github/cosmicfusion/pika-kernel-manager/css/style.css"); + provider.load_from_resource("/com/github/pikaos-linux/pika-kernel-manager/css/style.css"); // Add the provider to the default screen gtk::style_context_add_provider_for_display(