 -- It's permitted to call this function before showing a window, in which
 -- case the window will be maximized when it appears onscreen initially.
 --
--- You can track maximization via the \"window_state_event\" signal on
+-- You can track maximization via the 'windowStateEvent' signal on
 -- 'Widget'.
 --
 windowMaximize :: WindowClass self => self -> IO ()


--------------------
-- 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

-- * Available since Gtk+ version 2.14
--
windowGetDefaultWidget :: WindowClass self => self
 -> IO (Maybe Widget)
windowGetDefaultWidget self = 
  maybeNull (makeNewObject mkWidget) $
  {# call window_get_default_widget #}
    (toWindow self)
#endif

-- | The default widget is the widget that's activated when the user presses
--   Enter in a dialog (for example). This function sets or unsets the default
--   widget for a Window about. When setting (rather than unsetting) the
--   default widget it's generally easier to call widgetGrabDefault on the
--   widget. Before making a widget the default widget, you must set the
--   'widgetCanDefault' flag on the widget.
--
windowSetDefault :: (WindowClass self, WidgetClass widget) => self
  -> Maybe widget
