From 809643373648c510788706404d5ec00ba714baba Mon Sep 17 00:00:00 2001 From: Steffen Winter Date: Tue, 5 Dec 2023 02:34:24 +0100 Subject: [PATCH 1/7] Fix printed model name for older Intel CPU --- src/linux/btop_collect.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/linux/btop_collect.cpp b/src/linux/btop_collect.cpp index 4bb5e71..ab4574f 100644 --- a/src/linux/btop_collect.cpp +++ b/src/linux/btop_collect.cpp @@ -339,7 +339,7 @@ namespace Cpu { } - auto name_vec = ssplit(name); + auto name_vec = ssplit(name, ' '); if ((s_contains(name, "Xeon"s) or v_contains(name_vec, "Duo"s)) and v_contains(name_vec, "CPU"s)) { auto cpu_pos = v_index(name_vec, "CPU"s); @@ -355,7 +355,7 @@ namespace Cpu { } else if (s_contains(name, "Intel"s) and v_contains(name_vec, "CPU"s)) { auto cpu_pos = v_index(name_vec, "CPU"s); - if (cpu_pos < name_vec.size() - 1 and not name_vec.at(cpu_pos + 1).ends_with(')') and name_vec.at(cpu_pos + 1) != "@") + if (cpu_pos < name_vec.size() - 1 and not name_vec.at(cpu_pos + 1).ends_with(')') and name_vec.at(cpu_pos + 1).size() != 1) name = name_vec.at(cpu_pos + 1); else name.clear(); From 23698940df1b387d131a250f754f3f47b8480833 Mon Sep 17 00:00:00 2001 From: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:23:58 +0100 Subject: [PATCH 2/7] strip "Apple" from name of Apple silicon chips --- src/osx/btop_collect.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/osx/btop_collect.cpp b/src/osx/btop_collect.cpp index 0a1f338..4e8a692 100644 --- a/src/osx/btop_collect.cpp +++ b/src/osx/btop_collect.cpp @@ -227,6 +227,9 @@ namespace Cpu { name = name_vec.at(cpu_pos + 1); else name.clear(); + } else if (v_contains(name_vec, "Apple"s)) { + auto apple_pos = v_index(name_vec, "Apple"s); + name = (apple_pos < name_vec.size() - 1 ? name_vec.at(apple_pos + 1) : ""); } else name.clear(); From aeefcacbc9c48aa5fad658b07f046d20a0b863c7 Mon Sep 17 00:00:00 2001 From: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:34:11 +0100 Subject: [PATCH 3/7] fix cpu version not included --- src/osx/btop_collect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/osx/btop_collect.cpp b/src/osx/btop_collect.cpp index 4e8a692..f18ca93 100644 --- a/src/osx/btop_collect.cpp +++ b/src/osx/btop_collect.cpp @@ -229,7 +229,7 @@ namespace Cpu { name.clear(); } else if (v_contains(name_vec, "Apple"s)) { auto apple_pos = v_index(name_vec, "Apple"s); - name = (apple_pos < name_vec.size() - 1 ? name_vec.at(apple_pos + 1) : ""); + name = (apple_pos < name_vec.size() - 1 ? name_vec.at(apple_pos + 1) : "") + ' ' + (apple_pos < name_vec.size() - 1 ? name_vec.at(apple_pos + 2) : ""); } else name.clear(); From bcf4ad8ab6a8b69f17ad7936a36595f15dbc0953 Mon Sep 17 00:00:00 2001 From: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:50:12 +0100 Subject: [PATCH 4/7] fix array out of bounds on regular m chip --- src/osx/btop_collect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/osx/btop_collect.cpp b/src/osx/btop_collect.cpp index f18ca93..a5408e2 100644 --- a/src/osx/btop_collect.cpp +++ b/src/osx/btop_collect.cpp @@ -229,7 +229,7 @@ namespace Cpu { name.clear(); } else if (v_contains(name_vec, "Apple"s)) { auto apple_pos = v_index(name_vec, "Apple"s); - name = (apple_pos < name_vec.size() - 1 ? name_vec.at(apple_pos + 1) : "") + ' ' + (apple_pos < name_vec.size() - 1 ? name_vec.at(apple_pos + 2) : ""); + name = (apple_pos < name_vec.size() - 1 ? name_vec.at(apple_pos + 1) : "") + (apple_pos < name_vec.size() - 1 && name_vec.size() > 2 ? ' ' + name_vec.at(apple_pos + 2) : ""); } else name.clear(); From 1b2f11b41234f7cdf83212c81cdbf086f491049d Mon Sep 17 00:00:00 2001 From: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu, 7 Dec 2023 20:49:34 +0100 Subject: [PATCH 5/7] cut less of cpu name if frequency is not shown --- src/btop_draw.cpp | 6 +++++- src/btop_shared.hpp | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/btop_draw.cpp b/src/btop_draw.cpp index edb1eec..5ae357e 100644 --- a/src/btop_draw.cpp +++ b/src/btop_draw.cpp @@ -2063,7 +2063,11 @@ namespace Draw { box = createBox(x, y, width, height, Theme::c("cpu_box"), true, (cpu_bottom ? "" : "cpu"), (cpu_bottom ? "cpu" : ""), 1); auto& custom = Config::getS("custom_cpu_name"); - const string cpu_title = uresize((custom.empty() ? Cpu::cpuName : custom) , b_width - 14); + static const bool hasCpuHz = not Cpu::get_cpuHz().empty(); + const string cpu_title = uresize( + (custom.empty() ? Cpu::cpuName : custom), + b_width - (Config::getB("show_cpu_freq") and hasCpuHz ? 14 : 4) + ); box += createBox(b_x, b_y, b_width, b_height, "", false, cpu_title); } diff --git a/src/btop_shared.hpp b/src/btop_shared.hpp index 383e189..017c7f8 100644 --- a/src/btop_shared.hpp +++ b/src/btop_shared.hpp @@ -210,6 +210,8 @@ namespace Cpu { auto get_core_mapping() -> unordered_flat_map; extern unordered_flat_map core_mapping; + auto get_cpuHz() -> string; + //* Get battery info from /sys auto get_battery() -> tuple; } From 5beb9e12e5645e64644eb8465b097468172e244f Mon Sep 17 00:00:00 2001 From: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu, 7 Dec 2023 20:56:40 +0100 Subject: [PATCH 6/7] in case apple decides to add another suffix to the cpu name --- src/osx/btop_collect.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/osx/btop_collect.cpp b/src/osx/btop_collect.cpp index a5408e2..9ad107c 100644 --- a/src/osx/btop_collect.cpp +++ b/src/osx/btop_collect.cpp @@ -229,7 +229,9 @@ namespace Cpu { name.clear(); } else if (v_contains(name_vec, "Apple"s)) { auto apple_pos = v_index(name_vec, "Apple"s); - name = (apple_pos < name_vec.size() - 1 ? name_vec.at(apple_pos + 1) : "") + (apple_pos < name_vec.size() - 1 && name_vec.size() > 2 ? ' ' + name_vec.at(apple_pos + 2) : ""); + name = (apple_pos < name_vec.size() - 1 ? name_vec.at(apple_pos + 1) : "") + + (apple_pos < name_vec.size() - 1 && name_vec.size() > 2 ? ' ' + name_vec.at(apple_pos + 2) : "") + + (apple_pos < name_vec.size() - 1 && name_vec.size() > 3 ? ' ' + name_vec.at(apple_pos + 3) : ""); } else name.clear(); From 5902484f39fea0751093368e3181ac8cbe37e9a6 Mon Sep 17 00:00:00 2001 From: masiboss <32394683+masiboss@users.noreply.github.com> Date: Thu, 7 Dec 2023 21:42:11 +0100 Subject: [PATCH 7/7] simplify removal of "Apple" --- src/osx/btop_collect.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/osx/btop_collect.cpp b/src/osx/btop_collect.cpp index 9ad107c..e410c74 100644 --- a/src/osx/btop_collect.cpp +++ b/src/osx/btop_collect.cpp @@ -227,11 +227,6 @@ namespace Cpu { name = name_vec.at(cpu_pos + 1); else name.clear(); - } else if (v_contains(name_vec, "Apple"s)) { - auto apple_pos = v_index(name_vec, "Apple"s); - name = (apple_pos < name_vec.size() - 1 ? name_vec.at(apple_pos + 1) : "") - + (apple_pos < name_vec.size() - 1 && name_vec.size() > 2 ? ' ' + name_vec.at(apple_pos + 2) : "") - + (apple_pos < name_vec.size() - 1 && name_vec.size() > 3 ? ' ' + name_vec.at(apple_pos + 3) : ""); } else name.clear(); @@ -241,7 +236,7 @@ namespace Cpu { name += n + ' '; } name.pop_back(); - for (const auto& replace : {"Processor", "CPU", "(R)", "(TM)", "Intel", "AMD", "Core"}) { + for (const auto& replace : {"Processor", "CPU", "(R)", "(TM)", "Intel", "AMD", "Apple", "Core"}) { name = s_replace(name, replace, ""); name = s_replace(name, " ", " "); }