diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index d27872991..ff8a11cef 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -48,7 +48,7 @@ compose.desktop {
bundleID = "org.processing.app"
iconFile = project.file("../build/macos/processing.icns")
infoPlist{
-
+ extraKeysRawXml = plistStrings
}
}
windows{
@@ -202,3 +202,77 @@ afterEvaluate {
}
tasks.findByName("createDistributable")?.finalizedBy("setExecutablePermissions")
}
+
+val plistStrings: String
+ get() = """
+ CFBundleURLTypes
+
+
+ CFBundleURLName
+ org.processing.app
+ CFBundleURLSchemes
+
+ pde
+
+
+
+ CFBundleDocumentTypes
+
+
+ CFBundleTypeExtensions
+
+ pde
+
+ LSTypeIsPackage
+
+ CFBundleTypeIconFile
+ macos/pde.icns
+ CFBundleTypeName
+ Processing Source Code
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ pyde
+
+ LSTypeIsPackage
+
+ CFBundleTypeIconFile
+ macos/pde.icns
+ CFBundleTypeName
+ Processing Python Source Code
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ pdez
+
+ LSTypeIsPackage
+
+ CFBundleTypeIconFile
+ macos/pdez.icns
+ CFBundleTypeName
+ Processing Sketch Bundle
+ CFBundleTypeRole
+ Editor
+
+
+ CFBundleTypeExtensions
+
+ pdex
+
+ LSTypeIsPackage
+
+ CFBundleTypeIconFile
+ macos/pdex.icns
+ CFBundleTypeName
+ Processing Contribution Bundle
+ CFBundleTypeRole
+ Viewer
+
+
+""".trimIndent()
\ No newline at end of file