Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 11 additions & 15 deletions src/Resources/CPU.vala
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ public class Monitor.CPU : Object {
public uint ? revision;

public string ? model_name;
public uint physical_cpus;
public uint physical_cores_per_cpu;
public uint logical_threads_per_cpu;
public string ? model;
public string ? family;
public string ? microcode;
Expand Down Expand Up @@ -77,7 +80,7 @@ public class Monitor.CPU : Object {

parse_cpuinfo ();

model_name = get_cpu_info ();
model_name = get_cpu_info (out physical_cpus, out physical_cores_per_cpu, out logical_threads_per_cpu);

debug ("CPU name: %s", model_name);

Expand Down Expand Up @@ -259,7 +262,7 @@ public class Monitor.CPU : Object {
}

// straight from elementary about-plug
private string ? get_cpu_info () {
private string ? get_cpu_info (out uint cpus, out uint cores, out uint threads) {
unowned GTop.SysInfo ? info = GTop.glibtop_get_sysinfo ();

if (info == null) {
Expand Down Expand Up @@ -307,21 +310,14 @@ public class Monitor.CPU : Object {

string result = "";
foreach (var cpu in counts.entries) {
if (result.length > 0) {
result += "\n";
}

if (cpu.@value == 2) {
result += _("Dual-Core %s").printf ((cpu.key));
} else if (cpu.@value == 4) {
result += _("Quad-Core %s").printf ((cpu.key));
} else if (cpu.@value == 6) {
result += _("Hexa-Core %s").printf ((cpu.key));
} else {
result += "%u\u00D7 %s ".printf (cpu.@value, (cpu.key));
}
result += "%s".printf ((cpu.key));
cores = cpu.@value;
break;
}

cpus = counts.size;
threads = (uint) info.ncpu / cpus;

return Utils.Strings.beautify (result);
}
}
4 changes: 4 additions & 0 deletions src/Views/SystemView/SystemCPUInfoPopover.vala
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ public class Monitor.SystemCPUInfoPopover : Gtk.Box {
activate_on_single_click = false
};

listbox.append (label (_("CPUs:") + " %u".printf (cpu.physical_cpus)));
listbox.append (label (_("Cores per CPU:") + " %u".printf (cpu.physical_cores_per_cpu)));
listbox.append (label (_("Threads per CPU:") + " %u".printf (cpu.logical_threads_per_cpu)));
listbox.append (label (_("Model:") + " " + cpu.model));
listbox.append (label (_("Model:") + " " + cpu.model));
listbox.append (label (_("Family:") + " " + cpu.family));
listbox.append (label (_("Microcode ver.:") + " " + cpu.microcode));
Expand Down
Loading