     (fromIntegral $ minSizeFlag .|. maxSizeFlag .|. baseSizeFlag
                  .|. incSizeFlag .|. aspectFlag)
 
+{# enum GdkWindowHints {underscoreToCase} #}
+
 #if GTK_CHECK_VERSION(2,12,0)
 -- | Request the windowing system to make window partially transparent, with opacity 0 being fully transparent and 1 fully opaque. 
 -- (Values of the opacity parameter are clamped to the [0,1] range.) 


--------------------
-- Signals
-- | The 'activateDefault' signal is a keybinding signal which gets emitted when the user activates the default widget of window.
activateDefault :: WindowClass self => Signal self (IO ())
activateDefault = Signal (connect_NONE__NONE "activate_default")

-- | The 'activateDefault' signal is a keybinding signal which gets emitted when the user activates the currently focused widget of window.
activateFocus :: WindowClass self => Signal self (IO ())
activateFocus = Signal (connect_NONE__NONE "activate_focus")

-- | Observe events that are emitted on the frame of this window.
-- 
frameEvent :: WindowClass self => Signal self (EventM EAny Bool)
frameEvent = Signal (\after obj fun ->
                     connect_PTR__BOOL "frame_event" after obj (runReaderT fun))

-- | The 'keysChanged' signal gets emitted when the set of accelerators or mnemonics that are associated with window changes.
--
keysChanged :: WindowClass self => Signal self (IO ())
keysChanged = Signal (connect_NONE__NONE "keys_changed")

-- | Observe a change in input focus.
--
setFocus :: WindowClass self => Signal self (Widget -> IO ())
setFocus = Signal (connect_OBJECT__NONE "set_focus")

-- * Deprecated
#ifndef DISABLE_DEPRECATED

{#import Graphics.UI.Gtk.Types#}
{#import Graphics.UI.Gtk.Signals#}
{#import Graphics.UI.Gtk.Gdk.Enums#}    (Modifier(..))
{#import Graphics.UI.Gtk.Gdk.Keys#}     (KeyVal)
import Graphics.UI.Gtk.Gdk.EventM	(EventM, EAny, EKey, MouseButton, TimeStamp)
import Control.Monad.Reader             ( runReaderT, ask )
import Control.Monad.Trans              ( liftIO )
