Added debug app

Included listing up windows.
This commit is contained in:
Kirurobo
2021-11-06 18:17:32 +09:00
parent 8e5a9d25a5
commit f24625f180
14 changed files with 771 additions and 12 deletions

View File

@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>20G165</string>
<string>21A559</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@@ -27,19 +27,19 @@
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>13A233</string>
<string>13A1030d</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>11.3</string>
<string>12.0</string>
<key>DTSDKBuild</key>
<string>20E214</string>
<string>21A344</string>
<key>DTSDKName</key>
<string>macosx11.3</string>
<string>macosx12.0</string>
<key>DTXcode</key>
<string>1300</string>
<string>1310</string>
<key>DTXcodeBuild</key>
<string>13A233</string>
<string>13A1030d</string>
<key>LSMinimumSystemVersion</key>
<string>10.13</string>
<key>NSHumanReadableCopyright</key>

View File

@@ -0,0 +1,11 @@
{
"colors" : [
{
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,58 @@
{
"images" : [
{
"idiom" : "mac",
"scale" : "1x",
"size" : "16x16"
},
{
"idiom" : "mac",
"scale" : "2x",
"size" : "16x16"
},
{
"idiom" : "mac",
"scale" : "1x",
"size" : "32x32"
},
{
"idiom" : "mac",
"scale" : "2x",
"size" : "32x32"
},
{
"idiom" : "mac",
"scale" : "1x",
"size" : "128x128"
},
{
"idiom" : "mac",
"scale" : "2x",
"size" : "128x128"
},
{
"idiom" : "mac",
"scale" : "1x",
"size" : "256x256"
},
{
"idiom" : "mac",
"scale" : "2x",
"size" : "256x256"
},
{
"idiom" : "mac",
"scale" : "1x",
"size" : "512x512"
},
{
"idiom" : "mac",
"scale" : "2x",
"size" : "512x512"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,111 @@
//
// ContentView.swift
// DebugUniWinC
//
// Created by Kirurobo on 2021/11/05.
// Copyright © 2021 kirurobo. All rights reserved.
//
import SwiftUI
// https://qiita.com/usagimaru/items/6ffd09c5b27042281108
func getWindowList() -> [NSDictionary]? {
guard let windowList: NSArray = CGWindowListCopyWindowInfo(.optionOnScreenOnly, kCGNullWindowID) else {
return nil
}
let swiftWindowList = windowList as! [NSDictionary]
return swiftWindowList
}
func toString(dict: [NSDictionary]?) -> String {
guard let dic = dict else {
return ""
}
return (dic.compactMap({ (d) -> String in
(d.compactMap({ (key, val) -> String in
return "\(key)=\(val)"
}) as Array).joined(separator: "\n") })).joined(separator: "\n\n")
}
func findWindow(dict: [NSDictionary]?, name: String) -> NSWindow? {
if (dict == nil) {
return nil
}
var result:NSWindow? = nil
for dic in dict! {
if ((dic[kCGWindowOwnerName] as! String) == name) {
let num = (dic[kCGWindowNumber] as! Int)
result = NSApp.window(withWindowNumber: num)
break
}
}
return result
}
func findWindowNumber(dict: [NSDictionary]?, name: String) -> Int {
if (dict == nil) {
return 0
}
var result:Int = 0
for dic in dict! {
if ((dic[kCGWindowOwnerName] as! String) == name) {
let num = (dic[kCGWindowNumber] as! Int)
result = num
break
}
}
return result
}
func getAllWindows() -> String {
var text = ""
let windows = NSWindow.windowNumbers(options: NSWindow.NumberListOptions.allApplications)
for num in windows! {
text = text + num.stringValue + ", "
}
return text
}
struct ContentView: View {
@State var messageText = "Window"
@State var outputText = ""
@State var window: NSWindow?
var body: some View {
Text("Window info").padding()
Button(action: {
// if (LibUniWinC.attachMyWindow()) {
// //LibUniWinC.setTransparent(isTransparent: true)
// messageText = "IsActive: " + String(LibUniWinC.isActive())
// } else {
// messageText = "Can't attach"
// }
let dict = getWindowList()
outputText = String(findWindowNumber(dict: dict, name: "DebugUniWinC"))
window = findWindow(dict: dict, name: "DebugUniWinC")
if (window != nil) {
outputText = "Class Name: " + window!.className
LibUniWinC._attachWindow(window: window!)
} else {
outputText = "Window is nil"
}
messageText = outputText
outputText = toString(dict: dict) + getAllWindows()
}){ Text(messageText) }
ScrollView([.vertical, .horizontal]) {
Text(outputText)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,18 @@
//
// DebugUniWinCApp.swift
// DebugUniWinC
//
// Created by Kirurobo on 2021/11/05.
// Copyright © 2021 kirurobo. All rights reserved.
//
import SwiftUI
@main
struct DebugUniWinCApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}

View File

@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,34 @@
//
// DebugUniWinCTests.swift
// DebugUniWinCTests
//
// Created by Kirurobo on 2021/11/05.
// Copyright © 2021 kirurobo. All rights reserved.
//
import XCTest
@testable import DebugUniWinC
class DebugUniWinCTests: XCTestCase {
override func setUpWithError() throws {
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDownWithError() throws {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
func testExample() throws {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
func testPerformanceExample() throws {
// This is an example of a performance test case.
self.measure {
// Put the code you want to measure the time of here.
}
}
}

View File

@@ -0,0 +1,43 @@
//
// DebugUniWinCUITests.swift
// DebugUniWinCUITests
//
// Created by Kirurobo on 2021/11/05.
// Copyright © 2021 kirurobo. All rights reserved.
//
import XCTest
class DebugUniWinCUITests: XCTestCase {
override func setUpWithError() throws {
// Put setup code here. This method is called before the invocation of each test method in the class.
// In UI tests it is usually best to stop immediately when a failure occurs.
continueAfterFailure = false
// In UI tests its important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
}
override func tearDownWithError() throws {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
func testExample() throws {
// UI tests must launch the application that they test.
let app = XCUIApplication()
app.launch()
// Use recording to get started writing UI tests.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
func testLaunchPerformance() throws {
if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
// This measures how long it takes to launch your application.
measure(metrics: [XCTApplicationLaunchMetric()]) {
XCUIApplication().launch()
}
}
}
}

View File

@@ -0,0 +1,33 @@
//
// DebugUniWinCUITestsLaunchTests.swift
// DebugUniWinCUITests
//
// Created by Kirurobo on 2021/11/05.
// Copyright © 2021 kirurobo. All rights reserved.
//
import XCTest
class DebugUniWinCUITestsLaunchTests: XCTestCase {
override class var runsForEachTargetApplicationUIConfiguration: Bool {
true
}
override func setUpWithError() throws {
continueAfterFailure = false
}
func testLaunch() throws {
let app = XCUIApplication()
app.launch()
// Insert steps here to perform after app launch but before taking a screenshot,
// such as logging into a test account or navigating somewhere in the app
let attachment = XCTAttachment(screenshot: app.screenshot())
attachment.name = "Launch Screen"
attachment.lifetime = .keepAlways
add(attachment)
}
}

View File

@@ -8,20 +8,78 @@
/* Begin PBXBuildFile section */
731C6C6E25724025002E9709 /* OverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 731C6C6D25724025002E9709 /* OverlayView.swift */; };
73575EF522BE0AB300E9F019 /* LibUniWinC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73575EF422BE0AB300E9F019 /* LibUniWinC.swift */; };
73575EF922BE18B200E9F019 /* LibUniWinC.mm in Sources */ = {isa = PBXBuildFile; fileRef = 73575EF822BE18B200E9F019 /* LibUniWinC.mm */; };
73B2C793273559A60053A44D /* DebugUniWinCApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73B2C792273559A60053A44D /* DebugUniWinCApp.swift */; };
73B2C795273559A60053A44D /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73B2C794273559A60053A44D /* ContentView.swift */; };
73B2C797273559A60053A44D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 73B2C796273559A60053A44D /* Assets.xcassets */; };
73B2C79A273559A60053A44D /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 73B2C799273559A60053A44D /* Preview Assets.xcassets */; };
73B2C7A5273559A70053A44D /* DebugUniWinCTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73B2C7A4273559A70053A44D /* DebugUniWinCTests.swift */; };
73B2C7AF273559A70053A44D /* DebugUniWinCUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73B2C7AE273559A70053A44D /* DebugUniWinCUITests.swift */; };
73B2C7B1273559A70053A44D /* DebugUniWinCUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73B2C7B0273559A70053A44D /* DebugUniWinCUITestsLaunchTests.swift */; };
73B2C7BD273559C80053A44D /* LibUniWinC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73B2C7BC273559C80053A44D /* LibUniWinC.swift */; };
73B2C7C027355B030053A44D /* OverlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 731C6C6D25724025002E9709 /* OverlayView.swift */; };
73B2C7C127355B060053A44D /* LibUniWinC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73B2C7BC273559C80053A44D /* LibUniWinC.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
73B2C7A1273559A70053A44D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 73DFCB6F22B8ED3300DA41F2 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 73B2C78F273559A60053A44D;
remoteInfo = DebugUniWinC;
};
73B2C7AB273559A70053A44D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 73DFCB6F22B8ED3300DA41F2 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 73B2C78F273559A60053A44D;
remoteInfo = DebugUniWinC;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
7306572424F1F87900FAB8BC /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
731C6C6D25724025002E9709 /* OverlayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverlayView.swift; sourceTree = "<group>"; };
73575EF422BE0AB300E9F019 /* LibUniWinC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibUniWinC.swift; sourceTree = "<group>"; };
73575EF822BE18B200E9F019 /* LibUniWinC.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = LibUniWinC.mm; sourceTree = "<group>"; };
73B2C790273559A60053A44D /* DebugUniWinC.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DebugUniWinC.app; sourceTree = BUILT_PRODUCTS_DIR; };
73B2C792273559A60053A44D /* DebugUniWinCApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugUniWinCApp.swift; sourceTree = "<group>"; };
73B2C794273559A60053A44D /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
73B2C796273559A60053A44D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
73B2C799273559A60053A44D /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
73B2C79B273559A60053A44D /* DebugUniWinC.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugUniWinC.entitlements; sourceTree = "<group>"; };
73B2C7A0273559A70053A44D /* DebugUniWinCTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DebugUniWinCTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
73B2C7A4273559A70053A44D /* DebugUniWinCTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugUniWinCTests.swift; sourceTree = "<group>"; };
73B2C7AA273559A70053A44D /* DebugUniWinCUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DebugUniWinCUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
73B2C7AE273559A70053A44D /* DebugUniWinCUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugUniWinCUITests.swift; sourceTree = "<group>"; };
73B2C7B0273559A70053A44D /* DebugUniWinCUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebugUniWinCUITestsLaunchTests.swift; sourceTree = "<group>"; };
73B2C7BC273559C80053A44D /* LibUniWinC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibUniWinC.swift; sourceTree = "<group>"; };
73DFCB7722B8ED3300DA41F2 /* LibUniWinC.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LibUniWinC.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
73DFCB7A22B8ED3300DA41F2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
73B2C78D273559A60053A44D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
73B2C79D273559A70053A44D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
73B2C7A7273559A70053A44D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
73DFCB7422B8ED3300DA41F2 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -32,10 +90,50 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
73B2C791273559A60053A44D /* DebugUniWinC */ = {
isa = PBXGroup;
children = (
73B2C792273559A60053A44D /* DebugUniWinCApp.swift */,
73B2C794273559A60053A44D /* ContentView.swift */,
73B2C796273559A60053A44D /* Assets.xcassets */,
73B2C79B273559A60053A44D /* DebugUniWinC.entitlements */,
73B2C798273559A60053A44D /* Preview Content */,
);
path = DebugUniWinC;
sourceTree = "<group>";
};
73B2C798273559A60053A44D /* Preview Content */ = {
isa = PBXGroup;
children = (
73B2C799273559A60053A44D /* Preview Assets.xcassets */,
);
path = "Preview Content";
sourceTree = "<group>";
};
73B2C7A3273559A70053A44D /* DebugUniWinCTests */ = {
isa = PBXGroup;
children = (
73B2C7A4273559A70053A44D /* DebugUniWinCTests.swift */,
);
path = DebugUniWinCTests;
sourceTree = "<group>";
};
73B2C7AD273559A70053A44D /* DebugUniWinCUITests */ = {
isa = PBXGroup;
children = (
73B2C7AE273559A70053A44D /* DebugUniWinCUITests.swift */,
73B2C7B0273559A70053A44D /* DebugUniWinCUITestsLaunchTests.swift */,
);
path = DebugUniWinCUITests;
sourceTree = "<group>";
};
73DFCB6E22B8ED3300DA41F2 = {
isa = PBXGroup;
children = (
73DFCB7922B8ED3300DA41F2 /* LibUniWinC */,
73B2C791273559A60053A44D /* DebugUniWinC */,
73B2C7A3273559A70053A44D /* DebugUniWinCTests */,
73B2C7AD273559A70053A44D /* DebugUniWinCUITests */,
73DFCB7822B8ED3300DA41F2 /* Products */,
);
sourceTree = "<group>";
@@ -44,6 +142,9 @@
isa = PBXGroup;
children = (
73DFCB7722B8ED3300DA41F2 /* LibUniWinC.bundle */,
73B2C790273559A60053A44D /* DebugUniWinC.app */,
73B2C7A0273559A70053A44D /* DebugUniWinCTests.xctest */,
73B2C7AA273559A70053A44D /* DebugUniWinCUITests.xctest */,
);
name = Products;
sourceTree = "<group>";
@@ -51,8 +152,8 @@
73DFCB7922B8ED3300DA41F2 /* LibUniWinC */ = {
isa = PBXGroup;
children = (
73B2C7BC273559C80053A44D /* LibUniWinC.swift */,
73DFCB7A22B8ED3300DA41F2 /* Info.plist */,
73575EF422BE0AB300E9F019 /* LibUniWinC.swift */,
73575EF822BE18B200E9F019 /* LibUniWinC.mm */,
7306572424F1F87900FAB8BC /* README.md */,
731C6C6D25724025002E9709 /* OverlayView.swift */,
@@ -63,6 +164,59 @@
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
73B2C78F273559A60053A44D /* DebugUniWinC */ = {
isa = PBXNativeTarget;
buildConfigurationList = 73B2C7B8273559A70053A44D /* Build configuration list for PBXNativeTarget "DebugUniWinC" */;
buildPhases = (
73B2C78C273559A60053A44D /* Sources */,
73B2C78D273559A60053A44D /* Frameworks */,
73B2C78E273559A60053A44D /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = DebugUniWinC;
productName = DebugUniWinC;
productReference = 73B2C790273559A60053A44D /* DebugUniWinC.app */;
productType = "com.apple.product-type.application";
};
73B2C79F273559A70053A44D /* DebugUniWinCTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 73B2C7B9273559A70053A44D /* Build configuration list for PBXNativeTarget "DebugUniWinCTests" */;
buildPhases = (
73B2C79C273559A70053A44D /* Sources */,
73B2C79D273559A70053A44D /* Frameworks */,
73B2C79E273559A70053A44D /* Resources */,
);
buildRules = (
);
dependencies = (
73B2C7A2273559A70053A44D /* PBXTargetDependency */,
);
name = DebugUniWinCTests;
productName = DebugUniWinCTests;
productReference = 73B2C7A0273559A70053A44D /* DebugUniWinCTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
73B2C7A9273559A70053A44D /* DebugUniWinCUITests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 73B2C7BA273559A70053A44D /* Build configuration list for PBXNativeTarget "DebugUniWinCUITests" */;
buildPhases = (
73B2C7A6273559A70053A44D /* Sources */,
73B2C7A7273559A70053A44D /* Frameworks */,
73B2C7A8273559A70053A44D /* Resources */,
);
buildRules = (
);
dependencies = (
73B2C7AC273559A70053A44D /* PBXTargetDependency */,
);
name = DebugUniWinCUITests;
productName = DebugUniWinCUITests;
productReference = 73B2C7AA273559A70053A44D /* DebugUniWinCUITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
73DFCB7622B8ED3300DA41F2 /* LibUniWinC */ = {
isa = PBXNativeTarget;
buildConfigurationList = 73DFCB7D22B8ED3300DA41F2 /* Build configuration list for PBXNativeTarget "LibUniWinC" */;
@@ -87,9 +241,21 @@
73DFCB6F22B8ED3300DA41F2 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1310;
LastUpgradeCheck = 1200;
ORGANIZATIONNAME = kirurobo;
TargetAttributes = {
73B2C78F273559A60053A44D = {
CreatedOnToolsVersion = 13.1;
};
73B2C79F273559A70053A44D = {
CreatedOnToolsVersion = 13.1;
TestTargetID = 73B2C78F273559A60053A44D;
};
73B2C7A9273559A70053A44D = {
CreatedOnToolsVersion = 13.1;
TestTargetID = 73B2C78F273559A60053A44D;
};
73DFCB7622B8ED3300DA41F2 = {
CreatedOnToolsVersion = 10.2.1;
LastSwiftMigration = 1020;
@@ -110,11 +276,37 @@
projectRoot = "";
targets = (
73DFCB7622B8ED3300DA41F2 /* LibUniWinC */,
73B2C78F273559A60053A44D /* DebugUniWinC */,
73B2C79F273559A70053A44D /* DebugUniWinCTests */,
73B2C7A9273559A70053A44D /* DebugUniWinCUITests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
73B2C78E273559A60053A44D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
73B2C79A273559A60053A44D /* Preview Assets.xcassets in Resources */,
73B2C797273559A60053A44D /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
73B2C79E273559A70053A44D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
73B2C7A8273559A70053A44D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
73DFCB7522B8ED3300DA41F2 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -145,19 +337,229 @@
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
73B2C78C273559A60053A44D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
73B2C795273559A60053A44D /* ContentView.swift in Sources */,
73B2C7C127355B060053A44D /* LibUniWinC.swift in Sources */,
73B2C793273559A60053A44D /* DebugUniWinCApp.swift in Sources */,
73B2C7C027355B030053A44D /* OverlayView.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
73B2C79C273559A70053A44D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
73B2C7A5273559A70053A44D /* DebugUniWinCTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
73B2C7A6273559A70053A44D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
73B2C7B1273559A70053A44D /* DebugUniWinCUITestsLaunchTests.swift in Sources */,
73B2C7AF273559A70053A44D /* DebugUniWinCUITests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
73DFCB7322B8ED3300DA41F2 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
73B2C7BD273559C80053A44D /* LibUniWinC.swift in Sources */,
731C6C6E25724025002E9709 /* OverlayView.swift in Sources */,
73575EF922BE18B200E9F019 /* LibUniWinC.mm in Sources */,
73575EF522BE0AB300E9F019 /* LibUniWinC.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
73B2C7A2273559A70053A44D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 73B2C78F273559A60053A44D /* DebugUniWinC */;
targetProxy = 73B2C7A1273559A70053A44D /* PBXContainerItemProxy */;
};
73B2C7AC273559A70053A44D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 73B2C78F273559A60053A44D /* DebugUniWinC */;
targetProxy = 73B2C7AB273559A70053A44D /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
73B2C7B2273559A70053A44D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_ENTITLEMENTS = DebugUniWinC/DebugUniWinC.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"DebugUniWinC/Preview Content\"";
DEVELOPMENT_TEAM = F4K53USRZ7;
ENABLE_HARDENED_RUNTIME = YES;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2021 kirurobo. All rights reserved.";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.kirurobo.DebugUniWinC;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
73B2C7B3273559A70053A44D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_ENTITLEMENTS = DebugUniWinC/DebugUniWinC.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"DebugUniWinC/Preview Content\"";
DEVELOPMENT_TEAM = F4K53USRZ7;
ENABLE_HARDENED_RUNTIME = YES;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2021 kirurobo. All rights reserved.";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.kirurobo.DebugUniWinC;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
};
name = Release;
};
73B2C7B4273559A70053A44D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = F4K53USRZ7;
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.kirurobo.DebugUniWinCTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DebugUniWinC.app/Contents/MacOS/DebugUniWinC";
};
name = Debug;
};
73B2C7B5273559A70053A44D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = F4K53USRZ7;
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.kirurobo.DebugUniWinCTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DebugUniWinC.app/Contents/MacOS/DebugUniWinC";
};
name = Release;
};
73B2C7B6273559A70053A44D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = F4K53USRZ7;
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.kirurobo.DebugUniWinCUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TEST_TARGET_NAME = DebugUniWinC;
};
name = Debug;
};
73B2C7B7273559A70053A44D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = F4K53USRZ7;
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
"@loader_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.kirurobo.DebugUniWinCUITests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
TEST_TARGET_NAME = DebugUniWinC;
};
name = Release;
};
73DFCB7B22B8ED3300DA41F2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -331,6 +733,33 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
73B2C7B8273559A70053A44D /* Build configuration list for PBXNativeTarget "DebugUniWinC" */ = {
isa = XCConfigurationList;
buildConfigurations = (
73B2C7B2273559A70053A44D /* Debug */,
73B2C7B3273559A70053A44D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
73B2C7B9273559A70053A44D /* Build configuration list for PBXNativeTarget "DebugUniWinCTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
73B2C7B4273559A70053A44D /* Debug */,
73B2C7B5273559A70053A44D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
73B2C7BA273559A70053A44D /* Build configuration list for PBXNativeTarget "DebugUniWinCUITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
73B2C7B6273559A70053A44D /* Debug */,
73B2C7B7273559A70053A44D /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
73DFCB7222B8ED3300DA41F2 /* Build configuration list for PBXProject "LibUniWinC" */ = {
isa = XCConfigurationList;
buildConfigurations = (

View File

@@ -301,7 +301,7 @@ public class LibUniWinC : NSObject {
/// Set the target window
/// Restore the former winodw if exist
private static func _attachWindow(window: NSWindow) -> Void {
public static func _attachWindow(window: NSWindow) -> Void {
// Do nothing if the same window is the target
if (targetWindow == window) {
return