- fix runtime check for IPG framework

- add CPU frequency to the popup view
This commit is contained in:
Serhiy Mytrovtsiy
2020-10-15 16:38:19 +02:00
parent 40c436252e
commit 52c8871573
6 changed files with 266 additions and 255 deletions

View File

@@ -17,7 +17,6 @@
#include <stdlib.h>
#include <sched.h>
#if __has_include(<IntelPowerGadget/PowerGadgetLib.h>)
#include <IntelPowerGadget/PowerGadgetLib.h>
pthread_t thread_id;
@@ -28,6 +27,12 @@ double max;
PGSampleID sampleID_1;
PGSampleID sampleID_2;
extern bool PG_Initialize(void) __attribute__((weak_import));
static inline bool intelPowerGadgetIsAvailable() {
return (PG_Initialize != NULL);
}
void *listener () {
while(stop == false) {
PG_ReadSample(0, &sampleID_1);
@@ -44,17 +49,29 @@ void *listener () {
}
void PG_start() {
if (intelPowerGadgetIsAvailable() == false) {
return;
}
stop = false;
PG_Initialize();
pthread_create(&thread_id, NULL, listener, NULL);
}
void PG_stop() {
if (intelPowerGadgetIsAvailable() == false) {
return;
}
stop = true;
PG_Shutdown();
}
double* PG_getCPUFrequency() {
if (intelPowerGadgetIsAvailable() == false) {
return NULL;
}
if (stop == true || CPUFrequency == 0) {
return NULL;
} else {
@@ -62,11 +79,3 @@ double* PG_getCPUFrequency() {
}
return NULL;
}
#else
void PG_start() {}
void PG_stop() {}
double* PG_getCPUFrequency() {
return NULL;
}
#endif

View File

@@ -9,13 +9,6 @@
// Copyright © 2020 Serhiy Mytrovtsiy. All rights reserved.
//
#ifndef CPU_h
#define CPU_h
#include <stdio.h>
#endif /* CPU_h */
void PG_start(void);
void PG_stop(void);

View File

@@ -100,10 +100,9 @@ public class CPU: Module {
if let readFrequency = PG_getCPUFrequency() {
frequency = readFrequency.pointee
}
print(frequency ?? 0)
let temperature = self.smc?.pointee.getValue("TC0C") ?? self.smc?.pointee.getValue("TC0D") ?? self.smc?.pointee.getValue("TC0P") ?? self.smc?.pointee.getValue("TC0E")
self.popupView.loadCallback(value!, tempValue: temperature)
self.popupView.loadCallback(value!, tempValue: temperature, frequency: frequency)
if let widget = self.widget as? Mini {
widget.setValue(value!.totalUsage, sufix: "%")

View File

@@ -31,10 +31,12 @@ internal class Popup: NSView {
private var chart: LineChartView? = nil
private var circle: CircleGraphView? = nil
private var temperatureCircle: HalfCircleGraphView? = nil
private var frequencyCircle: HalfCircleGraphView? = nil
private var initialized: Bool = false
private var processesInitialized: Bool = false
private var processes: [ProcessView] = []
private var maxFreq: Double = 0
public init(_ title: String, store: UnsafePointer<Store>) {
self.store = store
@@ -75,8 +77,13 @@ internal class Popup: NSView {
self.temperatureCircle = HalfCircleGraphView(frame: NSRect(x: (sideWidth - 60)/2, y: 10, width: 60, height: 50))
self.temperatureCircle!.toolTip = LocalizedString("CPU temperature")
self.frequencyCircle = HalfCircleGraphView(frame: NSRect(x: view.frame.width - 60 - Constants.Popup.margins*2, y: 10, width: 60, height: 50))
self.frequencyCircle!.toolTip = LocalizedString("CPU frequency")
(self.frequencyCircle! as NSView).isHidden = true
view.addSubview(self.temperatureCircle!)
view.addSubview(container)
view.addSubview(self.frequencyCircle!)
self.addSubview(view)
}
@@ -150,7 +157,7 @@ internal class Popup: NSView {
return valueView
}
public func loadCallback(_ value: CPU_Load, tempValue: Double?) {
public func loadCallback(_ value: CPU_Load, tempValue: Double?, frequency: Double?) {
DispatchQueue.main.async(execute: {
if (self.window?.isVisible ?? false) || !self.initialized {
self.systemField?.stringValue = "\(Int(value.systemLoad.rounded(toPlaces: 2) * 100)) %"
@@ -170,6 +177,17 @@ internal class Popup: NSView {
self.temperatureCircle?.setValue(tempValue!)
self.temperatureCircle?.setText(Temperature(tempValue!))
}
if let freq = frequency {
if freq > self.maxFreq {
self.maxFreq = freq
}
if let freqCircle = self.frequencyCircle {
freqCircle.setValue((100*freq)/self.maxFreq)
freqCircle.setText("\((freq/1000).rounded(toPlaces: 2))\nGHz")
(freqCircle as NSView).isHidden = false
}
}
}
self.chart?.addValue(value.totalUsage)
})

View File

@@ -16,16 +16,12 @@
9A0C82EA24460FB100FAE3D4 /* StatsKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0C82DA24460F7200FAE3D4 /* StatsKit.framework */; };
9A0C82EB24460FB100FAE3D4 /* StatsKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0C82DA24460F7200FAE3D4 /* StatsKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9A0C82EE2446124800FAE3D4 /* SystemKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A7D0CB62444C2C800B09070 /* SystemKit.swift */; };
9A17EF4A2536440B003F1C19 /* CPU.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A17EF482536440B003F1C19 /* CPU.h */; settings = {ATTRIBUTES = (Public, ); }; };
9A17EF4B2536440B003F1C19 /* CPU.c in Sources */ = {isa = PBXBuildFile; fileRef = 9A17EF492536440B003F1C19 /* CPU.c */; };
9A1A7ABA24561F0B00A84F7A /* BarChart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A1A7AB924561F0B00A84F7A /* BarChart.swift */; };
9A1D5E4B25235C8100B82BFC /* helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A1D5E4A25235C8100B82BFC /* helpers.swift */; };
9A313BF7247EF01800DB5101 /* Reachability.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5349CD23D8832E00C23824 /* Reachability.framework */; };
9A313BF8247EF01800DB5101 /* Reachability.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5349CD23D8832E00C23824 /* Reachability.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9A34353B243E278D006B19F9 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A34353A243E278D006B19F9 /* main.swift */; };
9A34353C243E27E8006B19F9 /* LaunchAtLogin.app in Copy Files */ = {isa = PBXBuildFile; fileRef = 9A343527243E26A0006B19F9 /* LaunchAtLogin.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
9A3E17BD247A8F5700449CD1 /* StatsKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0C82DA24460F7200FAE3D4 /* StatsKit.framework */; settings = {ATTRIBUTES = (Required, ); }; };
9A3E17BE247A8F5700449CD1 /* StatsKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0C82DA24460F7200FAE3D4 /* StatsKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9A3E17C1247A8F5E00449CD1 /* StatsKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0C82DA24460F7200FAE3D4 /* StatsKit.framework */; };
9A3E17C2247A8F5E00449CD1 /* StatsKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0C82DA24460F7200FAE3D4 /* StatsKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9A3E17D3247A94AF00449CD1 /* Net.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A3E17CC247A94AF00449CD1 /* Net.framework */; };
@@ -71,35 +67,40 @@
9A90E19E24EAD3E300471E9A /* StatsKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0C82DA24460F7200FAE3D4 /* StatsKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9A90E1A324EAD66600471E9A /* reader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A90E1A224EAD66600471E9A /* reader.swift */; };
9A944D55244920690058F32A /* reader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A944D54244920690058F32A /* reader.swift */; };
9A944D59244920FE0058F32A /* readers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A944D58244920FE0058F32A /* readers.swift */; };
9A944D5B244925720058F32A /* widget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A944D5A244925720058F32A /* widget.swift */; };
9A944D5D24492A8B0058F32A /* popup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A944D5C24492A8B0058F32A /* popup.swift */; };
9A944D5F24492AA60058F32A /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A944D5E24492AA60058F32A /* Constants.swift */; };
9A944D6124492B6D0058F32A /* popup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A944D6024492B6D0058F32A /* popup.swift */; };
9A953A1424B9D22D0038EF4B /* settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A953A1324B9D22D0038EF4B /* settings.swift */; };
9A97CECE2537331B00742D8F /* CPU.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A97CECC2537331B00742D8F /* CPU.h */; settings = {ATTRIBUTES = (Public, ); }; };
9A97CED12537331B00742D8F /* CPU.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A97CECA2537331B00742D8F /* CPU.framework */; };
9A97CED22537331B00742D8F /* CPU.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9A97CECA2537331B00742D8F /* CPU.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9A97CEE92537338600742D8F /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A97CEE82537338600742D8F /* main.swift */; };
9A97CEF1253733D200742D8F /* readers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A97CEF0253733D200742D8F /* readers.swift */; };
9A97CEF6253733E400742D8F /* popup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A97CEF5253733E400742D8F /* popup.swift */; };
9A97CEFB253733F300742D8F /* settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A97CEFA253733F300742D8F /* settings.swift */; };
9A97CF002537340400742D8F /* config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9A97CEFF2537340400742D8F /* config.plist */; };
9A97CF072537351600742D8F /* ModuleKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AABEADD243FB13500668CB0 /* ModuleKit.framework */; };
9A97CF082537351600742D8F /* ModuleKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9AABEADD243FB13500668CB0 /* ModuleKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9A97CF0C2537351800742D8F /* StatsKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0C82DA24460F7200FAE3D4 /* StatsKit.framework */; };
9A97CF0D2537351800742D8F /* StatsKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0C82DA24460F7200FAE3D4 /* StatsKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9A97CF122537352100742D8F /* IntelPowerGadget.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A97CE2A25371B2300742D8F /* IntelPowerGadget.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
9A97CF2A25373C8400742D8F /* CPU.c in Sources */ = {isa = PBXBuildFile; fileRef = 9A97CF2925373C8400742D8F /* CPU.c */; };
9A9B25BB24F7DE2B00C3CCE6 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9A9B25BD24F7DE2B00C3CCE6 /* Localizable.strings */; };
9A9D728A24471FAE005CF997 /* SMC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A9D728924471FAE005CF997 /* SMC.swift */; };
9A9EA9452476D34500E3B883 /* Update.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A9EA9442476D34500E3B883 /* Update.swift */; };
9AA4A00A2443656D00ECCF07 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9AA4A0092443656D00ECCF07 /* Assets.xcassets */; };
9AA64260244B274200416A33 /* popup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA6425F244B274200416A33 /* popup.swift */; };
9AA64262244B57C800416A33 /* settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA64261244B57C800416A33 /* settings.swift */; };
9AA64264244B94F300416A33 /* LineChart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA64263244B94F300416A33 /* LineChart.swift */; };
9AA95A6424DD7C6300801B69 /* Bridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AA95A6324DD7C6300801B69 /* Bridge.h */; };
9AABEAE4243FB13500668CB0 /* ModuleKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AABEADD243FB13500668CB0 /* ModuleKit.framework */; };
9AABEAE5243FB13500668CB0 /* ModuleKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9AABEADD243FB13500668CB0 /* ModuleKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9AABEAEA243FB15E00668CB0 /* module.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AABEAE9243FB15E00668CB0 /* module.swift */; };
9AABEB6B243FCE8A00668CB0 /* CPU.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AABEB64243FCE8A00668CB0 /* CPU.framework */; };
9AABEB6C243FCE8A00668CB0 /* CPU.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9AABEB64243FCE8A00668CB0 /* CPU.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9AABEB71243FCE9400668CB0 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AABEB70243FCE9400668CB0 /* main.swift */; };
9AABEB72243FCEEF00668CB0 /* ModuleKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AABEADD243FB13500668CB0 /* ModuleKit.framework */; };
9AABEB73243FCEEF00668CB0 /* ModuleKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9AABEADD243FB13500668CB0 /* ModuleKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9AABEB7A243FD26200668CB0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AABEB79243FD26200668CB0 /* AppDelegate.swift */; };
9AABEB7E243FDEF100668CB0 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AABEB7D243FDEF100668CB0 /* main.swift */; };
9AB14B77248CEF3500DC6731 /* config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9AF9EE192464A7B3005D2270 /* config.plist */; };
9AB14B78248CEF3B00DC6731 /* config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9AF9EE12246492E8005D2270 /* config.plist */; };
9AB14B79248CEF4100DC6731 /* config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9A3E17DC247A94C300449CD1 /* config.plist */; };
9AB14B7A248CEF4900DC6731 /* config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9ABFF904248BEC0B00C9041A /* config.plist */; };
9AB14B7B248CF00F00DC6731 /* config.plist in Resources */ = {isa = PBXBuildFile; fileRef = 9AF9EE1B2464A7BA005D2270 /* config.plist */; };
9AB7FD7C246B48DB00387FDA /* settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AB7FD7B246B48DB00387FDA /* settings.swift */; };
9ABFF8FD248BEBCB00C9041A /* Battery.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9ABFF8F6248BEBCB00C9041A /* Battery.framework */; };
9ABFF8FE248BEBCB00C9041A /* Battery.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9ABFF8F6248BEBCB00C9041A /* Battery.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
@@ -149,13 +150,6 @@
remoteGlobalIDString = 9A0C82D924460F7200FAE3D4;
remoteInfo = StatsKit;
};
9A3E17BF247A8F5700449CD1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 9A1410ED229E721100D29793 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 9A0C82D924460F7200FAE3D4;
remoteInfo = StatsKit;
};
9A3E17C3247A8F5E00449CD1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 9A1410ED229E721100D29793 /* Project object */;
@@ -226,21 +220,28 @@
remoteGlobalIDString = 9A0C82D924460F7200FAE3D4;
remoteInfo = StatsKit;
};
9AABEAE2243FB13500668CB0 /* PBXContainerItemProxy */ = {
9A97CECF2537331B00742D8F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 9A1410ED229E721100D29793 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 9A97CEC92537331B00742D8F;
remoteInfo = CPU;
};
9A97CF092537351600742D8F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 9A1410ED229E721100D29793 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 9AABEADC243FB13500668CB0;
remoteInfo = ModuleKit;
};
9AABEB69243FCE8A00668CB0 /* PBXContainerItemProxy */ = {
9A97CF0E2537351800742D8F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 9A1410ED229E721100D29793 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 9AABEB63243FCE8A00668CB0;
remoteInfo = CPU;
remoteGlobalIDString = 9A0C82D924460F7200FAE3D4;
remoteInfo = StatsKit;
};
9AABEB74243FCEEF00668CB0 /* PBXContainerItemProxy */ = {
9AABEAE2243FB13500668CB0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 9A1410ED229E721100D29793 /* Project object */;
proxyType = 1;
@@ -341,11 +342,11 @@
9A81C75E2449A41400825D92 /* Memory.framework in Embed Frameworks */,
9AE29ADD249A50350071B02D /* Sensors.framework in Embed Frameworks */,
9ABFF8FE248BEBCB00C9041A /* Battery.framework in Embed Frameworks */,
9AABEB6C243FCE8A00668CB0 /* CPU.framework in Embed Frameworks */,
9AABEAE5243FB13500668CB0 /* ModuleKit.framework in Embed Frameworks */,
9A3E17D4247A94AF00449CD1 /* Net.framework in Embed Frameworks */,
9A0C82E224460F7200FAE3D4 /* StatsKit.framework in Embed Frameworks */,
9A90E19124EAD2BB00471E9A /* GPU.framework in Embed Frameworks */,
9A97CED22537331B00742D8F /* CPU.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -374,14 +375,14 @@
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
9AABEB76243FCEEF00668CB0 /* Embed Frameworks */ = {
9A97CF0B2537351600742D8F /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 12;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
9AABEB73243FCEEF00668CB0 /* ModuleKit.framework in Embed Frameworks */,
9A3E17BE247A8F5700449CD1 /* StatsKit.framework in Embed Frameworks */,
9A97CF082537351600742D8F /* ModuleKit.framework in Embed Frameworks */,
9A97CF0D2537351800742D8F /* StatsKit.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -457,8 +458,6 @@
9A1410F5229E721100D29793 /* Stats.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Stats.app; sourceTree = BUILT_PRODUCTS_DIR; };
9A141101229E721200D29793 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
9A17EECB25363D5F003F1C19 /* IntelPowerGadget.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IntelPowerGadget.framework; path = System/Library/Frameworks/IntelPowerGadget.framework; sourceTree = "<group>"; };
9A17EF482536440B003F1C19 /* CPU.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPU.h; sourceTree = "<group>"; };
9A17EF492536440B003F1C19 /* CPU.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = CPU.c; sourceTree = "<group>"; };
9A1A7AB924561F0B00A84F7A /* BarChart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BarChart.swift; sourceTree = "<group>"; };
9A1D5E4A25235C8100B82BFC /* helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = helpers.swift; sourceTree = "<group>"; };
9A343527243E26A0006B19F9 /* LaunchAtLogin.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LaunchAtLogin.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -501,12 +500,20 @@
9A90E19724EAD3B000471E9A /* config.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = config.plist; sourceTree = "<group>"; };
9A90E1A224EAD66600471E9A /* reader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = reader.swift; sourceTree = "<group>"; };
9A944D54244920690058F32A /* reader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = reader.swift; sourceTree = "<group>"; };
9A944D58244920FE0058F32A /* readers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = readers.swift; sourceTree = "<group>"; };
9A944D5A244925720058F32A /* widget.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = widget.swift; sourceTree = "<group>"; };
9A944D5C24492A8B0058F32A /* popup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = popup.swift; sourceTree = "<group>"; };
9A944D5E24492AA60058F32A /* Constants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = "<group>"; };
9A944D6024492B6D0058F32A /* popup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = popup.swift; sourceTree = "<group>"; };
9A953A1324B9D22D0038EF4B /* settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = settings.swift; sourceTree = "<group>"; };
9A97CE2A25371B2300742D8F /* IntelPowerGadget.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IntelPowerGadget.framework; path = ../../../Library/Frameworks/IntelPowerGadget.framework; sourceTree = "<group>"; };
9A97CECA2537331B00742D8F /* CPU.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CPU.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9A97CECC2537331B00742D8F /* CPU.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPU.h; sourceTree = "<group>"; };
9A97CECD2537331B00742D8F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
9A97CEE82537338600742D8F /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
9A97CEF0253733D200742D8F /* readers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = readers.swift; sourceTree = "<group>"; };
9A97CEF5253733E400742D8F /* popup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = popup.swift; sourceTree = "<group>"; };
9A97CEFA253733F300742D8F /* settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = settings.swift; sourceTree = "<group>"; };
9A97CEFF2537340400742D8F /* config.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = config.plist; sourceTree = "<group>"; };
9A97CF2925373C8400742D8F /* CPU.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = CPU.c; sourceTree = "<group>"; };
9A998CD722A199920087ADE7 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
9A998CD922A199970087ADE7 /* ServiceManagement.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ServiceManagement.framework; path = System/Library/Frameworks/ServiceManagement.framework; sourceTree = SDKROOT; };
9A9B25BC24F7DE2B00C3CCE6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
@@ -514,7 +521,6 @@
9A9EA9442476D34500E3B883 /* Update.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Update.swift; sourceTree = "<group>"; };
9AA4A0092443656D00ECCF07 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
9AA6425F244B274200416A33 /* popup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = popup.swift; sourceTree = "<group>"; };
9AA64261244B57C800416A33 /* settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = settings.swift; sourceTree = "<group>"; };
9AA64263244B94F300416A33 /* LineChart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LineChart.swift; sourceTree = "<group>"; };
9AA95A6324DD7C6300801B69 /* Bridge.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Bridge.h; sourceTree = "<group>"; };
9AAAE83524F953FC00CD92D7 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = "<group>"; };
@@ -522,9 +528,6 @@
9AABEADD243FB13500668CB0 /* ModuleKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ModuleKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9AABEAE0243FB13500668CB0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
9AABEAE9243FB15E00668CB0 /* module.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = module.swift; sourceTree = "<group>"; };
9AABEB64243FCE8A00668CB0 /* CPU.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CPU.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9AABEB67243FCE8A00668CB0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
9AABEB70243FCE9400668CB0 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
9AABEB79243FD26200668CB0 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
9AABEB7D243FDEF100668CB0 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
9AB7FD7B246B48DB00387FDA /* settings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = settings.swift; sourceTree = "<group>"; };
@@ -551,7 +554,6 @@
9AF9EE1024648ADC005D2270 /* readers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = readers.swift; sourceTree = "<group>"; };
9AF9EE12246492E8005D2270 /* config.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = config.plist; sourceTree = "<group>"; };
9AF9EE192464A7B3005D2270 /* config.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = config.plist; sourceTree = "<group>"; };
9AF9EE1B2464A7BA005D2270 /* config.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = config.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -573,8 +575,8 @@
9A81C75D2449A41400825D92 /* Memory.framework in Frameworks */,
9A0C82E124460F7200FAE3D4 /* StatsKit.framework in Frameworks */,
9A3E17D3247A94AF00449CD1 /* Net.framework in Frameworks */,
9AABEB6B243FCE8A00668CB0 /* CPU.framework in Frameworks */,
9A90E19024EAD2BB00471E9A /* GPU.framework in Frameworks */,
9A97CED12537331B00742D8F /* CPU.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -613,6 +615,16 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9A97CEC72537331B00742D8F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
9A97CF122537352100742D8F /* IntelPowerGadget.framework in Frameworks */,
9A97CF072537351600742D8F /* ModuleKit.framework in Frameworks */,
9A97CF0C2537351800742D8F /* StatsKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9AABEADA243FB13500668CB0 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -622,15 +634,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9AABEB61243FCE8A00668CB0 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
9AABEB72243FCEEF00668CB0 /* ModuleKit.framework in Frameworks */,
9A3E17BD247A8F5700449CD1 /* StatsKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9ABFF8F3248BEBCB00C9041A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -697,7 +700,6 @@
9A1410F5229E721100D29793 /* Stats.app */,
9A343527243E26A0006B19F9 /* LaunchAtLogin.app */,
9AABEADD243FB13500668CB0 /* ModuleKit.framework */,
9AABEB64243FCE8A00668CB0 /* CPU.framework */,
9A0C82DA24460F7200FAE3D4 /* StatsKit.framework */,
9A81C7562449A41400825D92 /* Memory.framework */,
9AF9EE0224648751005D2270 /* Disk.framework */,
@@ -705,6 +707,7 @@
9ABFF8F6248BEBCB00C9041A /* Battery.framework */,
9AE29AD5249A50350071B02D /* Sensors.framework */,
9A90E18924EAD2BB00471E9A /* GPU.framework */,
9A97CECA2537331B00742D8F /* CPU.framework */,
);
name = Products;
sourceTree = "<group>";
@@ -804,10 +807,26 @@
path = GPU;
sourceTree = "<group>";
};
9A97CECB2537331B00742D8F /* CPU */ = {
isa = PBXGroup;
children = (
9A97CEE82537338600742D8F /* main.swift */,
9A97CEF0253733D200742D8F /* readers.swift */,
9A97CEF5253733E400742D8F /* popup.swift */,
9A97CEFA253733F300742D8F /* settings.swift */,
9A97CECD2537331B00742D8F /* Info.plist */,
9A97CEFF2537340400742D8F /* config.plist */,
9A97CECC2537331B00742D8F /* CPU.h */,
9A97CF2925373C8400742D8F /* CPU.c */,
);
path = CPU;
sourceTree = "<group>";
};
9A998CD622A199920087ADE7 /* Frameworks */ = {
isa = PBXGroup;
children = (
9A17EECB25363D5F003F1C19 /* IntelPowerGadget.framework */,
9A97CE2A25371B2300742D8F /* IntelPowerGadget.framework */,
9A6549282440A57200E30B74 /* Repeat.framework */,
9A5349CD23D8832E00C23824 /* Reachability.framework */,
9A998CD922A199970087ADE7 /* ServiceManagement.framework */,
@@ -840,25 +859,10 @@
path = ModuleKit;
sourceTree = "<group>";
};
9AABEB65243FCE8A00668CB0 /* CPU */ = {
isa = PBXGroup;
children = (
9AABEB70243FCE9400668CB0 /* main.swift */,
9A944D58244920FE0058F32A /* readers.swift */,
9A944D6024492B6D0058F32A /* popup.swift */,
9AA64261244B57C800416A33 /* settings.swift */,
9AABEB67243FCE8A00668CB0 /* Info.plist */,
9AF9EE1B2464A7BA005D2270 /* config.plist */,
9A17EF482536440B003F1C19 /* CPU.h */,
9A17EF492536440B003F1C19 /* CPU.c */,
);
path = CPU;
sourceTree = "<group>";
};
9AB14B75248CEEC600DC6731 /* Modules */ = {
isa = PBXGroup;
children = (
9AABEB65243FCE8A00668CB0 /* CPU */,
9A97CECB2537331B00742D8F /* CPU */,
9A90E18A24EAD2BB00471E9A /* GPU */,
9A81C7572449A41400825D92 /* Memory */,
9AF9EE0324648751005D2270 /* Disk */,
@@ -941,6 +945,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9A97CEC52537331B00742D8F /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
9A97CECE2537331B00742D8F /* CPU.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9AABEAD8243FB13500668CB0 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@@ -948,14 +960,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9AABEB5F243FCE8A00668CB0 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
9A17EF4A2536440B003F1C19 /* CPU.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9ABFF8F1248BEBCB00C9041A /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@@ -1014,7 +1018,6 @@
);
dependencies = (
9AABEAE3243FB13500668CB0 /* PBXTargetDependency */,
9AABEB6A243FCE8A00668CB0 /* PBXTargetDependency */,
9A0C82E024460F7200FAE3D4 /* PBXTargetDependency */,
9A81C75C2449A41400825D92 /* PBXTargetDependency */,
9AF9EE0824648751005D2270 /* PBXTargetDependency */,
@@ -1022,6 +1025,7 @@
9ABFF8FC248BEBCB00C9041A /* PBXTargetDependency */,
9AE29ADB249A50350071B02D /* PBXTargetDependency */,
9A90E18F24EAD2BB00471E9A /* PBXTargetDependency */,
9A97CED02537331B00742D8F /* PBXTargetDependency */,
);
name = Stats;
productName = "Mini Stats";
@@ -1108,6 +1112,27 @@
productReference = 9A90E18924EAD2BB00471E9A /* GPU.framework */;
productType = "com.apple.product-type.framework";
};
9A97CEC92537331B00742D8F /* CPU */ = {
isa = PBXNativeTarget;
buildConfigurationList = 9A97CED32537331B00742D8F /* Build configuration list for PBXNativeTarget "CPU" */;
buildPhases = (
9A97CEC52537331B00742D8F /* Headers */,
9A97CEC62537331B00742D8F /* Sources */,
9A97CEC72537331B00742D8F /* Frameworks */,
9A97CEC82537331B00742D8F /* Resources */,
9A97CF0B2537351600742D8F /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
9A97CF0A2537351600742D8F /* PBXTargetDependency */,
9A97CF0F2537351800742D8F /* PBXTargetDependency */,
);
name = CPU;
productName = CPU;
productReference = 9A97CECA2537331B00742D8F /* CPU.framework */;
productType = "com.apple.product-type.framework";
};
9AABEADC243FB13500668CB0 /* ModuleKit */ = {
isa = PBXNativeTarget;
buildConfigurationList = 9AABEAE8243FB13500668CB0 /* Build configuration list for PBXNativeTarget "ModuleKit" */;
@@ -1128,27 +1153,6 @@
productReference = 9AABEADD243FB13500668CB0 /* ModuleKit.framework */;
productType = "com.apple.product-type.framework";
};
9AABEB63243FCE8A00668CB0 /* CPU */ = {
isa = PBXNativeTarget;
buildConfigurationList = 9AABEB6D243FCE8A00668CB0 /* Build configuration list for PBXNativeTarget "CPU" */;
buildPhases = (
9AABEB5F243FCE8A00668CB0 /* Headers */,
9AABEB60243FCE8A00668CB0 /* Sources */,
9AABEB61243FCE8A00668CB0 /* Frameworks */,
9AABEB62243FCE8A00668CB0 /* Resources */,
9AABEB76243FCEEF00668CB0 /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
9AABEB75243FCEEF00668CB0 /* PBXTargetDependency */,
9A3E17C0247A8F5700449CD1 /* PBXTargetDependency */,
);
name = CPU;
productName = CPU;
productReference = 9AABEB64243FCE8A00668CB0 /* CPU.framework */;
productType = "com.apple.product-type.framework";
};
9ABFF8F5248BEBCB00C9041A /* Battery */ = {
isa = PBXNativeTarget;
buildConfigurationList = 9ABFF901248BEBCB00C9041A /* Build configuration list for PBXNativeTarget "Battery" */;
@@ -1256,14 +1260,14 @@
CreatedOnToolsVersion = 11.6;
LastSwiftMigration = 1160;
};
9A97CEC92537331B00742D8F = {
CreatedOnToolsVersion = 12.0.1;
LastSwiftMigration = 1200;
};
9AABEADC243FB13500668CB0 = {
CreatedOnToolsVersion = 11.4;
LastSwiftMigration = 1140;
};
9AABEB63243FCE8A00668CB0 = {
CreatedOnToolsVersion = 11.4;
LastSwiftMigration = 1200;
};
9ABFF8F5248BEBCB00C9041A = {
CreatedOnToolsVersion = 11.5;
LastSwiftMigration = 1150;
@@ -1299,14 +1303,14 @@
9A1410F4229E721100D29793 /* Stats */,
9A343526243E26A0006B19F9 /* LaunchAtLogin */,
9AABEADC243FB13500668CB0 /* ModuleKit */,
9AABEB63243FCE8A00668CB0 /* CPU */,
9A0C82D924460F7200FAE3D4 /* StatsKit */,
9A97CEC92537331B00742D8F /* CPU */,
9A90E18824EAD2BB00471E9A /* GPU */,
9A81C7552449A41400825D92 /* Memory */,
9AF9EE0124648751005D2270 /* Disk */,
9A3E17CB247A94AF00449CD1 /* Net */,
9ABFF8F5248BEBCB00C9041A /* Battery */,
9AE29AD4249A50350071B02D /* Sensors */,
9A90E18824EAD2BB00471E9A /* GPU */,
);
};
/* End PBXProject section */
@@ -1360,6 +1364,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9A97CEC82537331B00742D8F /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9A97CF002537340400742D8F /* config.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9AABEADB243FB13500668CB0 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1368,14 +1380,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9AABEB62243FCE8A00668CB0 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9AB14B7B248CF00F00DC6731 /* config.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9ABFF8F4248BEBCB00C9041A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1472,6 +1476,18 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9A97CEC62537331B00742D8F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9A97CEF1253733D200742D8F /* readers.swift in Sources */,
9A97CEF6253733E400742D8F /* popup.swift in Sources */,
9A97CEFB253733F300742D8F /* settings.swift in Sources */,
9A97CEE92537338600742D8F /* main.swift in Sources */,
9A97CF2A25373C8400742D8F /* CPU.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9AABEAD9243FB13500668CB0 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1492,18 +1508,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
9AABEB60243FCE8A00668CB0 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9A944D59244920FE0058F32A /* readers.swift in Sources */,
9A944D6124492B6D0058F32A /* popup.swift in Sources */,
9AABEB71243FCE9400668CB0 /* main.swift in Sources */,
9AA64262244B57C800416A33 /* settings.swift in Sources */,
9A17EF4B2536440B003F1C19 /* CPU.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
9ABFF8F2248BEBCB00C9041A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1551,11 +1555,6 @@
target = 9A0C82D924460F7200FAE3D4 /* StatsKit */;
targetProxy = 9A0C82EC24460FB100FAE3D4 /* PBXContainerItemProxy */;
};
9A3E17C0247A8F5700449CD1 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9A0C82D924460F7200FAE3D4 /* StatsKit */;
targetProxy = 9A3E17BF247A8F5700449CD1 /* PBXContainerItemProxy */;
};
9A3E17C4247A8F5E00449CD1 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9A0C82D924460F7200FAE3D4 /* StatsKit */;
@@ -1606,21 +1605,26 @@
target = 9A0C82D924460F7200FAE3D4 /* StatsKit */;
targetProxy = 9A90E19F24EAD3E300471E9A /* PBXContainerItemProxy */;
};
9A97CED02537331B00742D8F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9A97CEC92537331B00742D8F /* CPU */;
targetProxy = 9A97CECF2537331B00742D8F /* PBXContainerItemProxy */;
};
9A97CF0A2537351600742D8F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9AABEADC243FB13500668CB0 /* ModuleKit */;
targetProxy = 9A97CF092537351600742D8F /* PBXContainerItemProxy */;
};
9A97CF0F2537351800742D8F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9A0C82D924460F7200FAE3D4 /* StatsKit */;
targetProxy = 9A97CF0E2537351800742D8F /* PBXContainerItemProxy */;
};
9AABEAE3243FB13500668CB0 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9AABEADC243FB13500668CB0 /* ModuleKit */;
targetProxy = 9AABEAE2243FB13500668CB0 /* PBXContainerItemProxy */;
};
9AABEB6A243FCE8A00668CB0 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9AABEB63243FCE8A00668CB0 /* CPU */;
targetProxy = 9AABEB69243FCE8A00668CB0 /* PBXContainerItemProxy */;
};
9AABEB75243FCEEF00668CB0 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9AABEADC243FB13500668CB0 /* ModuleKit */;
targetProxy = 9AABEB74243FCEEF00668CB0 /* PBXContainerItemProxy */;
};
9ABFF8FC248BEBCB00C9041A /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9ABFF8F5248BEBCB00C9041A /* Battery */;
@@ -1821,6 +1825,7 @@
SDKROOT = macosx;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
USE_HEADERMAP = YES;
};
name = Debug;
};
@@ -1880,6 +1885,7 @@
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
USE_HEADERMAP = YES;
};
name = Release;
};
@@ -2192,6 +2198,79 @@
};
name = Release;
};
9A97CED42537331B00742D8F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = RP2S87B72W;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(LOCAL_LIBRARY_DIR)/Frameworks",
);
INFOPLIST_FILE = Modules/CPU/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.14;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.CPU;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
USE_HEADERMAP = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
9A97CED52537331B00742D8F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = RP2S87B72W;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(LOCAL_LIBRARY_DIR)/Frameworks",
);
INFOPLIST_FILE = Modules/CPU/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.14;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.CPU;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0;
USE_HEADERMAP = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
9AABEAE6243FB13500668CB0 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -2261,95 +2340,6 @@
};
name = Release;
};
9AABEB6E243FCE8A00668CB0 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = RP2S87B72W;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(PROJECT_DIR)/Carthage/Build/Mac",
"$(inherited)",
"$(LOCAL_LIBRARY_DIR)/Frameworks",
);
INFOPLIST_FILE = Modules/CPU/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.14;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"-weak_framework",
IntelPowerGadget,
);
PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.CPU;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
REEXPORTED_LIBRARY_PATHS = "";
SKIP_INSTALL = YES;
SWIFT_OBJC_BRIDGING_HEADER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
9AABEB6F243FCE8A00668CB0 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = RP2S87B72W;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = (
"$(PROJECT_DIR)/Carthage/Build/Mac",
"$(inherited)",
"$(LOCAL_LIBRARY_DIR)/Frameworks",
);
INFOPLIST_FILE = Modules/CPU/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.14;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = (
"-weak_framework",
IntelPowerGadget,
);
PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.CPU;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
REEXPORTED_LIBRARY_PATHS = "";
SKIP_INSTALL = YES;
SWIFT_OBJC_BRIDGING_HEADER = "";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
9ABFF8FF248BEBCB00C9041A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -2600,6 +2590,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
9A97CED32537331B00742D8F /* Build configuration list for PBXNativeTarget "CPU" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9A97CED42537331B00742D8F /* Debug */,
9A97CED52537331B00742D8F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
9AABEAE8243FB13500668CB0 /* Build configuration list for PBXNativeTarget "ModuleKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
@@ -2609,15 +2608,6 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
9AABEB6D243FCE8A00668CB0 /* Build configuration list for PBXNativeTarget "CPU" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9AABEB6E243FCE8A00668CB0 /* Debug */,
9AABEB6F243FCE8A00668CB0 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
9ABFF901248BEBCB00C9041A /* Build configuration list for PBXNativeTarget "Battery" */ = {
isa = XCConfigurationList;
buildConfigurations = (

View File

@@ -346,10 +346,12 @@ public class HalfCircleGraphView: NSView {
context.restoreGState()
if self.text != nil {
let style = NSMutableParagraphStyle()
style.alignment = .center
let stringAttributes = [
NSAttributedString.Key.font: NSFont.systemFont(ofSize: 10, weight: .regular),
NSAttributedString.Key.foregroundColor: isDarkMode ? NSColor.white : NSColor.textColor,
NSAttributedString.Key.paragraphStyle: NSMutableParagraphStyle()
NSAttributedString.Key.paragraphStyle: style
]
let width: CGFloat = self.text!.widthOfString(usingFont: NSFont.systemFont(ofSize: 10))