├── materials
├── gaufre.gif
├── gaufre-m1.png
├── gaufre-v3.gif
├── gaufre-icon.png
├── gaufre-m1-max.png
├── gaufre-m2-pro.png
└── gaufre-core-i5.png
├── Gaufre
├── Assets.xcassets
│ ├── Contents.json
│ ├── AppIcon.appiconset
│ │ ├── icon_16x16.png
│ │ ├── icon_32x32.png
│ │ ├── icon_128x128.png
│ │ ├── icon_16x16@2x.png
│ │ ├── icon_256x256.png
│ │ ├── icon_32x32@2x.png
│ │ ├── icon_512x512.png
│ │ ├── icon_128x128@2x.png
│ │ ├── icon_256x256@2x.png
│ │ ├── icon_512x512@2x.png
│ │ └── Contents.json
│ └── AccentColor.colorset
│ │ └── Contents.json
├── Gaufre.entitlements
├── Info.plist
├── DebugWafersView.swift
├── AppDelegate.swift
└── Base.lproj
│ └── Main.storyboard
├── Gaufre.xcodeproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── xcuserdata
│ └── user.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
└── project.pbxproj
├── README.md
└── LICENSE
/materials/gaufre.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/materials/gaufre.gif
--------------------------------------------------------------------------------
/materials/gaufre-m1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/materials/gaufre-m1.png
--------------------------------------------------------------------------------
/materials/gaufre-v3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/materials/gaufre-v3.gif
--------------------------------------------------------------------------------
/materials/gaufre-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/materials/gaufre-icon.png
--------------------------------------------------------------------------------
/materials/gaufre-m1-max.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/materials/gaufre-m1-max.png
--------------------------------------------------------------------------------
/materials/gaufre-m2-pro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/materials/gaufre-m2-pro.png
--------------------------------------------------------------------------------
/materials/gaufre-core-i5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/materials/gaufre-core-i5.png
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_16x16.png
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_32x32.png
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_128x128.png
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_256x256.png
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_512x512.png
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shakshi3104/Gaufre/HEAD/Gaufre/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png
--------------------------------------------------------------------------------
/Gaufre.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Gaufre/Gaufre.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Gaufre/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LSUIElement
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Gaufre.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "color" : {
5 | "color-space" : "display-p3",
6 | "components" : {
7 | "alpha" : "1.000",
8 | "blue" : "0.413",
9 | "green" : "0.559",
10 | "red" : "0.659"
11 | }
12 | },
13 | "idiom" : "universal"
14 | }
15 | ],
16 | "info" : {
17 | "author" : "xcode",
18 | "version" : 1
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Gaufre.xcodeproj/xcuserdata/user.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | Gaufre.xcscheme_^#shared#^_
8 |
9 | orderHint
10 | 0
11 |
12 | debug.xcscheme_^#shared#^_
13 |
14 | orderHint
15 | 1
16 |
17 |
18 | SuppressBuildableAutocreation
19 |
20 | CE42C02B27535B8C00FC7ECF
21 |
22 | primary
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Gaufre
2 |
3 |
4 |
5 |
6 |
7 | Gaufre🧇 is the app for checking load of each core of CPU on your Mac menu bar.
8 |
9 | The application name was decided to be [Gaufre](https://www.kobe-fugetsudo.co.jp/sweets/gaufres.html), derived from silicon "wafer".
10 |
11 |
12 |
13 |
14 |
15 | | M2 Pro | M1 | M1 Max | Core i5 |
16 | | :-------:| :-------: | :-------: | :-------: |
17 | ||  |  |  |
18 |
19 | ## Requirements
20 |
21 | - Xcode 13.1+
22 | - macOS 11+
23 |
24 | ## Swift Package Dependencies
25 |
26 | - [CoreWafer](https://github.com/Shakshi3104/CoreWafer)
27 | - [ProcessorKit](https://github.com/Shakshi3104/ProcessorKit)
28 | - [DeviceHardware](https://github.com/Shakshi3104/DeviceHardware)
29 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Shakshi3104
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Gaufre/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "icon_16x16.png",
5 | "idiom" : "mac",
6 | "scale" : "1x",
7 | "size" : "16x16"
8 | },
9 | {
10 | "filename" : "icon_16x16@2x.png",
11 | "idiom" : "mac",
12 | "scale" : "2x",
13 | "size" : "16x16"
14 | },
15 | {
16 | "filename" : "icon_32x32.png",
17 | "idiom" : "mac",
18 | "scale" : "1x",
19 | "size" : "32x32"
20 | },
21 | {
22 | "filename" : "icon_32x32@2x.png",
23 | "idiom" : "mac",
24 | "scale" : "2x",
25 | "size" : "32x32"
26 | },
27 | {
28 | "filename" : "icon_128x128.png",
29 | "idiom" : "mac",
30 | "scale" : "1x",
31 | "size" : "128x128"
32 | },
33 | {
34 | "filename" : "icon_128x128@2x.png",
35 | "idiom" : "mac",
36 | "scale" : "2x",
37 | "size" : "128x128"
38 | },
39 | {
40 | "filename" : "icon_256x256.png",
41 | "idiom" : "mac",
42 | "scale" : "1x",
43 | "size" : "256x256"
44 | },
45 | {
46 | "filename" : "icon_256x256@2x.png",
47 | "idiom" : "mac",
48 | "scale" : "2x",
49 | "size" : "256x256"
50 | },
51 | {
52 | "filename" : "icon_512x512.png",
53 | "idiom" : "mac",
54 | "scale" : "1x",
55 | "size" : "512x512"
56 | },
57 | {
58 | "filename" : "icon_512x512@2x.png",
59 | "idiom" : "mac",
60 | "scale" : "2x",
61 | "size" : "512x512"
62 | }
63 | ],
64 | "info" : {
65 | "author" : "xcode",
66 | "version" : 1
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/Gaufre/DebugWafersView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DebugProcessorObserver.swift
3 | // Gaufre
4 | //
5 | // Created by MacBook Pro M1 on 2022/01/23.
6 | //
7 |
8 | import SwiftUI
9 |
10 | #if DEBUG
11 | struct DebugWafersView: View {
12 | var coreCount: Int
13 |
14 | var body: some View {
15 | if coreCount < 30 {
16 | HStack(alignment: .bottom) {
17 | ForEach(0.. Bool {
32 | return true
33 | }
34 |
35 | // MARK: - Build status bar
36 | func buildMenu() {
37 |
38 | // if Intel Mac, status bar icon is fill icon
39 | let statusBarSymbolName = MacDeviceHardware.deviceHardware.processorName.contains("Apple") ? "grid.circle" : "grid.circle.fill"
40 |
41 | if let statusBarButton = statusItem.button {
42 | statusBarButton.image = NSImage(systemSymbolName: statusBarSymbolName,
43 | accessibilityDescription: "app icon")
44 | statusBarButton.image?.size = NSSize(width: 18.0, height: 18.0)
45 | statusBarButton.image?.isTemplate = true
46 | statusBarButton.target = self
47 | }
48 |
49 | // Each core load view
50 | let wafersView: NSView
51 | let coreCount: Int
52 |
53 | #if DEBUG
54 | coreCount = 56
55 | wafersView = NSHostingView(rootView: DebugWafersView(coreCount: coreCount) .scaleEffect(0.55))
56 | #else
57 | coreCount = MacDeviceHardware.deviceHardware.processorCount
58 | wafersView = NSHostingView(rootView: WafersView(processor: processor) .scaleEffect(0.55))
59 | #endif
60 |
61 | let width = coreCount < 30 ? 20 * coreCount + 45 : 20 * coreCount / 2 + 45
62 | let height = coreCount < 30 ? 90 : 160
63 |
64 | wafersView.frame = NSRect(x: 0, y: 0, width: width, height: height)
65 |
66 | let coreInfoItem = NSMenuItem()
67 | coreInfoItem.view = wafersView
68 |
69 | // main menu
70 | let mainMenu = NSMenu()
71 | mainMenu.addItem(coreInfoItem)
72 |
73 | // Processor name
74 | let processorName: String
75 | #if DEBUG
76 | processorName = "DEBUG"
77 | #else
78 | processorName = MacDeviceHardware.deviceHardware.processorName
79 | #endif
80 | mainMenu.addItem(withTitle: processorName, action: nil, keyEquivalent: "")
81 |
82 | // separater
83 | mainMenu.addItem(NSMenuItem.separator())
84 |
85 | // Quit
86 | mainMenu.addItem(withTitle: "Quit",
87 | action: #selector(NSApplication.terminate(_:)),
88 | keyEquivalent: "q")
89 |
90 | statusItem.menu = mainMenu
91 | }
92 | }
93 |
94 |
--------------------------------------------------------------------------------
/Gaufre.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 55;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | CE42C03027535B8C00FC7ECF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE42C02F27535B8C00FC7ECF /* AppDelegate.swift */; };
11 | CE42C03427535B8E00FC7ECF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CE42C03327535B8E00FC7ECF /* Assets.xcassets */; };
12 | CE42C03727535B8E00FC7ECF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CE42C03527535B8E00FC7ECF /* Main.storyboard */; };
13 | CE99077C279D12B60085608B /* DebugWafersView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE99077B279D12B60085608B /* DebugWafersView.swift */; };
14 | CEB1351F278A69F9002318CA /* CoreWafer in Frameworks */ = {isa = PBXBuildFile; productRef = CEB1351E278A69F9002318CA /* CoreWafer */; };
15 | /* End PBXBuildFile section */
16 |
17 | /* Begin PBXFileReference section */
18 | CE236FA32A10E24100475A29 /* gaufre-m2-pro.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "gaufre-m2-pro.png"; sourceTree = ""; };
19 | CE236FA42A10E79F00475A29 /* gaufre-v3.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "gaufre-v3.gif"; sourceTree = ""; };
20 | CE42C02C27535B8C00FC7ECF /* Gaufre.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Gaufre.app; sourceTree = BUILT_PRODUCTS_DIR; };
21 | CE42C02F27535B8C00FC7ECF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
22 | CE42C03327535B8E00FC7ECF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
23 | CE42C03627535B8E00FC7ECF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
24 | CE42C03827535B8E00FC7ECF /* Gaufre.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Gaufre.entitlements; sourceTree = ""; };
25 | CE42C03E27535C5D00FC7ECF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; };
26 | CE42C05727537E9400FC7ECF /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
27 | CE69FEDB282009160023F560 /* gaufre-m1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "gaufre-m1.png"; sourceTree = ""; };
28 | CE69FEDC282009160023F560 /* gaufre-m1-max.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "gaufre-m1-max.png"; sourceTree = ""; };
29 | CE69FEDD282009160023F560 /* gaufre-core-i5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "gaufre-core-i5.png"; sourceTree = ""; };
30 | CE99077B279D12B60085608B /* DebugWafersView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugWafersView.swift; sourceTree = ""; };
31 | CECC6F152754679B0001E388 /* gaufre.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = gaufre.gif; sourceTree = ""; };
32 | CECC6F1727546A090001E388 /* gaufre-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "gaufre-icon.png"; sourceTree = ""; };
33 | /* End PBXFileReference section */
34 |
35 | /* Begin PBXFrameworksBuildPhase section */
36 | CE42C02927535B8C00FC7ECF /* Frameworks */ = {
37 | isa = PBXFrameworksBuildPhase;
38 | buildActionMask = 2147483647;
39 | files = (
40 | CEB1351F278A69F9002318CA /* CoreWafer in Frameworks */,
41 | );
42 | runOnlyForDeploymentPostprocessing = 0;
43 | };
44 | /* End PBXFrameworksBuildPhase section */
45 |
46 | /* Begin PBXGroup section */
47 | CE42C02327535B8C00FC7ECF = {
48 | isa = PBXGroup;
49 | children = (
50 | CECC6F1327545F660001E388 /* materials */,
51 | CE42C05727537E9400FC7ECF /* README.md */,
52 | CE42C02E27535B8C00FC7ECF /* Gaufre */,
53 | CE42C02D27535B8C00FC7ECF /* Products */,
54 | );
55 | sourceTree = "";
56 | };
57 | CE42C02D27535B8C00FC7ECF /* Products */ = {
58 | isa = PBXGroup;
59 | children = (
60 | CE42C02C27535B8C00FC7ECF /* Gaufre.app */,
61 | );
62 | name = Products;
63 | sourceTree = "";
64 | };
65 | CE42C02E27535B8C00FC7ECF /* Gaufre */ = {
66 | isa = PBXGroup;
67 | children = (
68 | CE42C03E27535C5D00FC7ECF /* Info.plist */,
69 | CE42C02F27535B8C00FC7ECF /* AppDelegate.swift */,
70 | CE42C03327535B8E00FC7ECF /* Assets.xcassets */,
71 | CE42C03527535B8E00FC7ECF /* Main.storyboard */,
72 | CE42C03827535B8E00FC7ECF /* Gaufre.entitlements */,
73 | CE99077B279D12B60085608B /* DebugWafersView.swift */,
74 | );
75 | path = Gaufre;
76 | sourceTree = "";
77 | };
78 | CECC6F1327545F660001E388 /* materials */ = {
79 | isa = PBXGroup;
80 | children = (
81 | CE236FA32A10E24100475A29 /* gaufre-m2-pro.png */,
82 | CE69FEDD282009160023F560 /* gaufre-core-i5.png */,
83 | CE69FEDC282009160023F560 /* gaufre-m1-max.png */,
84 | CE69FEDB282009160023F560 /* gaufre-m1.png */,
85 | CECC6F1727546A090001E388 /* gaufre-icon.png */,
86 | CECC6F152754679B0001E388 /* gaufre.gif */,
87 | CE236FA42A10E79F00475A29 /* gaufre-v3.gif */,
88 | );
89 | path = materials;
90 | sourceTree = "";
91 | };
92 | /* End PBXGroup section */
93 |
94 | /* Begin PBXNativeTarget section */
95 | CE42C02B27535B8C00FC7ECF /* Gaufre */ = {
96 | isa = PBXNativeTarget;
97 | buildConfigurationList = CE42C03B27535B8E00FC7ECF /* Build configuration list for PBXNativeTarget "Gaufre" */;
98 | buildPhases = (
99 | CE42C02827535B8C00FC7ECF /* Sources */,
100 | CE42C02927535B8C00FC7ECF /* Frameworks */,
101 | CE42C02A27535B8C00FC7ECF /* Resources */,
102 | );
103 | buildRules = (
104 | );
105 | dependencies = (
106 | );
107 | name = Gaufre;
108 | packageProductDependencies = (
109 | CEB1351E278A69F9002318CA /* CoreWafer */,
110 | );
111 | productName = Gaufre;
112 | productReference = CE42C02C27535B8C00FC7ECF /* Gaufre.app */;
113 | productType = "com.apple.product-type.application";
114 | };
115 | /* End PBXNativeTarget section */
116 |
117 | /* Begin PBXProject section */
118 | CE42C02427535B8C00FC7ECF /* Project object */ = {
119 | isa = PBXProject;
120 | attributes = {
121 | BuildIndependentTargetsInParallel = 1;
122 | LastSwiftUpdateCheck = 1310;
123 | LastUpgradeCheck = 2600;
124 | TargetAttributes = {
125 | CE42C02B27535B8C00FC7ECF = {
126 | CreatedOnToolsVersion = 13.1;
127 | };
128 | };
129 | };
130 | buildConfigurationList = CE42C02727535B8C00FC7ECF /* Build configuration list for PBXProject "Gaufre" */;
131 | compatibilityVersion = "Xcode 13.0";
132 | developmentRegion = en;
133 | hasScannedForEncodings = 0;
134 | knownRegions = (
135 | en,
136 | Base,
137 | );
138 | mainGroup = CE42C02327535B8C00FC7ECF;
139 | packageReferences = (
140 | CEB1351D278A69F9002318CA /* XCRemoteSwiftPackageReference "CoreWafer" */,
141 | );
142 | productRefGroup = CE42C02D27535B8C00FC7ECF /* Products */;
143 | projectDirPath = "";
144 | projectRoot = "";
145 | targets = (
146 | CE42C02B27535B8C00FC7ECF /* Gaufre */,
147 | );
148 | };
149 | /* End PBXProject section */
150 |
151 | /* Begin PBXResourcesBuildPhase section */
152 | CE42C02A27535B8C00FC7ECF /* Resources */ = {
153 | isa = PBXResourcesBuildPhase;
154 | buildActionMask = 2147483647;
155 | files = (
156 | CE42C03427535B8E00FC7ECF /* Assets.xcassets in Resources */,
157 | CE42C03727535B8E00FC7ECF /* Main.storyboard in Resources */,
158 | );
159 | runOnlyForDeploymentPostprocessing = 0;
160 | };
161 | /* End PBXResourcesBuildPhase section */
162 |
163 | /* Begin PBXSourcesBuildPhase section */
164 | CE42C02827535B8C00FC7ECF /* Sources */ = {
165 | isa = PBXSourcesBuildPhase;
166 | buildActionMask = 2147483647;
167 | files = (
168 | CE99077C279D12B60085608B /* DebugWafersView.swift in Sources */,
169 | CE42C03027535B8C00FC7ECF /* AppDelegate.swift in Sources */,
170 | );
171 | runOnlyForDeploymentPostprocessing = 0;
172 | };
173 | /* End PBXSourcesBuildPhase section */
174 |
175 | /* Begin PBXVariantGroup section */
176 | CE42C03527535B8E00FC7ECF /* Main.storyboard */ = {
177 | isa = PBXVariantGroup;
178 | children = (
179 | CE42C03627535B8E00FC7ECF /* Base */,
180 | );
181 | name = Main.storyboard;
182 | sourceTree = "";
183 | };
184 | /* End PBXVariantGroup section */
185 |
186 | /* Begin XCBuildConfiguration section */
187 | CE42C03927535B8E00FC7ECF /* Debug */ = {
188 | isa = XCBuildConfiguration;
189 | buildSettings = {
190 | ALWAYS_SEARCH_USER_PATHS = NO;
191 | CLANG_ANALYZER_NONNULL = YES;
192 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
193 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
194 | CLANG_CXX_LIBRARY = "libc++";
195 | CLANG_ENABLE_MODULES = YES;
196 | CLANG_ENABLE_OBJC_ARC = YES;
197 | CLANG_ENABLE_OBJC_WEAK = YES;
198 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
199 | CLANG_WARN_BOOL_CONVERSION = YES;
200 | CLANG_WARN_COMMA = YES;
201 | CLANG_WARN_CONSTANT_CONVERSION = YES;
202 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
203 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
204 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
205 | CLANG_WARN_EMPTY_BODY = YES;
206 | CLANG_WARN_ENUM_CONVERSION = YES;
207 | CLANG_WARN_INFINITE_RECURSION = YES;
208 | CLANG_WARN_INT_CONVERSION = YES;
209 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
210 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
211 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
212 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
213 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
214 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
215 | CLANG_WARN_STRICT_PROTOTYPES = YES;
216 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
217 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
218 | CLANG_WARN_UNREACHABLE_CODE = YES;
219 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
220 | COPY_PHASE_STRIP = NO;
221 | DEAD_CODE_STRIPPING = YES;
222 | DEBUG_INFORMATION_FORMAT = dwarf;
223 | DEVELOPMENT_TEAM = WHBF4Z49B6;
224 | ENABLE_STRICT_OBJC_MSGSEND = YES;
225 | ENABLE_TESTABILITY = YES;
226 | ENABLE_USER_SCRIPT_SANDBOXING = YES;
227 | GCC_C_LANGUAGE_STANDARD = gnu11;
228 | GCC_DYNAMIC_NO_PIC = NO;
229 | GCC_NO_COMMON_BLOCKS = YES;
230 | GCC_OPTIMIZATION_LEVEL = 0;
231 | GCC_PREPROCESSOR_DEFINITIONS = (
232 | "DEBUG=1",
233 | "$(inherited)",
234 | );
235 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
236 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
237 | GCC_WARN_UNDECLARED_SELECTOR = YES;
238 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
239 | GCC_WARN_UNUSED_FUNCTION = YES;
240 | GCC_WARN_UNUSED_VARIABLE = YES;
241 | MACOSX_DEPLOYMENT_TARGET = 11.6;
242 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
243 | MTL_FAST_MATH = YES;
244 | ONLY_ACTIVE_ARCH = YES;
245 | SDKROOT = macosx;
246 | STRING_CATALOG_GENERATE_SYMBOLS = YES;
247 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
248 | SWIFT_OPTIMIZATION_LEVEL = "-Onone";
249 | };
250 | name = Debug;
251 | };
252 | CE42C03A27535B8E00FC7ECF /* Release */ = {
253 | isa = XCBuildConfiguration;
254 | buildSettings = {
255 | ALWAYS_SEARCH_USER_PATHS = NO;
256 | CLANG_ANALYZER_NONNULL = YES;
257 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
258 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
259 | CLANG_CXX_LIBRARY = "libc++";
260 | CLANG_ENABLE_MODULES = YES;
261 | CLANG_ENABLE_OBJC_ARC = YES;
262 | CLANG_ENABLE_OBJC_WEAK = YES;
263 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
264 | CLANG_WARN_BOOL_CONVERSION = YES;
265 | CLANG_WARN_COMMA = YES;
266 | CLANG_WARN_CONSTANT_CONVERSION = YES;
267 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
268 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
269 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
270 | CLANG_WARN_EMPTY_BODY = YES;
271 | CLANG_WARN_ENUM_CONVERSION = YES;
272 | CLANG_WARN_INFINITE_RECURSION = YES;
273 | CLANG_WARN_INT_CONVERSION = YES;
274 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
275 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
276 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
277 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
278 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
279 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
280 | CLANG_WARN_STRICT_PROTOTYPES = YES;
281 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
282 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
283 | CLANG_WARN_UNREACHABLE_CODE = YES;
284 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
285 | COPY_PHASE_STRIP = NO;
286 | DEAD_CODE_STRIPPING = YES;
287 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
288 | DEVELOPMENT_TEAM = WHBF4Z49B6;
289 | ENABLE_NS_ASSERTIONS = NO;
290 | ENABLE_STRICT_OBJC_MSGSEND = YES;
291 | ENABLE_USER_SCRIPT_SANDBOXING = YES;
292 | GCC_C_LANGUAGE_STANDARD = gnu11;
293 | GCC_NO_COMMON_BLOCKS = YES;
294 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
295 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
296 | GCC_WARN_UNDECLARED_SELECTOR = YES;
297 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
298 | GCC_WARN_UNUSED_FUNCTION = YES;
299 | GCC_WARN_UNUSED_VARIABLE = YES;
300 | MACOSX_DEPLOYMENT_TARGET = 11.6;
301 | MTL_ENABLE_DEBUG_INFO = NO;
302 | MTL_FAST_MATH = YES;
303 | SDKROOT = macosx;
304 | STRING_CATALOG_GENERATE_SYMBOLS = YES;
305 | SWIFT_COMPILATION_MODE = wholemodule;
306 | SWIFT_OPTIMIZATION_LEVEL = "-O";
307 | };
308 | name = Release;
309 | };
310 | CE42C03C27535B8E00FC7ECF /* Debug */ = {
311 | isa = XCBuildConfiguration;
312 | buildSettings = {
313 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
314 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
315 | CODE_SIGN_ENTITLEMENTS = Gaufre/Gaufre.entitlements;
316 | CODE_SIGN_IDENTITY = "-";
317 | CODE_SIGN_STYLE = Automatic;
318 | COMBINE_HIDPI_IMAGES = YES;
319 | CURRENT_PROJECT_VERSION = 1;
320 | DEAD_CODE_STRIPPING = YES;
321 | ENABLE_APP_SANDBOX = YES;
322 | ENABLE_HARDENED_RUNTIME = YES;
323 | ENABLE_USER_SELECTED_FILES = readonly;
324 | GENERATE_INFOPLIST_FILE = YES;
325 | INFOPLIST_FILE = Gaufre/Info.plist;
326 | INFOPLIST_KEY_NSHumanReadableCopyright = "";
327 | INFOPLIST_KEY_NSMainStoryboardFile = Main;
328 | INFOPLIST_KEY_NSPrincipalClass = NSApplication;
329 | LD_RUNPATH_SEARCH_PATHS = (
330 | "$(inherited)",
331 | "@executable_path/../Frameworks",
332 | );
333 | MARKETING_VERSION = 3.2.2;
334 | PRODUCT_BUNDLE_IDENTIFIER = com.shakshi.macos.Gaufre;
335 | PRODUCT_NAME = "$(TARGET_NAME)";
336 | SWIFT_EMIT_LOC_STRINGS = YES;
337 | SWIFT_VERSION = 5.0;
338 | };
339 | name = Debug;
340 | };
341 | CE42C03D27535B8E00FC7ECF /* Release */ = {
342 | isa = XCBuildConfiguration;
343 | buildSettings = {
344 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
345 | ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
346 | CODE_SIGN_ENTITLEMENTS = Gaufre/Gaufre.entitlements;
347 | CODE_SIGN_IDENTITY = "-";
348 | CODE_SIGN_STYLE = Automatic;
349 | COMBINE_HIDPI_IMAGES = YES;
350 | CURRENT_PROJECT_VERSION = 1;
351 | DEAD_CODE_STRIPPING = YES;
352 | ENABLE_APP_SANDBOX = YES;
353 | ENABLE_HARDENED_RUNTIME = YES;
354 | ENABLE_USER_SELECTED_FILES = readonly;
355 | GENERATE_INFOPLIST_FILE = YES;
356 | INFOPLIST_FILE = Gaufre/Info.plist;
357 | INFOPLIST_KEY_NSHumanReadableCopyright = "";
358 | INFOPLIST_KEY_NSMainStoryboardFile = Main;
359 | INFOPLIST_KEY_NSPrincipalClass = NSApplication;
360 | LD_RUNPATH_SEARCH_PATHS = (
361 | "$(inherited)",
362 | "@executable_path/../Frameworks",
363 | );
364 | MARKETING_VERSION = 3.2.2;
365 | PRODUCT_BUNDLE_IDENTIFIER = com.shakshi.macos.Gaufre;
366 | PRODUCT_NAME = "$(TARGET_NAME)";
367 | SWIFT_EMIT_LOC_STRINGS = YES;
368 | SWIFT_VERSION = 5.0;
369 | };
370 | name = Release;
371 | };
372 | /* End XCBuildConfiguration section */
373 |
374 | /* Begin XCConfigurationList section */
375 | CE42C02727535B8C00FC7ECF /* Build configuration list for PBXProject "Gaufre" */ = {
376 | isa = XCConfigurationList;
377 | buildConfigurations = (
378 | CE42C03927535B8E00FC7ECF /* Debug */,
379 | CE42C03A27535B8E00FC7ECF /* Release */,
380 | );
381 | defaultConfigurationIsVisible = 0;
382 | defaultConfigurationName = Release;
383 | };
384 | CE42C03B27535B8E00FC7ECF /* Build configuration list for PBXNativeTarget "Gaufre" */ = {
385 | isa = XCConfigurationList;
386 | buildConfigurations = (
387 | CE42C03C27535B8E00FC7ECF /* Debug */,
388 | CE42C03D27535B8E00FC7ECF /* Release */,
389 | );
390 | defaultConfigurationIsVisible = 0;
391 | defaultConfigurationName = Release;
392 | };
393 | /* End XCConfigurationList section */
394 |
395 | /* Begin XCRemoteSwiftPackageReference section */
396 | CEB1351D278A69F9002318CA /* XCRemoteSwiftPackageReference "CoreWafer" */ = {
397 | isa = XCRemoteSwiftPackageReference;
398 | repositoryURL = "https://github.com/Shakshi3104/CoreWafer";
399 | requirement = {
400 | kind = upToNextMajorVersion;
401 | minimumVersion = 0.0.2;
402 | };
403 | };
404 | /* End XCRemoteSwiftPackageReference section */
405 |
406 | /* Begin XCSwiftPackageProductDependency section */
407 | CEB1351E278A69F9002318CA /* CoreWafer */ = {
408 | isa = XCSwiftPackageProductDependency;
409 | package = CEB1351D278A69F9002318CA /* XCRemoteSwiftPackageReference "CoreWafer" */;
410 | productName = CoreWafer;
411 | };
412 | /* End XCSwiftPackageProductDependency section */
413 | };
414 | rootObject = CE42C02427535B8C00FC7ECF /* Project object */;
415 | }
416 |
--------------------------------------------------------------------------------
/Gaufre/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
--------------------------------------------------------------------------------