chiark / gitweb /
Add full screen option for MacOS.
authorDaid <Daid303@gmail.com>
Fri, 4 Jan 2013 13:50:29 +0000 (14:50 +0100)
committerDaid <Daid303@gmail.com>
Fri, 4 Jan 2013 13:50:29 +0000 (14:50 +0100)
Cura/gui/app.py

index 6bb9db6ff00ebb43b7df20d0a2555ebfa2b79eeb..6372d7236c9eabe0e88b1855689423175c86cde7 100644 (file)
@@ -60,3 +60,25 @@ class CuraApp(wx.App):
                if self.splash is not None:
                        self.splash.Show(False)
                self.mainWindow = mainWindow.mainWindow()
+
+               setFullScreenCapable(self.mainWindow)
+
+if platform.system() == "Darwin":
+       import ctypes, objc
+       _objc = ctypes.PyDLL(objc._objc.__file__)
+
+       # PyObject *PyObjCObject_New(id objc_object, int flags, int retain)
+       _objc.PyObjCObject_New.restype = ctypes.py_object
+       _objc.PyObjCObject_New.argtypes = [ctypes.c_void_p, ctypes.c_int, ctypes.c_int]
+
+       def setFullScreenCapable(frame):
+               frameobj = _objc.PyObjCObject_New(frame.GetHandle(), 0, 1)
+
+               NSWindowCollectionBehaviorFullScreenPrimary = 1<<7
+               window = frameobj.window()
+               newBehavior = window.collectionBehavior() | NSWindowCollectionBehaviorFullScreenPrimary
+               window.setCollectionBehavior_(newBehavior)
+
+else:
+       def setFullScreenCapable(frame):
+               pass