diff --git a/Modules/Battery/popup.swift b/Modules/Battery/popup.swift index d025d3cd..e9ceeda3 100644 --- a/Modules/Battery/popup.swift +++ b/Modules/Battery/popup.swift @@ -57,7 +57,8 @@ internal class Popup: NSView, Popup_p { } private var processesHeight: CGFloat { get { - return (self.processHeight*CGFloat(self.numberOfProcesses))+Constants.Popup.separatorHeight + let num = self.numberOfProcesses + return (self.processHeight*CGFloat(num)) + (num == 0 ? 0 : Constants.Popup.separatorHeight) } } private var timeFormat: String { diff --git a/Modules/Battery/readers.swift b/Modules/Battery/readers.swift index 7b03f3e0..b02732f3 100644 --- a/Modules/Battery/readers.swift +++ b/Modules/Battery/readers.swift @@ -229,6 +229,10 @@ public class ProcessReader: Reader<[TopProcess]> { } public override func read() { + if self.numberOfProcesses == 0 { + return + } + let task = Process() task.launchPath = "/usr/bin/top" task.arguments = ["-l", "1", "-o", "power", "-n", "\(self.numberOfProcesses)", "-stats", "pid,command,power"] diff --git a/Modules/CPU/popup.swift b/Modules/CPU/popup.swift index f5f76d09..6e353555 100644 --- a/Modules/CPU/popup.swift +++ b/Modules/CPU/popup.swift @@ -51,7 +51,8 @@ internal class Popup: NSView, Popup_p { } private var processesHeight: CGFloat { get { - return (self.processHeight*CGFloat(self.numberOfProcesses))+Constants.Popup.separatorHeight + let num = self.numberOfProcesses + return (self.processHeight*CGFloat(num)) + (num == 0 ? 0 : Constants.Popup.separatorHeight) } } diff --git a/Modules/CPU/readers.swift b/Modules/CPU/readers.swift index d0025a39..5cf74678 100644 --- a/Modules/CPU/readers.swift +++ b/Modules/CPU/readers.swift @@ -174,6 +174,10 @@ public class ProcessReader: Reader<[TopProcess]> { } public override func read() { + if self.numberOfProcesses == 0 { + return + } + let task = Process() task.launchPath = "/bin/ps" task.arguments = ["-Aceo pid,pcpu,comm", "-r"] diff --git a/Modules/Net/popup.swift b/Modules/Net/popup.swift index 4999ee38..948221bc 100644 --- a/Modules/Net/popup.swift +++ b/Modules/Net/popup.swift @@ -64,7 +64,8 @@ internal class Popup: NSView, Popup_p { } private var processesHeight: CGFloat { get { - return (self.processHeight*CGFloat(self.numberOfProcesses))+Constants.Popup.separatorHeight + let num = self.numberOfProcesses + return (self.processHeight*CGFloat(num)) + (num == 0 ? 0 : Constants.Popup.separatorHeight) } } diff --git a/Modules/Net/readers.swift b/Modules/Net/readers.swift index 37181313..1a5baccb 100644 --- a/Modules/Net/readers.swift +++ b/Modules/Net/readers.swift @@ -274,6 +274,10 @@ public class ProcessReader: Reader<[Network_Process]> { } public override func read() { + if self.numberOfProcesses == 0 { + return + } + let task = Process() task.launchPath = "/usr/bin/nettop" task.arguments = ["-P", "-L", "1", "-k", "time,interface,state,rx_dupe,rx_ooo,re-tx,rtt_avg,rcvsize,tx_win,tc_class,tc_mgt,cc_algo,P,C,R,W,arch"] diff --git a/Modules/RAM/popup.swift b/Modules/RAM/popup.swift index 83b56893..2f1556a6 100644 --- a/Modules/RAM/popup.swift +++ b/Modules/RAM/popup.swift @@ -48,7 +48,8 @@ internal class Popup: NSView, Popup_p { } private var processesHeight: CGFloat { get { - return (self.processHeight*CGFloat(self.numberOfProcesses))+Constants.Popup.separatorHeight + let num = self.numberOfProcesses + return (self.processHeight*CGFloat(num)) + (num == 0 ? 0 : Constants.Popup.separatorHeight) } } diff --git a/Modules/RAM/readers.swift b/Modules/RAM/readers.swift index e487dbcd..ed576346 100644 --- a/Modules/RAM/readers.swift +++ b/Modules/RAM/readers.swift @@ -116,6 +116,10 @@ public class ProcessReader: Reader<[TopProcess]> { } public override func read() { + if self.numberOfProcesses == 0 { + return + } + let task = Process() task.launchPath = "/usr/bin/top" task.arguments = ["-l", "1", "-o", "mem", "-n", "\(self.numberOfProcesses)", "-stats", "pid,command,mem"]