diff --git a/.gitmodules b/.gitmodules
index 98f2c29d..57c5dd55 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -12,7 +12,8 @@
url = https://github.com/AndrewBelt/oui-blendish.git
[submodule "dep/glfw"]
path = dep/glfw
- url = https://github.com/glfw/glfw.git
+ url = https://github.com/AndrewBelt/glfw.git
+ branch = openedFilename
[submodule "dep/rtaudio"]
path = dep/rtaudio
url = https://github.com/thestk/rtaudio.git
diff --git a/Info.plist b/Info.plist
index 02d829e7..c16f4705 100644
--- a/Info.plist
+++ b/Info.plist
@@ -28,5 +28,25 @@
NSApplication
NSHighResolutionCapable
YES
+
+ CFBundleDocumentTypes
+
+
+ CFBundleTypeExtensions
+
+ vcv
+
+ CFBundleTypeIconFile
+ icon.icns
+ CFBundleTypeName
+ VCV Rack Patch
+ CFBundleTypeOSTypes
+
+ RACK
+
+ CFBundleTypeRole
+ Editor
+
+
diff --git a/dep/glfw b/dep/glfw
index 29d8ca4c..7ba23eb0 160000
--- a/dep/glfw
+++ b/dep/glfw
@@ -1 +1 @@
-Subproject commit 29d8ca4ce4aef8e0afca62b8ace9ee18a24a9ffd
+Subproject commit 7ba23eb03854dfe6ce36cc6d61cb913f76cad774
diff --git a/src/main.cpp b/src/main.cpp
index eafa6a4a..a31fd699 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -124,6 +124,12 @@ int main(int argc, char *argv[]) {
INFO("Initializing app");
settings.load(asset::user("settings.json"));
appInit(headless);
+
+ const char *openedFilename = glfwGetOpenedFilename();
+ if (openedFilename) {
+ patchPath = openedFilename;
+ }
+
if (!headless) {
APP->scene->devMode = devMode;
APP->patch->init(patchPath);