// // constants.swift // Kit // // Created by Serhiy Mytrovtsiy on 15/04/2020. // Using Swift 5.0. // Running on macOS 10.15. // // Copyright © 2020 Serhiy Mytrovtsiy. All rights reserved. // import Cocoa public struct Popup_c_s { public let width: CGFloat = 264 public let height: CGFloat = 300 public let margins: CGFloat = 8 public let spacing: CGFloat = 2 public let headerHeight: CGFloat = 42 public let separatorHeight: CGFloat = 30 public let portalHeight: CGFloat = 120 } public struct Settings_c_s { public let width: CGFloat = 540 public let height: CGFloat = 480 public let margin: CGFloat = 10 public let row: CGFloat = 30 } public struct Widget_c_s { public let width: CGFloat = 32 public var height: CGFloat { get { let systemHeight = NSApplication.shared.mainMenu?.menuBarHeight return (systemHeight == 0 ? 22 : systemHeight) ?? 22 } } public var margin: CGPoint { get { var point: CGPoint = CGPoint(x: 2, y: 2) if #available(macOS 11.0, *) { point.x = 0 } return point } } public let spacing: CGFloat = 2 } public struct Constants { public static let Popup: Popup_c_s = Popup_c_s() public static let Settings: Settings_c_s = Settings_c_s() public static let Widget: Widget_c_s = Widget_c_s() public static let defaultProcessIcon = NSWorkspace.shared.icon(forFile: "/bin/bash") } public enum ModuleType: Int { case CPU case RAM case GPU case disk case sensors case network case battery case bluetooth case clock case combined public var stringValue: String { switch self { case .CPU: return "CPU" case .RAM: return "RAM" case .GPU: return "GPU" case .disk: return "Disk" case .sensors: return "Sensors" case .network: return "Network" case .battery: return "Battery" case .bluetooth: return "Bluetooth" case .clock: return "Clock" case .combined: return "" } } }