gtk-mac-integration 0.3.0.2 → 0.3.1.1
raw patch · 9 files changed
+43/−19 lines, 9 files
Files
- Graphics/UI/Gtk/OSX.hs +4/−2
- Graphics/UI/Gtk/OSX/Signals.chs +2/−2
- Graphics/UI/Gtk/OSX/Window.chs +13/−0
- Graphics/UI/Gtk/OSX/extra.m +11/−0
- Gtk2HsSetup.hs +3/−8
- SetupMain.hs +1/−1
- SetupWrapper.hs +3/−3
- gtk-mac-integration.cabal +5/−3
- hs-gtk-mac-integration.h +1/−0
Graphics/UI/Gtk/OSX.hs view
@@ -1,5 +1,7 @@ module Graphics.UI.Gtk.OSX (- module Graphics.UI.Gtk.OSX.Application- ) where+ module Graphics.UI.Gtk.OSX.Application+ , module Graphics.UI.Gtk.OSX.Window+) where import Graphics.UI.Gtk.OSX.Application+import Graphics.UI.Gtk.OSX.Window
Graphics/UI/Gtk/OSX/Signals.chs view
@@ -48,10 +48,10 @@ ) where -import Control.Monad (liftM)+import Control.Monad (liftM) import System.Glib.FFI-import System.Glib.UTFString (peekUTFString,maybePeekUTFString)+import System.Glib.UTFString (peekUTFString,maybePeekUTFString,newUTFString) import qualified System.Glib.UTFString as Glib import System.Glib.GError (failOnGError) {#import System.Glib.Signals#}
+ Graphics/UI/Gtk/OSX/Window.chs view
@@ -0,0 +1,13 @@+{-# LANGUAGE CPP #-}+module Graphics.UI.Gtk.OSX.Window (+ allowFullscreen+) where++import System.Glib.FFI+{#import Graphics.UI.Gtk.OSX.Types#}++allowFullscreen :: DrawWindowClass window => window -> IO ()+allowFullscreen window =+ {# call unsafe gtk2hs_osx_allow_fullscreen #}+ (toDrawWindow window)+
+ Graphics/UI/Gtk/OSX/extra.m view
@@ -0,0 +1,11 @@+#include <gtk/gtk.h>+#include <gdk/gdkquartz.h>++void gtk2hs_osx_allow_fullscreen(GdkWindow *wnd)+{+ if (wnd != NULL)+ {+ NSWindow *native = gdk_quartz_window_get_nswindow (wnd);+ [native setCollectionBehavior: [native collectionBehavior] | NSWindowCollectionBehaviorFullScreenPrimary];+ }+}
Gtk2HsSetup.hs view
@@ -429,15 +429,10 @@ let modDeps = zipWith (ModDep True []) expMods mExpFiles++ zipWith (ModDep False []) othMods mOthFiles modDeps <- mapM extractDeps modDeps- let (expMods, othMods) = span mdExposed $ sortTopological modDeps- badOther = map (fromMaybe "<no file>" . mdLocation) $- filter (not . mdExposed) expMods- unless (null badOther) $- die ("internal chs modules "++intercalate "," badOther++- " depend on exposed chs modules; cabal needs to build internal modules first")+ let (othMods, expMods) = span (not . mdExposed) $ reverse $ sortTopological modDeps return pd { PD.library = Just lib {- PD.exposedModules = map mdOriginal expMods,- PD.libBuildInfo = bi { PD.otherModules = map mdOriginal othMods }+ PD.exposedModules = map mdOriginal (reverse expMods),+ PD.libBuildInfo = bi { PD.otherModules = map mdOriginal (reverse othMods) } }} data ModDep = ModDep {
SetupMain.hs view
@@ -10,4 +10,4 @@ main = do checkGtk2hsBuildtools [typeGenProgram, signalGenProgram, c2hsLocal] defaultMainWithHooks gtk2hsUserHooks- +
SetupWrapper.hs view
@@ -9,7 +9,7 @@ import Distribution.Simple.Program import Distribution.Simple.Compiler import Distribution.Simple.BuildPaths (exeExtension)-import Distribution.Simple.Configure (configCompiler)+import Distribution.Simple.Configure (configCompilerEx) import Distribution.Simple.GHC (getInstalledPackages) import qualified Distribution.Simple.PackageIndex as PackageIndex import Distribution.Version@@ -18,7 +18,7 @@ import System.Environment import System.Process-import System.Exit+import System.Exit (ExitCode(..), exitWith) import System.FilePath import System.Directory import qualified Control.Exception as Exception@@ -115,7 +115,7 @@ when outOfDate $ do debug verbosity "Setup script is out of date, compiling..." - (comp, conf) <- configCompiler (Just GHC) Nothing Nothing+ (comp, _, conf) <- configCompilerEx (Just GHC) Nothing Nothing defaultProgramConfiguration verbosity cabalLibVersion <- cabalLibVersionToUse comp conf let cabalPkgid = PackageIdentifier (PackageName "Cabal") cabalLibVersion
gtk-mac-integration.cabal view
@@ -1,5 +1,5 @@ Name: gtk-mac-integration-Version: 0.3.0.2+Version: 0.3.1.1 License: LGPL-2.1 License-file: COPYING Copyright: (c) 2001-2010 The Gtk2Hs Team@@ -35,7 +35,7 @@ Source-Repository head type: git- location: https://github.com/gtk2hs/ige-mac-integration+ location: https://github.com/gtk2hs/gtk-mac-integration.git Library build-depends: base >= 4 && < 5, array -any, containers -any, mtl -any,@@ -48,6 +48,7 @@ exposed-modules: Graphics.UI.Gtk.OSX Graphics.UI.Gtk.OSX.Application+ Graphics.UI.Gtk.OSX.Window other-modules: Graphics.UI.Gtk.OSX.Types Graphics.UI.Gtk.OSX.Signals@@ -56,11 +57,12 @@ include-dirs: . cpp-options: -DDISABLE_DEPRECATED -U__BLOCKS__ -D__attribute__(A)=+ c-sources: Graphics/UI/Gtk/OSX/extra.m x-Signals-File: Graphics/UI/Gtk/OSX/Signals.chs x-Signals-Modname: Graphics.UI.Gtk.OSX.Signals x-Signals-Types: marshal.list x-c2hs-Header: hs-gtk-mac-integration.h- pkgconfig-depends: gtk-mac-integration >=2.0.0+ pkgconfig-depends: gtk-mac-integration-gtk2 >=2.0.0
hs-gtk-mac-integration.h view
@@ -3,3 +3,4 @@ #endif #include <gtkosxapplication.h> +void gtk2hs_osx_allow_fullscreen(GdkWindow *wnd);