diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index d357942..7ebc08c 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -56,7 +56,7 @@ body: description: | Please provide information about your environment if you were not able to include debug logs as described above. placeholder: | - Resources version: 1.7.0 (you can find this in the 'About' dialog) + Resources version: 1.7.1 (you can find this in the 'About' dialog) Package type: Flatpak Operating system: Ubuntu 22.04 Hardware info: Intel i7-7700k, Nvidia GTX 1080, … diff --git a/Cargo.lock b/Cargo.lock index 5b0e833..e946152 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -77,9 +77,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.93" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" dependencies = [ "backtrace", ] @@ -184,9 +184,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.17.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c360837f8f19e2e4468275138f1c0dec1647d1e17bb7c0215fe3cd7530e93c25" +checksum = "8d4ba6e40bd1184518716a6e1a781bf9160e286d219ccdb8ab2612e74cfe4789" dependencies = [ "smallvec", "target-lexicon", @@ -206,9 +206,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "clap" -version = "4.5.21" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f" +checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" dependencies = [ "clap_builder", "clap_derive", @@ -216,9 +216,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.21" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec" +checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" dependencies = [ "anstream", "anstyle", @@ -240,9 +240,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "colorchoice" @@ -403,9 +403,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ "event-listener", "pin-project-lite", @@ -825,9 +825,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", "hashbrown 0.15.2", @@ -852,10 +852,11 @@ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -952,15 +953,15 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.166" +version = "0.2.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ccc108bbc0b1331bd061864e7cd823c0cab660bbe6970e66e2c0614decde36" +checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" [[package]] name = "libloading" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", "windows-targets", @@ -1271,7 +1272,7 @@ dependencies = [ [[package]] name = "process-data" -version = "1.7.0" +version = "1.7.1" dependencies = [ "anyhow", "glob", @@ -1327,7 +1328,7 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "resources" -version = "1.7.0" +version = "1.7.1" dependencies = [ "anyhow", "async-channel", @@ -1522,9 +1523,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.89" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -1710,9 +1711,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" dependencies = [ "cfg-if", "once_cell", @@ -1721,9 +1722,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" dependencies = [ "bumpalo", "log", @@ -1736,9 +1737,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1746,9 +1747,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" dependencies = [ "proc-macro2", "quote", @@ -1759,15 +1760,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" [[package]] name = "web-sys" -version = "0.3.72" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" dependencies = [ "js-sys", "wasm-bindgen", diff --git a/Cargo.toml b/Cargo.toml index eca31b1..a77d21a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "resources" -version = "1.7.0" +version = "1.7.1" authors = ["nokyan "] edition = "2021" rust-version = "1.80.0" @@ -18,14 +18,14 @@ opt-level = 3 [dependencies] adw = { version = "0.7.1", features = ["v1_6"], package = "libadwaita" } -anyhow = { version = "1.0.93", features = ["backtrace"] } +anyhow = { version = "1.0.94", features = ["backtrace"] } async-channel = "2.3.1" -clap = { version = "4.5.21", features = ["derive"] } +clap = { version = "4.5.23", features = ["derive"] } gettext-rs = { version = "0.7.2", features = ["gettext-system"] } glob = "0.3.1" gtk = { version = "0.9.4", features = ["v4_10"], package = "gtk4" } lazy-regex = "3.3.0" -libc = { version = "0.2.162", features = ["extra_traits"] } +libc = { version = "0.2.167", features = ["extra_traits"] } log = "0.4.22" nix = { version = "0.29.0", default-features = false, features = [ "signal", diff --git a/data/net.nokyan.Resources.metainfo.xml.in.in b/data/net.nokyan.Resources.metainfo.xml.in.in index 1435e79..0c01e76 100644 --- a/data/net.nokyan.Resources.metainfo.xml.in.in +++ b/data/net.nokyan.Resources.metainfo.xml.in.in @@ -80,6 +80,18 @@ + + https://github.com/nokyan/resources/releases/tag/v1.7.1 + +

+ Resources 1.7.1 has been published including a hotfix for a critical bug and a small improvement for network interface detection: +

+
    +
  • GPU, encoder and decoder usage stats for NVIDIA GPUs were displayed as 0% most of the time
  • +
  • Improved detection for VPN tunnels
  • +
+
+
https://github.com/nokyan/resources/releases/tag/v1.7.0 diff --git a/lib/process_data/Cargo.toml b/lib/process_data/Cargo.toml index 8d673c0..52489eb 100644 --- a/lib/process_data/Cargo.toml +++ b/lib/process_data/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "process-data" -version = "1.7.0" +version = "1.7.1" authors = ["nokyan "] edition = "2021" rust-version = "1.80.0" @@ -17,10 +17,10 @@ strip = true opt-level = 3 [dependencies] -anyhow = "1.0.93" +anyhow = "1.0.94" glob = "0.3.1" lazy-regex = "3.3.0" -libc = "0.2.166" +libc = "0.2.167" num_cpus = "1.16.0" nutype = { version = "0.5.0", features = ["serde"] } nvml-wrapper = "0.10.0" diff --git a/meson.build b/meson.build index 3918d48..b8ceb32 100644 --- a/meson.build +++ b/meson.build @@ -1,7 +1,7 @@ project( 'resources', 'rust', - version: '1.7.0', + version: '1.7.1', meson_version: '>= 0.59', ) @@ -13,7 +13,7 @@ base_id = 'net.nokyan.Resources' dependency('glib-2.0', version: '>= 2.66') dependency('gio-2.0', version: '>= 2.66') dependency('gtk4', version: '>= 4.10.0') -dependency('libadwaita-1', version: '>= 1.5.0') +dependency('libadwaita-1', version: '>= 1.6.0') glib_compile_resources = find_program('glib-compile-resources', required: true) glib_compile_schemas = find_program('glib-compile-schemas', required: true) @@ -37,10 +37,11 @@ gettext_package = meson.project_name() if get_option('profile') == 'development' profile = 'Devel' vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip() - if vcs_tag == '' + vcs_branch = run_command('git', 'rev-parse', '--abbrev-ref', 'HEAD').stdout().strip() + if vcs_tag == '' or vcs_branch == '' version_suffix = '-devel' else - version_suffix = '-@0@'.format(vcs_tag) + version_suffix = '-@0@/@1@'.format(vcs_branch, vcs_tag) endif application_id = '@0@.@1@'.format(base_id, profile) else diff --git a/src/ui/window.rs b/src/ui/window.rs index 582c774..0a409b4 100644 --- a/src/ui/window.rs +++ b/src/ui/window.rs @@ -44,6 +44,7 @@ mod imp { use std::{cell::RefCell, collections::HashMap}; use crate::{ + config::VERSION, ui::{ pages::{ applications::ResApplications, cpu::ResCPU, memory::ResMemory, @@ -159,6 +160,9 @@ mod imp { // Devel Profile if PROFILE == "Devel" { obj.add_css_class("devel"); + obj.set_title(Some( + &format!("{} ({})", obj.title().unwrap_or_default(), VERSION).trim(), + )); } // Load latest window state @@ -302,11 +306,9 @@ impl MainWindow { } } - fn init_gpu_pages(self: &MainWindow) -> Vec { + fn init_gpu_pages(self: &MainWindow, gpus: &[Gpu]) { let imp = self.imp(); - let gpus = Gpu::get_gpus().unwrap_or_default(); - for (i, gpu) in gpus.iter().enumerate() { let page = ResGPU::new(); @@ -330,8 +332,6 @@ impl MainWindow { .borrow_mut() .insert(gpu.pci_slot(), (gpu.clone(), added_page)); } - - gpus } fn init_npu_pages(self: &MainWindow) -> Vec { @@ -372,6 +372,10 @@ impl MainWindow { let gpus = Gpu::get_gpus().unwrap_or_default(); + if !ARGS.disable_gpu_monitoring { + self.init_gpu_pages(&gpus); + } + imp.resources_sidebar.set_stack(&imp.content_stack); if SETTINGS.show_search_on_start() { @@ -419,10 +423,6 @@ impl MainWindow { imp.memory.init(); } - if !ARGS.disable_gpu_monitoring { - self.init_gpu_pages(); - } - if !ARGS.disable_npu_monitoring { self.init_npu_pages(); } diff --git a/src/utils/gpu/mod.rs b/src/utils/gpu/mod.rs index e47d82d..2896cbb 100644 --- a/src/utils/gpu/mod.rs +++ b/src/utils/gpu/mod.rs @@ -58,20 +58,11 @@ impl GpuData { trace!("Gathering GPU data for {}…", pci_slot); - let usage_fraction = gpu - .usage() - .map(|usage| (usage / 100.0).clamp(0.0, 1.0)) - .ok(); - - let encode_fraction = gpu - .encode_usage() - .map(|usage| (usage / 100.0).clamp(0.0, 1.0)) - .ok(); - - let decode_fraction = gpu - .decode_usage() - .map(|usage| (usage / 100.0).clamp(0.0, 1.0)) - .ok(); + let usage_fraction = gpu.usage().map(|usage| usage.clamp(0.0, 1.0)).ok(); + + let encode_fraction = gpu.encode_usage().map(|usage| usage.clamp(0.0, 1.0)).ok(); + + let decode_fraction = gpu.decode_usage().map(|usage| usage.clamp(0.0, 1.0)).ok(); let total_vram = gpu.total_vram().ok(); let used_vram = gpu.used_vram().ok();