    {-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}

    -- | Copyright  : Will Thompson and Iñaki García Etxebarria
    -- License    : LGPL-2.1
    -- Maintainer : Iñaki García Etxebarria
    --
    -- Together with t'GI.Gtk.Objects.Socket.Socket', t'GI.Gtk.Objects.Plug.Plug' provides the ability to embed
    -- widgets from one process into another process in a fashion that is
    -- transparent to the user. One process creates a t'GI.Gtk.Objects.Socket.Socket' widget
    -- and passes the ID of that widget’s window to the other process,
    -- which then creates a t'GI.Gtk.Objects.Plug.Plug' with that window ID. Any widgets
    -- contained in the t'GI.Gtk.Objects.Plug.Plug' then will appear inside the first
    -- application’s window.
    --
    -- The communication between a t'GI.Gtk.Objects.Socket.Socket' and a t'GI.Gtk.Objects.Plug.Plug' follows the
    -- <http://www.freedesktop.org/Standards/xembed-spec XEmbed Protocol>.
    -- This protocol has also been implemented in other toolkits, e.g. Qt,
    -- allowing the same level of integration when embedding a Qt widget
    -- in GTK+ or vice versa.
    --
    -- The t'GI.Gtk.Objects.Plug.Plug' and t'GI.Gtk.Objects.Socket.Socket' widgets are only available when GTK+
    -- is compiled for the X11 platform and @/GDK_WINDOWING_X11/@ is defined.
    -- They can only be used on a @/GdkX11Display/@. To use t'GI.Gtk.Objects.Plug.Plug' and
    -- t'GI.Gtk.Objects.Socket.Socket', you need to include the @gtk\/gtkx.h@ header.

    #if !defined(__HADDOCK_VERSION__)
    #define ENABLE_OVERLOADING
    #endif

    module GI.Gtk.Objects.Plug
        (

    -- * Exported types
        Plug(..)                                ,
        IsPlug                                  ,
        toPlug                                  ,

     -- * Methods
    -- |
    --
    --  === __Click to display all available methods, including inherited ones__
    -- ==== Methods
    -- [activate]("GI.Gtk.Objects.Widget#g:method:activate"), [activateDefault]("GI.Gtk.Objects.Window#g:method:activateDefault"), [activateFocus]("GI.Gtk.Objects.Window#g:method:activateFocus"), [activateKey]("GI.Gtk.Objects.Window#g:method:activateKey"), [add]("GI.Gtk.Objects.Container#g:method:add"), [addAccelGroup]("GI.Gtk.Objects.Window#g:method:addAccelGroup"), [addAccelerator]("GI.Gtk.Objects.Widget#g:method:addAccelerator"), [addChild]("GI.Gtk.Interfaces.Buildable#g:method:addChild"), [addDeviceEvents]("GI.Gtk.Objects.Widget#g:method:addDeviceEvents"), [addEvents]("GI.Gtk.Objects.Widget#g:method:addEvents"), [addMnemonic]("GI.Gtk.Objects.Window#g:method:addMnemonic"), [addMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:addMnemonicLabel"), [addTickCallback]("GI.Gtk.Objects.Widget#g:method:addTickCallback"), [beginMoveDrag]("GI.Gtk.Objects.Window#g:method:beginMoveDrag"), [beginResizeDrag]("GI.Gtk.Objects.Window#g:method:beginResizeDrag"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [canActivateAccel]("GI.Gtk.Objects.Widget#g:method:canActivateAccel"), [checkResize]("GI.Gtk.Objects.Container#g:method:checkResize"), [childFocus]("GI.Gtk.Objects.Widget#g:method:childFocus"), [childGetProperty]("GI.Gtk.Objects.Container#g:method:childGetProperty"), [childNotify]("GI.Gtk.Objects.Container#g:method:childNotify"), [childNotifyByPspec]("GI.Gtk.Objects.Container#g:method:childNotifyByPspec"), [childSetProperty]("GI.Gtk.Objects.Container#g:method:childSetProperty"), [childType]("GI.Gtk.Objects.Container#g:method:childType"), [classPath]("GI.Gtk.Objects.Widget#g:method:classPath"), [close]("GI.Gtk.Objects.Window#g:method:close"), [computeExpand]("GI.Gtk.Objects.Widget#g:method:computeExpand"), [construct]("GI.Gtk.Objects.Plug#g:method:construct"), [constructChild]("GI.Gtk.Interfaces.Buildable#g:method:constructChild"), [constructForDisplay]("GI.Gtk.Objects.Plug#g:method:constructForDisplay"), [createPangoContext]("GI.Gtk.Objects.Widget#g:method:createPangoContext"), [createPangoLayout]("GI.Gtk.Objects.Widget#g:method:createPangoLayout"), [customFinished]("GI.Gtk.Interfaces.Buildable#g:method:customFinished"), [customTagEnd]("GI.Gtk.Interfaces.Buildable#g:method:customTagEnd"), [customTagStart]("GI.Gtk.Interfaces.Buildable#g:method:customTagStart"), [deiconify]("GI.Gtk.Objects.Window#g:method:deiconify"), [destroy]("GI.Gtk.Objects.Widget#g:method:destroy"), [destroyed]("GI.Gtk.Objects.Widget#g:method:destroyed"), [deviceIsShadowed]("GI.Gtk.Objects.Widget#g:method:deviceIsShadowed"), [dragBegin]("GI.Gtk.Objects.Widget#g:method:dragBegin"), [dragBeginWithCoordinates]("GI.Gtk.Objects.Widget#g:method:dragBeginWithCoordinates"), [dragCheckThreshold]("GI.Gtk.Objects.Widget#g:method:dragCheckThreshold"), [dragDestAddImageTargets]("GI.Gtk.Objects.Widget#g:method:dragDestAddImageTargets"), [dragDestAddTextTargets]("GI.Gtk.Objects.Widget#g:method:dragDestAddTextTargets"), [dragDestAddUriTargets]("GI.Gtk.Objects.Widget#g:method:dragDestAddUriTargets"), [dragDestFindTarget]("GI.Gtk.Objects.Widget#g:method:dragDestFindTarget"), [dragDestGetTargetList]("GI.Gtk.Objects.Widget#g:method:dragDestGetTargetList"), [dragDestGetTrackMotion]("GI.Gtk.Objects.Widget#g:method:dragDestGetTrackMotion"), [dragDestSet]("GI.Gtk.Objects.Widget#g:method:dragDestSet"), [dragDestSetProxy]("GI.Gtk.Objects.Widget#g:method:dragDestSetProxy"), [dragDestSetTargetList]("GI.Gtk.Objects.Widget#g:method:dragDestSetTargetList"), [dragDestSetTrackMotion]("GI.Gtk.Objects.Widget#g:method:dragDestSetTrackMotion"), [dragDestUnset]("GI.Gtk.Objects.Widget#g:method:dragDestUnset"), [dragGetData]("GI.Gtk.Objects.Widget#g:method:dragGetData"), [dragHighlight]("GI.Gtk.Objects.Widget#g:method:dragHighlight"), [dragSourceAddImageTargets]("GI.Gtk.Objects.Widget#g:method:dragSourceAddImageTargets"), [dragSourceAddTextTargets]("GI.Gtk.Objects.Widget#g:method:dragSourceAddTextTargets"), [dragSourceAddUriTargets]("GI.Gtk.Objects.Widget#g:method:dragSourceAddUriTargets"), [dragSourceGetTargetList]("GI.Gtk.Objects.Widget#g:method:dragSourceGetTargetList"), [dragSourceSet]("GI.Gtk.Objects.Widget#g:method:dragSourceSet"), [dragSourceSetIconGicon]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconGicon"), [dragSourceSetIconName]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconName"), [dragSourceSetIconPixbuf]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconPixbuf"), [dragSourceSetIconStock]("GI.Gtk.Objects.Widget#g:method:dragSourceSetIconStock"), [dragSourceSetTargetList]("GI.Gtk.Objects.Widget#g:method:dragSourceSetTargetList"), [dragSourceUnset]("GI.Gtk.Objects.Widget#g:method:dragSourceUnset"), [dragUnhighlight]("GI.Gtk.Objects.Widget#g:method:dragUnhighlight"), [draw]("GI.Gtk.Objects.Widget#g:method:draw"), [ensureStyle]("GI.Gtk.Objects.Widget#g:method:ensureStyle"), [errorBell]("GI.Gtk.Objects.Widget#g:method:errorBell"), [event]("GI.Gtk.Objects.Widget#g:method:event"), [forall]("GI.Gtk.Objects.Container#g:method:forall"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [foreach]("GI.Gtk.Objects.Container#g:method:foreach"), [freezeChildNotify]("GI.Gtk.Objects.Widget#g:method:freezeChildNotify"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [fullscreen]("GI.Gtk.Objects.Window#g:method:fullscreen"), [fullscreenOnMonitor]("GI.Gtk.Objects.Window#g:method:fullscreenOnMonitor"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [grabAdd]("GI.Gtk.Objects.Widget#g:method:grabAdd"), [grabDefault]("GI.Gtk.Objects.Widget#g:method:grabDefault"), [grabFocus]("GI.Gtk.Objects.Widget#g:method:grabFocus"), [grabRemove]("GI.Gtk.Objects.Widget#g:method:grabRemove"), [hasDefault]("GI.Gtk.Objects.Widget#g:method:hasDefault"), [hasFocus]("GI.Gtk.Objects.Widget#g:method:hasFocus"), [hasGrab]("GI.Gtk.Objects.Widget#g:method:hasGrab"), [hasGroup]("GI.Gtk.Objects.Window#g:method:hasGroup"), [hasRcStyle]("GI.Gtk.Objects.Widget#g:method:hasRcStyle"), [hasScreen]("GI.Gtk.Objects.Widget#g:method:hasScreen"), [hasToplevelFocus]("GI.Gtk.Objects.Window#g:method:hasToplevelFocus"), [hasVisibleFocus]("GI.Gtk.Objects.Widget#g:method:hasVisibleFocus"), [hide]("GI.Gtk.Objects.Widget#g:method:hide"), [hideOnDelete]("GI.Gtk.Objects.Widget#g:method:hideOnDelete"), [iconify]("GI.Gtk.Objects.Window#g:method:iconify"), [inDestruction]("GI.Gtk.Objects.Widget#g:method:inDestruction"), [initTemplate]("GI.Gtk.Objects.Widget#g:method:initTemplate"), [inputShapeCombineRegion]("GI.Gtk.Objects.Widget#g:method:inputShapeCombineRegion"), [insertActionGroup]("GI.Gtk.Objects.Widget#g:method:insertActionGroup"), [intersect]("GI.Gtk.Objects.Widget#g:method:intersect"), [isActive]("GI.Gtk.Objects.Window#g:method:isActive"), [isAncestor]("GI.Gtk.Objects.Widget#g:method:isAncestor"), [isComposited]("GI.Gtk.Objects.Widget#g:method:isComposited"), [isDrawable]("GI.Gtk.Objects.Widget#g:method:isDrawable"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [isFocus]("GI.Gtk.Objects.Widget#g:method:isFocus"), [isMaximized]("GI.Gtk.Objects.Window#g:method:isMaximized"), [isSensitive]("GI.Gtk.Objects.Widget#g:method:isSensitive"), [isToplevel]("GI.Gtk.Objects.Widget#g:method:isToplevel"), [isVisible]("GI.Gtk.Objects.Widget#g:method:isVisible"), [keynavFailed]("GI.Gtk.Objects.Widget#g:method:keynavFailed"), [listAccelClosures]("GI.Gtk.Objects.Widget#g:method:listAccelClosures"), [listActionPrefixes]("GI.Gtk.Objects.Widget#g:method:listActionPrefixes"), [listMnemonicLabels]("GI.Gtk.Objects.Widget#g:method:listMnemonicLabels"), [map]("GI.Gtk.Objects.Widget#g:method:map"), [maximize]("GI.Gtk.Objects.Window#g:method:maximize"), [mnemonicActivate]("GI.Gtk.Objects.Window#g:method:mnemonicActivate"), [modifyBase]("GI.Gtk.Objects.Widget#g:method:modifyBase"), [modifyBg]("GI.Gtk.Objects.Widget#g:method:modifyBg"), [modifyCursor]("GI.Gtk.Objects.Widget#g:method:modifyCursor"), [modifyFg]("GI.Gtk.Objects.Widget#g:method:modifyFg"), [modifyFont]("GI.Gtk.Objects.Widget#g:method:modifyFont"), [modifyStyle]("GI.Gtk.Objects.Widget#g:method:modifyStyle"), [modifyText]("GI.Gtk.Objects.Widget#g:method:modifyText"), [move]("GI.Gtk.Objects.Window#g:method:move"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [overrideBackgroundColor]("GI.Gtk.Objects.Widget#g:method:overrideBackgroundColor"), [overrideColor]("GI.Gtk.Objects.Widget#g:method:overrideColor"), [overrideCursor]("GI.Gtk.Objects.Widget#g:method:overrideCursor"), [overrideFont]("GI.Gtk.Objects.Widget#g:method:overrideFont"), [overrideSymbolicColor]("GI.Gtk.Objects.Widget#g:method:overrideSymbolicColor"), [parseGeometry]("GI.Gtk.Objects.Window#g:method:parseGeometry"), [parserFinished]("GI.Gtk.Interfaces.Buildable#g:method:parserFinished"), [path]("GI.Gtk.Objects.Widget#g:method:path"), [present]("GI.Gtk.Objects.Window#g:method:present"), [presentWithTime]("GI.Gtk.Objects.Window#g:method:presentWithTime"), [propagateDraw]("GI.Gtk.Objects.Container#g:method:propagateDraw"), [propagateKeyEvent]("GI.Gtk.Objects.Window#g:method:propagateKeyEvent"), [queueAllocate]("GI.Gtk.Objects.Widget#g:method:queueAllocate"), [queueComputeExpand]("GI.Gtk.Objects.Widget#g:method:queueComputeExpand"), [queueDraw]("GI.Gtk.Objects.Widget#g:method:queueDraw"), [queueDrawArea]("GI.Gtk.Objects.Widget#g:method:queueDrawArea"), [queueDrawRegion]("GI.Gtk.Objects.Widget#g:method:queueDrawRegion"), [queueResize]("GI.Gtk.Objects.Widget#g:method:queueResize"), [queueResizeNoRedraw]("GI.Gtk.Objects.Widget#g:method:queueResizeNoRedraw"), [realize]("GI.Gtk.Objects.Widget#g:method:realize"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [regionIntersect]("GI.Gtk.Objects.Widget#g:method:regionIntersect"), [registerWindow]("GI.Gtk.Objects.Widget#g:method:registerWindow"), [remove]("GI.Gtk.Objects.Container#g:method:remove"), [removeAccelGroup]("GI.Gtk.Objects.Window#g:method:removeAccelGroup"), [removeAccelerator]("GI.Gtk.Objects.Widget#g:method:removeAccelerator"), [removeMnemonic]("GI.Gtk.Objects.Window#g:method:removeMnemonic"), [removeMnemonicLabel]("GI.Gtk.Objects.Widget#g:method:removeMnemonicLabel"), [removeTickCallback]("GI.Gtk.Objects.Widget#g:method:removeTickCallback"), [renderIcon]("GI.Gtk.Objects.Widget#g:method:renderIcon"), [renderIconPixbuf]("GI.Gtk.Objects.Widget#g:method:renderIconPixbuf"), [reparent]("GI.Gtk.Objects.Widget#g:method:reparent"), [resetRcStyles]("GI.Gtk.Objects.Widget#g:method:resetRcStyles"), [resetStyle]("GI.Gtk.Objects.Widget#g:method:resetStyle"), [reshowWithInitialSize]("GI.Gtk.Objects.Window#g:method:reshowWithInitialSize"), [resize]("GI.Gtk.Objects.Window#g:method:resize"), [resizeChildren]("GI.Gtk.Objects.Container#g:method:resizeChildren"), [resizeGripIsVisible]("GI.Gtk.Objects.Window#g:method:resizeGripIsVisible"), [resizeToGeometry]("GI.Gtk.Objects.Window#g:method:resizeToGeometry"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [sendExpose]("GI.Gtk.Objects.Widget#g:method:sendExpose"), [sendFocusChange]("GI.Gtk.Objects.Widget#g:method:sendFocusChange"), [shapeCombineRegion]("GI.Gtk.Objects.Widget#g:method:shapeCombineRegion"), [show]("GI.Gtk.Objects.Widget#g:method:show"), [showAll]("GI.Gtk.Objects.Widget#g:method:showAll"), [showNow]("GI.Gtk.Objects.Widget#g:method:showNow"), [sizeAllocate]("GI.Gtk.Objects.Widget#g:method:sizeAllocate"), [sizeAllocateWithBaseline]("GI.Gtk.Objects.Widget#g:method:sizeAllocateWithBaseline"), [sizeRequest]("GI.Gtk.Objects.Widget#g:method:sizeRequest"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [stick]("GI.Gtk.Objects.Window#g:method:stick"), [styleAttach]("GI.Gtk.Objects.Widget#g:method:styleAttach"), [styleGetProperty]("GI.Gtk.Objects.Widget#g:method:styleGetProperty"), [thawChildNotify]("GI.Gtk.Objects.Widget#g:method:thawChildNotify"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [translateCoordinates]("GI.Gtk.Objects.Widget#g:method:translateCoordinates"), [triggerTooltipQuery]("GI.Gtk.Objects.Widget#g:method:triggerTooltipQuery"), [unfullscreen]("GI.Gtk.Objects.Window#g:method:unfullscreen"), [unmap]("GI.Gtk.Objects.Widget#g:method:unmap"), [unmaximize]("GI.Gtk.Objects.Window#g:method:unmaximize"), [unparent]("GI.Gtk.Objects.Widget#g:method:unparent"), [unrealize]("GI.Gtk.Objects.Widget#g:method:unrealize"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [unregisterWindow]("GI.Gtk.Objects.Widget#g:method:unregisterWindow"), [unsetFocusChain]("GI.Gtk.Objects.Container#g:method:unsetFocusChain"), [unsetStateFlags]("GI.Gtk.Objects.Widget#g:method:unsetStateFlags"), [unstick]("GI.Gtk.Objects.Window#g:method:unstick"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
    --
    -- ==== Getters
    -- [getAcceptFocus]("GI.Gtk.Objects.Window#g:method:getAcceptFocus"), [getAccessible]("GI.Gtk.Objects.Widget#g:method:getAccessible"), [getActionGroup]("GI.Gtk.Objects.Widget#g:method:getActionGroup"), [getAllocatedBaseline]("GI.Gtk.Objects.Widget#g:method:getAllocatedBaseline"), [getAllocatedHeight]("GI.Gtk.Objects.Widget#g:method:getAllocatedHeight"), [getAllocatedSize]("GI.Gtk.Objects.Widget#g:method:getAllocatedSize"), [getAllocatedWidth]("GI.Gtk.Objects.Widget#g:method:getAllocatedWidth"), [getAllocation]("GI.Gtk.Objects.Widget#g:method:getAllocation"), [getAncestor]("GI.Gtk.Objects.Widget#g:method:getAncestor"), [getAppPaintable]("GI.Gtk.Objects.Widget#g:method:getAppPaintable"), [getApplication]("GI.Gtk.Objects.Window#g:method:getApplication"), [getAttachedTo]("GI.Gtk.Objects.Window#g:method:getAttachedTo"), [getBorderWidth]("GI.Gtk.Objects.Container#g:method:getBorderWidth"), [getCanDefault]("GI.Gtk.Objects.Widget#g:method:getCanDefault"), [getCanFocus]("GI.Gtk.Objects.Widget#g:method:getCanFocus"), [getChild]("GI.Gtk.Objects.Bin#g:method:getChild"), [getChildRequisition]("GI.Gtk.Objects.Widget#g:method:getChildRequisition"), [getChildVisible]("GI.Gtk.Objects.Widget#g:method:getChildVisible"), [getChildren]("GI.Gtk.Objects.Container#g:method:getChildren"), [getClip]("GI.Gtk.Objects.Widget#g:method:getClip"), [getClipboard]("GI.Gtk.Objects.Widget#g:method:getClipboard"), [getCompositeName]("GI.Gtk.Objects.Widget#g:method:getCompositeName"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDecorated]("GI.Gtk.Objects.Window#g:method:getDecorated"), [getDefaultSize]("GI.Gtk.Objects.Window#g:method:getDefaultSize"), [getDefaultWidget]("GI.Gtk.Objects.Window#g:method:getDefaultWidget"), [getDeletable]("GI.Gtk.Objects.Window#g:method:getDeletable"), [getDestroyWithParent]("GI.Gtk.Objects.Window#g:method:getDestroyWithParent"), [getDeviceEnabled]("GI.Gtk.Objects.Widget#g:method:getDeviceEnabled"), [getDeviceEvents]("GI.Gtk.Objects.Widget#g:method:getDeviceEvents"), [getDirection]("GI.Gtk.Objects.Widget#g:method:getDirection"), [getDisplay]("GI.Gtk.Objects.Widget#g:method:getDisplay"), [getDoubleBuffered]("GI.Gtk.Objects.Widget#g:method:getDoubleBuffered"), [getEmbedded]("GI.Gtk.Objects.Plug#g:method:getEmbedded"), [getEvents]("GI.Gtk.Objects.Widget#g:method:getEvents"), [getFocus]("GI.Gtk.Objects.Window#g:method:getFocus"), [getFocusChain]("GI.Gtk.Objects.Container#g:method:getFocusChain"), [getFocusChild]("GI.Gtk.Objects.Container#g:method:getFocusChild"), [getFocusHadjustment]("GI.Gtk.Objects.Container#g:method:getFocusHadjustment"), [getFocusOnClick]("GI.Gtk.Objects.Widget#g:method:getFocusOnClick"), [getFocusOnMap]("GI.Gtk.Objects.Window#g:method:getFocusOnMap"), [getFocusVadjustment]("GI.Gtk.Objects.Container#g:method:getFocusVadjustment"), [getFocusVisible]("GI.Gtk.Objects.Window#g:method:getFocusVisible"), [getFontMap]("GI.Gtk.Objects.Widget#g:method:getFontMap"), [getFontOptions]("GI.Gtk.Objects.Widget#g:method:getFontOptions"), [getFrameClock]("GI.Gtk.Objects.Widget#g:method:getFrameClock"), [getGravity]("GI.Gtk.Objects.Window#g:method:getGravity"), [getGroup]("GI.Gtk.Objects.Window#g:method:getGroup"), [getHalign]("GI.Gtk.Objects.Widget#g:method:getHalign"), [getHasResizeGrip]("GI.Gtk.Objects.Window#g:method:getHasResizeGrip"), [getHasTooltip]("GI.Gtk.Objects.Widget#g:method:getHasTooltip"), [getHasWindow]("GI.Gtk.Objects.Widget#g:method:getHasWindow"), [getHexpand]("GI.Gtk.Objects.Widget#g:method:getHexpand"), [getHexpandSet]("GI.Gtk.Objects.Widget#g:method:getHexpandSet"), [getHideTitlebarWhenMaximized]("GI.Gtk.Objects.Window#g:method:getHideTitlebarWhenMaximized"), [getIcon]("GI.Gtk.Objects.Window#g:method:getIcon"), [getIconList]("GI.Gtk.Objects.Window#g:method:getIconList"), [getIconName]("GI.Gtk.Objects.Window#g:method:getIconName"), [getId]("GI.Gtk.Objects.Plug#g:method:getId"), [getInternalChild]("GI.Gtk.Interfaces.Buildable#g:method:getInternalChild"), [getMapped]("GI.Gtk.Objects.Widget#g:method:getMapped"), [getMarginBottom]("GI.Gtk.Objects.Widget#g:method:getMarginBottom"), [getMarginEnd]("GI.Gtk.Objects.Widget#g:method:getMarginEnd"), [getMarginLeft]("GI.Gtk.Objects.Widget#g:method:getMarginLeft"), [getMarginRight]("GI.Gtk.Objects.Widget#g:method:getMarginRight"), [getMarginStart]("GI.Gtk.Objects.Widget#g:method:getMarginStart"), [getMarginTop]("GI.Gtk.Objects.Widget#g:method:getMarginTop"), [getMnemonicModifier]("GI.Gtk.Objects.Window#g:method:getMnemonicModifier"), [getMnemonicsVisible]("GI.Gtk.Objects.Window#g:method:getMnemonicsVisible"), [getModal]("GI.Gtk.Objects.Window#g:method:getModal"), [getModifierMask]("GI.Gtk.Objects.Widget#g:method:getModifierMask"), [getModifierStyle]("GI.Gtk.Objects.Widget#g:method:getModifierStyle"), [getName]("GI.Gtk.Objects.Widget#g:method:getName"), [getNoShowAll]("GI.Gtk.Objects.Widget#g:method:getNoShowAll"), [getOpacity]("GI.Gtk.Objects.Window#g:method:getOpacity"), [getPangoContext]("GI.Gtk.Objects.Widget#g:method:getPangoContext"), [getParent]("GI.Gtk.Objects.Widget#g:method:getParent"), [getParentWindow]("GI.Gtk.Objects.Widget#g:method:getParentWindow"), [getPath]("GI.Gtk.Objects.Widget#g:method:getPath"), [getPathForChild]("GI.Gtk.Objects.Container#g:method:getPathForChild"), [getPointer]("GI.Gtk.Objects.Widget#g:method:getPointer"), [getPosition]("GI.Gtk.Objects.Window#g:method:getPosition"), [getPreferredHeight]("GI.Gtk.Objects.Widget#g:method:getPreferredHeight"), [getPreferredHeightAndBaselineForWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredHeightAndBaselineForWidth"), [getPreferredHeightForWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredHeightForWidth"), [getPreferredSize]("GI.Gtk.Objects.Widget#g:method:getPreferredSize"), [getPreferredWidth]("GI.Gtk.Objects.Widget#g:method:getPreferredWidth"), [getPreferredWidthForHeight]("GI.Gtk.Objects.Widget#g:method:getPreferredWidthForHeight"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getRealized]("GI.Gtk.Objects.Widget#g:method:getRealized"), [getReceivesDefault]("GI.Gtk.Objects.Widget#g:method:getReceivesDefault"), [getRequestMode]("GI.Gtk.Objects.Widget#g:method:getRequestMode"), [getRequisition]("GI.Gtk.Objects.Widget#g:method:getRequisition"), [getResizable]("GI.Gtk.Objects.Window#g:method:getResizable"), [getResizeGripArea]("GI.Gtk.Objects.Window#g:method:getResizeGripArea"), [getResizeMode]("GI.Gtk.Objects.Container#g:method:getResizeMode"), [getRole]("GI.Gtk.Objects.Window#g:method:getRole"), [getRootWindow]("GI.Gtk.Objects.Widget#g:method:getRootWindow"), [getScaleFactor]("GI.Gtk.Objects.Widget#g:method:getScaleFactor"), [getScreen]("GI.Gtk.Objects.Window#g:method:getScreen"), [getSensitive]("GI.Gtk.Objects.Widget#g:method:getSensitive"), [getSettings]("GI.Gtk.Objects.Widget#g:method:getSettings"), [getSize]("GI.Gtk.Objects.Window#g:method:getSize"), [getSizeRequest]("GI.Gtk.Objects.Widget#g:method:getSizeRequest"), [getSkipPagerHint]("GI.Gtk.Objects.Window#g:method:getSkipPagerHint"), [getSkipTaskbarHint]("GI.Gtk.Objects.Window#g:method:getSkipTaskbarHint"), [getSocketWindow]("GI.Gtk.Objects.Plug#g:method:getSocketWindow"), [getState]("GI.Gtk.Objects.Widget#g:method:getState"), [getStateFlags]("GI.Gtk.Objects.Widget#g:method:getStateFlags"), [getStyle]("GI.Gtk.Objects.Widget#g:method:getStyle"), [getStyleContext]("GI.Gtk.Objects.Widget#g:method:getStyleContext"), [getSupportMultidevice]("GI.Gtk.Objects.Widget#g:method:getSupportMultidevice"), [getTemplateChild]("GI.Gtk.Objects.Widget#g:method:getTemplateChild"), [getTitle]("GI.Gtk.Objects.Window#g:method:getTitle"), [getTitlebar]("GI.Gtk.Objects.Window#g:method:getTitlebar"), [getTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:getTooltipMarkup"), [getTooltipText]("GI.Gtk.Objects.Widget#g:method:getTooltipText"), [getTooltipWindow]("GI.Gtk.Objects.Widget#g:method:getTooltipWindow"), [getToplevel]("GI.Gtk.Objects.Widget#g:method:getToplevel"), [getTransientFor]("GI.Gtk.Objects.Window#g:method:getTransientFor"), [getTypeHint]("GI.Gtk.Objects.Window#g:method:getTypeHint"), [getUrgencyHint]("GI.Gtk.Objects.Window#g:method:getUrgencyHint"), [getValign]("GI.Gtk.Objects.Widget#g:method:getValign"), [getValignWithBaseline]("GI.Gtk.Objects.Widget#g:method:getValignWithBaseline"), [getVexpand]("GI.Gtk.Objects.Widget#g:method:getVexpand"), [getVexpandSet]("GI.Gtk.Objects.Widget#g:method:getVexpandSet"), [getVisible]("GI.Gtk.Objects.Widget#g:method:getVisible"), [getVisual]("GI.Gtk.Objects.Widget#g:method:getVisual"), [getWindow]("GI.Gtk.Objects.Widget#g:method:getWindow"), [getWindowType]("GI.Gtk.Objects.Window#g:method:getWindowType").
    --
    -- ==== Setters
    -- [setAccelPath]("GI.Gtk.Objects.Widget#g:method:setAccelPath"), [setAcceptFocus]("GI.Gtk.Objects.Window#g:method:setAcceptFocus"), [setAllocation]("GI.Gtk.Objects.Widget#g:method:setAllocation"), [setAppPaintable]("GI.Gtk.Objects.Widget#g:method:setAppPaintable"), [setApplication]("GI.Gtk.Objects.Window#g:method:setApplication"), [setAttachedTo]("GI.Gtk.Objects.Window#g:method:setAttachedTo"), [setBorderWidth]("GI.Gtk.Objects.Container#g:method:setBorderWidth"), [setBuildableProperty]("GI.Gtk.Interfaces.Buildable#g:method:setBuildableProperty"), [setCanDefault]("GI.Gtk.Objects.Widget#g:method:setCanDefault"), [setCanFocus]("GI.Gtk.Objects.Widget#g:method:setCanFocus"), [setChildVisible]("GI.Gtk.Objects.Widget#g:method:setChildVisible"), [setClip]("GI.Gtk.Objects.Widget#g:method:setClip"), [setCompositeName]("GI.Gtk.Objects.Widget#g:method:setCompositeName"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setDecorated]("GI.Gtk.Objects.Window#g:method:setDecorated"), [setDefault]("GI.Gtk.Objects.Window#g:method:setDefault"), [setDefaultGeometry]("GI.Gtk.Objects.Window#g:method:setDefaultGeometry"), [setDefaultSize]("GI.Gtk.Objects.Window#g:method:setDefaultSize"), [setDeletable]("GI.Gtk.Objects.Window#g:method:setDeletable"), [setDestroyWithParent]("GI.Gtk.Objects.Window#g:method:setDestroyWithParent"), [setDeviceEnabled]("GI.Gtk.Objects.Widget#g:method:setDeviceEnabled"), [setDeviceEvents]("GI.Gtk.Objects.Widget#g:method:setDeviceEvents"), [setDirection]("GI.Gtk.Objects.Widget#g:method:setDirection"), [setDoubleBuffered]("GI.Gtk.Objects.Widget#g:method:setDoubleBuffered"), [setEvents]("GI.Gtk.Objects.Widget#g:method:setEvents"), [setFocus]("GI.Gtk.Objects.Window#g:method:setFocus"), [setFocusChain]("GI.Gtk.Objects.Container#g:method:setFocusChain"), [setFocusChild]("GI.Gtk.Objects.Container#g:method:setFocusChild"), [setFocusHadjustment]("GI.Gtk.Objects.Container#g:method:setFocusHadjustment"), [setFocusOnClick]("GI.Gtk.Objects.Widget#g:method:setFocusOnClick"), [setFocusOnMap]("GI.Gtk.Objects.Window#g:method:setFocusOnMap"), [setFocusVadjustment]("GI.Gtk.Objects.Container#g:method:setFocusVadjustment"), [setFocusVisible]("GI.Gtk.Objects.Window#g:method:setFocusVisible"), [setFontMap]("GI.Gtk.Objects.Widget#g:method:setFontMap"), [setFontOptions]("GI.Gtk.Objects.Widget#g:method:setFontOptions"), [setGeometryHints]("GI.Gtk.Objects.Window#g:method:setGeometryHints"), [setGravity]("GI.Gtk.Objects.Window#g:method:setGravity"), [setHalign]("GI.Gtk.Objects.Widget#g:method:setHalign"), [setHasResizeGrip]("GI.Gtk.Objects.Window#g:method:setHasResizeGrip"), [setHasTooltip]("GI.Gtk.Objects.Widget#g:method:setHasTooltip"), [setHasUserRefCount]("GI.Gtk.Objects.Window#g:method:setHasUserRefCount"), [setHasWindow]("GI.Gtk.Objects.Widget#g:method:setHasWindow"), [setHexpand]("GI.Gtk.Objects.Widget#g:method:setHexpand"), [setHexpandSet]("GI.Gtk.Objects.Widget#g:method:setHexpandSet"), [setHideTitlebarWhenMaximized]("GI.Gtk.Objects.Window#g:method:setHideTitlebarWhenMaximized"), [setIcon]("GI.Gtk.Objects.Window#g:method:setIcon"), [setIconFromFile]("GI.Gtk.Objects.Window#g:method:setIconFromFile"), [setIconList]("GI.Gtk.Objects.Window#g:method:setIconList"), [setIconName]("GI.Gtk.Objects.Window#g:method:setIconName"), [setKeepAbove]("GI.Gtk.Objects.Window#g:method:setKeepAbove"), [setKeepBelow]("GI.Gtk.Objects.Window#g:method:setKeepBelow"), [setMapped]("GI.Gtk.Objects.Widget#g:method:setMapped"), [setMarginBottom]("GI.Gtk.Objects.Widget#g:method:setMarginBottom"), [setMarginEnd]("GI.Gtk.Objects.Widget#g:method:setMarginEnd"), [setMarginLeft]("GI.Gtk.Objects.Widget#g:method:setMarginLeft"), [setMarginRight]("GI.Gtk.Objects.Widget#g:method:setMarginRight"), [setMarginStart]("GI.Gtk.Objects.Widget#g:method:setMarginStart"), [setMarginTop]("GI.Gtk.Objects.Widget#g:method:setMarginTop"), [setMnemonicModifier]("GI.Gtk.Objects.Window#g:method:setMnemonicModifier"), [setMnemonicsVisible]("GI.Gtk.Objects.Window#g:method:setMnemonicsVisible"), [setModal]("GI.Gtk.Objects.Window#g:method:setModal"), [setName]("GI.Gtk.Objects.Widget#g:method:setName"), [setNoShowAll]("GI.Gtk.Objects.Widget#g:method:setNoShowAll"), [setOpacity]("GI.Gtk.Objects.Window#g:method:setOpacity"), [setParent]("GI.Gtk.Objects.Widget#g:method:setParent"), [setParentWindow]("GI.Gtk.Objects.Widget#g:method:setParentWindow"), [setPosition]("GI.Gtk.Objects.Window#g:method:setPosition"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setRealized]("GI.Gtk.Objects.Widget#g:method:setRealized"), [setReallocateRedraws]("GI.Gtk.Objects.Container#g:method:setReallocateRedraws"), [setReceivesDefault]("GI.Gtk.Objects.Widget#g:method:setReceivesDefault"), [setRedrawOnAllocate]("GI.Gtk.Objects.Widget#g:method:setRedrawOnAllocate"), [setResizable]("GI.Gtk.Objects.Window#g:method:setResizable"), [setResizeMode]("GI.Gtk.Objects.Container#g:method:setResizeMode"), [setRole]("GI.Gtk.Objects.Window#g:method:setRole"), [setScreen]("GI.Gtk.Objects.Window#g:method:setScreen"), [setSensitive]("GI.Gtk.Objects.Widget#g:method:setSensitive"), [setSizeRequest]("GI.Gtk.Objects.Widget#g:method:setSizeRequest"), [setSkipPagerHint]("GI.Gtk.Objects.Window#g:method:setSkipPagerHint"), [setSkipTaskbarHint]("GI.Gtk.Objects.Window#g:method:setSkipTaskbarHint"), [setStartupId]("GI.Gtk.Objects.Window#g:method:setStartupId"), [setState]("GI.Gtk.Objects.Widget#g:method:setState"), [setStateFlags]("GI.Gtk.Objects.Widget#g:method:setStateFlags"), [setStyle]("GI.Gtk.Objects.Widget#g:method:setStyle"), [setSupportMultidevice]("GI.Gtk.Objects.Widget#g:method:setSupportMultidevice"), [setTitle]("GI.Gtk.Objects.Window#g:method:setTitle"), [setTitlebar]("GI.Gtk.Objects.Window#g:method:setTitlebar"), [setTooltipMarkup]("GI.Gtk.Objects.Widget#g:method:setTooltipMarkup"), [setTooltipText]("GI.Gtk.Objects.Widget#g:method:setTooltipText"), [setTooltipWindow]("GI.Gtk.Objects.Widget#g:method:setTooltipWindow"), [setTransientFor]("GI.Gtk.Objects.Window#g:method:setTransientFor"), [setTypeHint]("GI.Gtk.Objects.Window#g:method:setTypeHint"), [setUrgencyHint]("GI.Gtk.Objects.Window#g:method:setUrgencyHint"), [setValign]("GI.Gtk.Objects.Widget#g:method:setValign"), [setVexpand]("GI.Gtk.Objects.Widget#g:method:setVexpand"), [setVexpandSet]("GI.Gtk.Objects.Widget#g:method:setVexpandSet"), [setVisible]("GI.Gtk.Objects.Widget#g:method:setVisible"), [setVisual]("GI.Gtk.Objects.Widget#g:method:setVisual"), [setWindow]("GI.Gtk.Objects.Widget#g:method:setWindow"), [setWmclass]("GI.Gtk.Objects.Window#g:method:setWmclass").

    #if defined(ENABLE_OVERLOADING)
        ResolvePlugMethod                       ,
    #endif

    -- ** construct #method:construct#

    #if defined(ENABLE_OVERLOADING)
        PlugConstructMethodInfo                 ,
    #endif
        plugConstruct                           ,

    -- ** constructForDisplay #method:constructForDisplay#

    #if defined(ENABLE_OVERLOADING)
        PlugConstructForDisplayMethodInfo       ,
    #endif
        plugConstructForDisplay                 ,

    -- ** getEmbedded #method:getEmbedded#

    #if defined(ENABLE_OVERLOADING)
        PlugGetEmbeddedMethodInfo               ,
    #endif
        plugGetEmbedded                         ,

    -- ** getId #method:getId#

    #if defined(ENABLE_OVERLOADING)
        PlugGetIdMethodInfo                     ,
    #endif
        plugGetId                               ,

    -- ** getSocketWindow #method:getSocketWindow#

    #if defined(ENABLE_OVERLOADING)
        PlugGetSocketWindowMethodInfo           ,
    #endif
        plugGetSocketWindow                     ,

    -- ** new #method:new#

        plugNew                                 ,

    -- ** newForDisplay #method:newForDisplay#

        plugNewForDisplay                       ,

     -- * Properties

    -- ** embedded #attr:embedded#
    -- | 'P.True' if the plug is embedded in a socket.
    --
    -- /Since: 2.12/

    #if defined(ENABLE_OVERLOADING)
        PlugEmbeddedPropertyInfo                ,
    #endif
        getPlugEmbedded                         ,
    #if defined(ENABLE_OVERLOADING)
        plugEmbedded                            ,
    #endif

    -- ** socketWindow #attr:socketWindow#
    -- | The window of the socket the plug is embedded in.
    --
    -- /Since: 2.14/

    #if defined(ENABLE_OVERLOADING)
        PlugSocketWindowPropertyInfo            ,
    #endif
        getPlugSocketWindow                     ,
    #if defined(ENABLE_OVERLOADING)
        plugSocketWindow                        ,
    #endif

     -- * Signals

    -- ** embedded #signal:embedded#

        PlugEmbeddedCallback                    ,
    #if defined(ENABLE_OVERLOADING)
        PlugEmbeddedSignalInfo                  ,
    #endif
        afterPlugEmbedded                       ,
        onPlugEmbedded                          ,

        ) where

    import Data.GI.Base.ShortPrelude
    import qualified Data.GI.Base.ShortPrelude as SP
    import qualified Data.GI.Base.Overloading as O
    import qualified Prelude as P

    import qualified Data.GI.Base.Attributes as GI.Attributes
    import qualified Data.GI.Base.BasicTypes as B.Types
    import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
    import qualified Data.GI.Base.GArray as B.GArray
    import qualified Data.GI.Base.GClosure as B.GClosure
    import qualified Data.GI.Base.GError as B.GError
    import qualified Data.GI.Base.GHashTable as B.GHT
    import qualified Data.GI.Base.GVariant as B.GVariant
    import qualified Data.GI.Base.GValue as B.GValue
    import qualified Data.GI.Base.GParamSpec as B.GParamSpec
    import qualified Data.GI.Base.CallStack as B.CallStack
    import qualified Data.GI.Base.Properties as B.Properties
    import qualified Data.GI.Base.Signals as B.Signals
    import qualified Control.Monad.IO.Class as MIO
    import qualified Data.Coerce as Coerce
    import qualified Data.Text as T
    import qualified Data.Kind as DK
    import qualified Data.ByteString.Char8 as B
    import qualified Data.Map as Map
    import qualified Foreign.Ptr as FP
    import qualified GHC.OverloadedLabels as OL
    import qualified GHC.Records as R
    import qualified Data.Word as DW
    import qualified Data.Int as DI
    import qualified System.Posix.Types as SPT
    import qualified Foreign.C.Types as FCT

    -- Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/23392
    #if MIN_VERSION_base(4,18,0)
    import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
    import qualified GI.Atk.Objects.Object as Atk.Object
    import qualified GI.Cairo.Structs.Context as Cairo.Context
    import qualified GI.Cairo.Structs.FontOptions as Cairo.FontOptions
    import qualified GI.Cairo.Structs.Region as Cairo.Region
    import qualified GI.Cairo.Structs.Surface as Cairo.Surface
    import qualified GI.GLib.Callbacks as GLib.Callbacks
    import qualified GI.GLib.Structs.MarkupParser as GLib.MarkupParser
    import qualified GI.GObject.Callbacks as GObject.Callbacks
    import qualified GI.GObject.Objects.Object as GObject.Object
    import qualified GI.Gdk.Enums as Gdk.Enums
    import qualified GI.Gdk.Flags as Gdk.Flags
    import qualified GI.Gdk.Objects.Device as Gdk.Device
    import qualified GI.Gdk.Objects.Display as Gdk.Display
    import qualified GI.Gdk.Objects.DragContext as Gdk.DragContext
    import qualified GI.Gdk.Objects.FrameClock as Gdk.FrameClock
    import qualified GI.Gdk.Objects.Screen as Gdk.Screen
    import qualified GI.Gdk.Objects.Visual as Gdk.Visual
    import qualified GI.Gdk.Objects.Window as Gdk.Window
    import qualified GI.Gdk.Structs.Atom as Gdk.Atom
    import qualified GI.Gdk.Structs.Color as Gdk.Color
    import qualified GI.Gdk.Structs.EventAny as Gdk.EventAny
    import qualified GI.Gdk.Structs.EventButton as Gdk.EventButton
    import qualified GI.Gdk.Structs.EventConfigure as Gdk.EventConfigure
    import qualified GI.Gdk.Structs.EventCrossing as Gdk.EventCrossing
    import qualified GI.Gdk.Structs.EventExpose as Gdk.EventExpose
    import qualified GI.Gdk.Structs.EventFocus as Gdk.EventFocus
    import qualified GI.Gdk.Structs.EventGrabBroken as Gdk.EventGrabBroken
    import qualified GI.Gdk.Structs.EventKey as Gdk.EventKey
    import qualified GI.Gdk.Structs.EventMotion as Gdk.EventMotion
    import qualified GI.Gdk.Structs.EventOwnerChange as Gdk.EventOwnerChange
    import qualified GI.Gdk.Structs.EventProperty as Gdk.EventProperty
    import qualified GI.Gdk.Structs.EventProximity as Gdk.EventProximity
    import qualified GI.Gdk.Structs.EventScroll as Gdk.EventScroll
    import qualified GI.Gdk.Structs.EventSelection as Gdk.EventSelection
    import qualified GI.Gdk.Structs.EventVisibility as Gdk.EventVisibility
    import qualified GI.Gdk.Structs.EventWindowState as Gdk.EventWindowState
    import qualified GI.Gdk.Structs.Geometry as Gdk.Geometry
    import qualified GI.Gdk.Structs.RGBA as Gdk.RGBA
    import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
    import qualified GI.Gdk.Unions.Event as Gdk.Event
    import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
    import qualified GI.Gio.Flags as Gio.Flags
    import qualified GI.Gio.Interfaces.ActionGroup as Gio.ActionGroup
    import qualified GI.Gio.Interfaces.ActionMap as Gio.ActionMap
    import qualified GI.Gio.Interfaces.File as Gio.File
    import qualified GI.Gio.Interfaces.Icon as Gio.Icon
    import qualified GI.Gio.Objects.Application as Gio.Application
    import qualified GI.Gio.Objects.Menu as Gio.Menu
    import qualified GI.Gio.Objects.MenuModel as Gio.MenuModel
    import qualified GI.Gtk.Callbacks as Gtk.Callbacks
    import {-# SOURCE #-} qualified GI.Gtk.Enums as Gtk.Enums
    import {-# SOURCE #-} qualified GI.Gtk.Flags as Gtk.Flags
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.StyleProvider as Gtk.StyleProvider
    import {-# SOURCE #-} qualified GI.Gtk.Objects.AccelGroup as Gtk.AccelGroup
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Adjustment as Gtk.Adjustment
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Application as Gtk.Application
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Builder as Gtk.Builder
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Clipboard as Gtk.Clipboard
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
    import {-# SOURCE #-} qualified GI.Gtk.Objects.IconFactory as Gtk.IconFactory
    import {-# SOURCE #-} qualified GI.Gtk.Objects.RcStyle as Gtk.RcStyle
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Settings as Gtk.Settings
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Style as Gtk.Style
    import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleContext as Gtk.StyleContext
    import {-# SOURCE #-} qualified GI.Gtk.Objects.StyleProperties as Gtk.StyleProperties
    import {-# SOURCE #-} qualified GI.Gtk.Objects.TextBuffer as Gtk.TextBuffer
    import {-# SOURCE #-} qualified GI.Gtk.Objects.TextChildAnchor as Gtk.TextChildAnchor
    import {-# SOURCE #-} qualified GI.Gtk.Objects.TextMark as Gtk.TextMark
    import {-# SOURCE #-} qualified GI.Gtk.Objects.TextTag as Gtk.TextTag
    import {-# SOURCE #-} qualified GI.Gtk.Objects.TextTagTable as Gtk.TextTagTable
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Tooltip as Gtk.Tooltip
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window
    import {-# SOURCE #-} qualified GI.Gtk.Objects.WindowGroup as Gtk.WindowGroup
    import {-# SOURCE #-} qualified GI.Gtk.Structs.AccelGroupEntry as Gtk.AccelGroupEntry
    import {-# SOURCE #-} qualified GI.Gtk.Structs.AccelKey as Gtk.AccelKey
    import {-# SOURCE #-} qualified GI.Gtk.Structs.Border as Gtk.Border
    import {-# SOURCE #-} qualified GI.Gtk.Structs.CssSection as Gtk.CssSection
    import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSet as Gtk.IconSet
    import {-# SOURCE #-} qualified GI.Gtk.Structs.IconSource as Gtk.IconSource
    import {-# SOURCE #-} qualified GI.Gtk.Structs.Requisition as Gtk.Requisition
    import {-# SOURCE #-} qualified GI.Gtk.Structs.SelectionData as Gtk.SelectionData
    import {-# SOURCE #-} qualified GI.Gtk.Structs.SettingsValue as Gtk.SettingsValue
    import {-# SOURCE #-} qualified GI.Gtk.Structs.SymbolicColor as Gtk.SymbolicColor
    import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetEntry as Gtk.TargetEntry
    import {-# SOURCE #-} qualified GI.Gtk.Structs.TargetList as Gtk.TargetList
    import {-# SOURCE #-} qualified GI.Gtk.Structs.TextAppearance as Gtk.TextAppearance
    import {-# SOURCE #-} qualified GI.Gtk.Structs.TextAttributes as Gtk.TextAttributes
    import {-# SOURCE #-} qualified GI.Gtk.Structs.TextIter as Gtk.TextIter
    import {-# SOURCE #-} qualified GI.Gtk.Structs.WidgetPath as Gtk.WidgetPath
    import qualified GI.Pango.Enums as Pango.Enums
    import qualified GI.Pango.Objects.Context as Pango.Context
    import qualified GI.Pango.Objects.FontMap as Pango.FontMap
    import qualified GI.Pango.Objects.Layout as Pango.Layout
    import qualified GI.Pango.Structs.FontDescription as Pango.FontDescription
    import qualified GI.Pango.Structs.Language as Pango.Language
    import qualified GI.Pango.Structs.TabArray as Pango.TabArray

    #else
    import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
    import qualified GI.GObject.Objects.Object as GObject.Object
    import qualified GI.Gdk.Objects.Display as Gdk.Display
    import qualified GI.Gdk.Objects.Window as Gdk.Window
    import {-# SOURCE #-} qualified GI.Gtk.Interfaces.Buildable as Gtk.Buildable
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Bin as Gtk.Bin
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Container as Gtk.Container
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
    import {-# SOURCE #-} qualified GI.Gtk.Objects.Window as Gtk.Window

    #endif

    -- | Memory-managed wrapper type.
    newtype Plug = Plug (SP.ManagedPtr Plug)
        deriving (Plug -> Plug -> Bool
    (Plug -> Plug -> Bool) -> (Plug -> Plug -> Bool) -> Eq Plug
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: Plug -> Plug -> Bool
    == :: Plug -> Plug -> Bool
    $c/= :: Plug -> Plug -> Bool
    /= :: Plug -> Plug -> Bool
    Eq)

    instance SP.ManagedPtrNewtype Plug where
        toManagedPtr :: Plug -> ManagedPtr Plug
    toManagedPtr (Plug ManagedPtr Plug
    p) = ManagedPtr Plug
    p

    foreign import ccall "gtk_plug_get_type"
        c_gtk_plug_get_type :: IO B.Types.GType

    instance B.Types.TypedObject Plug where
        glibType :: IO GType
    glibType = IO GType
    c_gtk_plug_get_type

    instance B.Types.GObject Plug

    -- | Type class for types which can be safely cast to t'Plug', for instance with `toPlug`.
    class (SP.GObject o, O.IsDescendantOf Plug o) => IsPlug o
    instance (SP.GObject o, O.IsDescendantOf Plug o) => IsPlug o

    instance O.HasParentTypes Plug
    type instance O.ParentTypes Plug = '[Gtk.Window.Window, Gtk.Bin.Bin, Gtk.Container.Container, Gtk.Widget.Widget, GObject.Object.Object, Atk.ImplementorIface.ImplementorIface, Gtk.Buildable.Buildable]

    -- | Cast to t'Plug', for types for which this is known to be safe. For general casts, use 'Data.GI.Base.ManagedPtr.castTo'.
    toPlug :: (MIO.MonadIO m, IsPlug o) => o -> m Plug
    toPlug :: forall (m :: * -> *) o. (MonadIO m, IsPlug o) => o -> m Plug
    toPlug = IO Plug -> m Plug
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    MIO.liftIO (IO Plug -> m Plug) -> (o -> IO Plug) -> o -> m Plug
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . (ManagedPtr Plug -> Plug) -> o -> IO Plug
    forall o o'.
    (HasCallStack, ManagedPtrNewtype o, TypedObject o,
     ManagedPtrNewtype o', TypedObject o') =>
    (ManagedPtr o' -> o') -> o -> IO o'
    B.ManagedPtr.unsafeCastTo ManagedPtr Plug -> Plug
    Plug

    -- | Convert t'Plug' to and from t'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
    instance B.GValue.IsGValue (Maybe Plug) where
        gvalueGType_ :: IO GType
    gvalueGType_ = IO GType
    c_gtk_plug_get_type
        gvalueSet_ :: Ptr GValue -> Maybe Plug -> IO ()
    gvalueSet_ Ptr GValue
    gv Maybe Plug
    P.Nothing = Ptr GValue -> Ptr Plug -> IO ()
    forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
    B.GValue.set_object Ptr GValue
    gv (Ptr Plug
    forall a. Ptr a
    FP.nullPtr :: FP.Ptr Plug)
        gvalueSet_ Ptr GValue
    gv (P.Just Plug
    obj) = Plug -> (Ptr Plug -> IO ()) -> IO ()
    forall a c.
    (HasCallStack, ManagedPtrNewtype a) =>
    a -> (Ptr a -> IO c) -> IO c
    B.ManagedPtr.withManagedPtr Plug
    obj (Ptr GValue -> Ptr Plug -> IO ()
    forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
    B.GValue.set_object Ptr GValue
    gv)
        gvalueGet_ :: Ptr GValue -> IO (Maybe Plug)
    gvalueGet_ Ptr GValue
    gv = do
            ptr <- Ptr GValue -> IO (Ptr Plug)
    forall a. GObject a => Ptr GValue -> IO (Ptr a)
    B.GValue.get_object Ptr GValue
    gv :: IO (FP.Ptr Plug)
            if ptr /= FP.nullPtr
            then P.Just <$> B.ManagedPtr.newObject Plug ptr
            else return P.Nothing

    #if defined(ENABLE_OVERLOADING)
    type family ResolvePlugMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
        ResolvePlugMethod "activate" o = Gtk.Widget.WidgetActivateMethodInfo
        ResolvePlugMethod "activateDefault" o = Gtk.Window.WindowActivateDefaultMethodInfo
        ResolvePlugMethod "activateFocus" o = Gtk.Window.WindowActivateFocusMethodInfo
        ResolvePlugMethod "activateKey" o = Gtk.Window.WindowActivateKeyMethodInfo
        ResolvePlugMethod "add" o = Gtk.Container.ContainerAddMethodInfo
        ResolvePlugMethod "addAccelGroup" o = Gtk.Window.WindowAddAccelGroupMethodInfo
        ResolvePlugMethod "addAccelerator" o = Gtk.Widget.WidgetAddAcceleratorMethodInfo
        ResolvePlugMethod "addChild" o = Gtk.Buildable.BuildableAddChildMethodInfo
        ResolvePlugMethod "addDeviceEvents" o = Gtk.Widget.WidgetAddDeviceEventsMethodInfo
        ResolvePlugMethod "addEvents" o = Gtk.Widget.WidgetAddEventsMethodInfo
        ResolvePlugMethod "addMnemonic" o = Gtk.Window.WindowAddMnemonicMethodInfo
        ResolvePlugMethod "addMnemonicLabel" o = Gtk.Widget.WidgetAddMnemonicLabelMethodInfo
        ResolvePlugMethod "addTickCallback" o = Gtk.Widget.WidgetAddTickCallbackMethodInfo
        ResolvePlugMethod "beginMoveDrag" o = Gtk.Window.WindowBeginMoveDragMethodInfo
        ResolvePlugMethod "beginResizeDrag" o = Gtk.Window.WindowBeginResizeDragMethodInfo
        ResolvePlugMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
        ResolvePlugMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
        ResolvePlugMethod "canActivateAccel" o = Gtk.Widget.WidgetCanActivateAccelMethodInfo
        ResolvePlugMethod "checkResize" o = Gtk.Container.ContainerCheckResizeMethodInfo
        ResolvePlugMethod "childFocus" o = Gtk.Widget.WidgetChildFocusMethodInfo
        ResolvePlugMethod "childGetProperty" o = Gtk.Container.ContainerChildGetPropertyMethodInfo
        ResolvePlugMethod "childNotify" o = Gtk.Container.ContainerChildNotifyMethodInfo
        ResolvePlugMethod "childNotifyByPspec" o = Gtk.Container.ContainerChildNotifyByPspecMethodInfo
        ResolvePlugMethod "childSetProperty" o = Gtk.Container.ContainerChildSetPropertyMethodInfo
        ResolvePlugMethod "childType" o = Gtk.Container.ContainerChildTypeMethodInfo
        ResolvePlugMethod "classPath" o = Gtk.Widget.WidgetClassPathMethodInfo
        ResolvePlugMethod "close" o = Gtk.Window.WindowCloseMethodInfo
        ResolvePlugMethod "computeExpand" o = Gtk.Widget.WidgetComputeExpandMethodInfo
        ResolvePlugMethod "construct" o = PlugConstructMethodInfo
        ResolvePlugMethod "constructChild" o = Gtk.Buildable.BuildableConstructChildMethodInfo
        ResolvePlugMethod "constructForDisplay" o = PlugConstructForDisplayMethodInfo
        ResolvePlugMethod "createPangoContext" o = Gtk.Widget.WidgetCreatePangoContextMethodInfo
        ResolvePlugMethod "createPangoLayout" o = Gtk.Widget.WidgetCreatePangoLayoutMethodInfo
        ResolvePlugMethod "customFinished" o = Gtk.Buildable.BuildableCustomFinishedMethodInfo
        ResolvePlugMethod "customTagEnd" o = Gtk.Buildable.BuildableCustomTagEndMethodInfo
        ResolvePlugMethod "customTagStart" o = Gtk.Buildable.BuildableCustomTagStartMethodInfo
        ResolvePlugMethod "deiconify" o = Gtk.Window.WindowDeiconifyMethodInfo
        ResolvePlugMethod "destroy" o = Gtk.Widget.WidgetDestroyMethodInfo
        ResolvePlugMethod "destroyed" o = Gtk.Widget.WidgetDestroyedMethodInfo
        ResolvePlugMethod "deviceIsShadowed" o = Gtk.Widget.WidgetDeviceIsShadowedMethodInfo
        ResolvePlugMethod "dragBegin" o = Gtk.Widget.WidgetDragBeginMethodInfo
        ResolvePlugMethod "dragBeginWithCoordinates" o = Gtk.Widget.WidgetDragBeginWithCoordinatesMethodInfo
        ResolvePlugMethod "dragCheckThreshold" o = Gtk.Widget.WidgetDragCheckThresholdMethodInfo
        ResolvePlugMethod "dragDestAddImageTargets" o = Gtk.Widget.WidgetDragDestAddImageTargetsMethodInfo
        ResolvePlugMethod "dragDestAddTextTargets" o = Gtk.Widget.WidgetDragDestAddTextTargetsMethodInfo
        ResolvePlugMethod "dragDestAddUriTargets" o = Gtk.Widget.WidgetDragDestAddUriTargetsMethodInfo
        ResolvePlugMethod "dragDestFindTarget" o = Gtk.Widget.WidgetDragDestFindTargetMethodInfo
        ResolvePlugMethod "dragDestGetTargetList" o = Gtk.Widget.WidgetDragDestGetTargetListMethodInfo
        ResolvePlugMethod "dragDestGetTrackMotion" o = Gtk.Widget.WidgetDragDestGetTrackMotionMethodInfo
        ResolvePlugMethod "dragDestSet" o = Gtk.Widget.WidgetDragDestSetMethodInfo
        ResolvePlugMethod "dragDestSetProxy" o = Gtk.Widget.WidgetDragDestSetProxyMethodInfo
        ResolvePlugMethod "dragDestSetTargetList" o = Gtk.Widget.WidgetDragDestSetTargetListMethodInfo
        ResolvePlugMethod "dragDestSetTrackMotion" o = Gtk.Widget.WidgetDragDestSetTrackMotionMethodInfo
        ResolvePlugMethod "dragDestUnset" o = Gtk.Widget.WidgetDragDestUnsetMethodInfo
        ResolvePlugMethod "dragGetData" o = Gtk.Widget.WidgetDragGetDataMethodInfo
        ResolvePlugMethod "dragHighlight" o = Gtk.Widget.WidgetDragHighlightMethodInfo
        ResolvePlugMethod "dragSourceAddImageTargets" o = Gtk.Widget.WidgetDragSourceAddImageTargetsMethodInfo
        ResolvePlugMethod "dragSourceAddTextTargets" o = Gtk.Widget.WidgetDragSourceAddTextTargetsMethodInfo
        ResolvePlugMethod "dragSourceAddUriTargets" o = Gtk.Widget.WidgetDragSourceAddUriTargetsMethodInfo
        ResolvePlugMethod "dragSourceGetTargetList" o = Gtk.Widget.WidgetDragSourceGetTargetListMethodInfo
        ResolvePlugMethod "dragSourceSet" o = Gtk.Widget.WidgetDragSourceSetMethodInfo
        ResolvePlugMethod "dragSourceSetIconGicon" o = Gtk.Widget.WidgetDragSourceSetIconGiconMethodInfo
        ResolvePlugMethod "dragSourceSetIconName" o = Gtk.Widget.WidgetDragSourceSetIconNameMethodInfo
        ResolvePlugMethod "dragSourceSetIconPixbuf" o = Gtk.Widget.WidgetDragSourceSetIconPixbufMethodInfo
        ResolvePlugMethod "dragSourceSetIconStock" o = Gtk.Widget.WidgetDragSourceSetIconStockMethodInfo
        ResolvePlugMethod "dragSourceSetTargetList" o = Gtk.Widget.WidgetDragSourceSetTargetListMethodInfo
        ResolvePlugMethod "dragSourceUnset" o = Gtk.Widget.WidgetDragSourceUnsetMethodInfo
        ResolvePlugMethod "dragUnhighlight" o = Gtk.Widget.WidgetDragUnhighlightMethodInfo
        ResolvePlugMethod "draw" o = Gtk.Widget.WidgetDrawMethodInfo
        ResolvePlugMethod "ensureStyle" o = Gtk.Widget.WidgetEnsureStyleMethodInfo
        ResolvePlugMethod "errorBell" o = Gtk.Widget.WidgetErrorBellMethodInfo
        ResolvePlugMethod "event" o = Gtk.Widget.WidgetEventMethodInfo
        ResolvePlugMethod "forall" o = Gtk.Container.ContainerForallMethodInfo
        ResolvePlugMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
        ResolvePlugMethod "foreach" o = Gtk.Container.ContainerForeachMethodInfo
        ResolvePlugMethod "freezeChildNotify" o = Gtk.Widget.WidgetFreezeChildNotifyMethodInfo
        ResolvePlugMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
        ResolvePlugMethod "fullscreen" o = Gtk.Window.WindowFullscreenMethodInfo
        ResolvePlugMethod "fullscreenOnMonitor" o = Gtk.Window.WindowFullscreenOnMonitorMethodInfo
        ResolvePlugMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
        ResolvePlugMethod "grabAdd" o = Gtk.Widget.WidgetGrabAddMethodInfo
        ResolvePlugMethod "grabDefault" o = Gtk.Widget.WidgetGrabDefaultMethodInfo
        ResolvePlugMethod "grabFocus" o = Gtk.Widget.WidgetGrabFocusMethodInfo
        ResolvePlugMethod "grabRemove" o = Gtk.Widget.WidgetGrabRemoveMethodInfo
        ResolvePlugMethod "hasDefault" o = Gtk.Widget.WidgetHasDefaultMethodInfo
        ResolvePlugMethod "hasFocus" o = Gtk.Widget.WidgetHasFocusMethodInfo
        ResolvePlugMethod "hasGrab" o = Gtk.Widget.WidgetHasGrabMethodInfo
        ResolvePlugMethod "hasGroup" o = Gtk.Window.WindowHasGroupMethodInfo
        ResolvePlugMethod "hasRcStyle" o = Gtk.Widget.WidgetHasRcStyleMethodInfo
        ResolvePlugMethod "hasScreen" o = Gtk.Widget.WidgetHasScreenMethodInfo
        ResolvePlugMethod "hasToplevelFocus" o = Gtk.Window.WindowHasToplevelFocusMethodInfo
        ResolvePlugMethod "hasVisibleFocus" o = Gtk.Widget.WidgetHasVisibleFocusMethodInfo
        ResolvePlugMethod "hide" o = Gtk.Widget.WidgetHideMethodInfo
        ResolvePlugMethod "hideOnDelete" o = Gtk.Widget.WidgetHideOnDeleteMethodInfo
        ResolvePlugMethod "iconify" o = Gtk.Window.WindowIconifyMethodInfo
        ResolvePlugMethod "inDestruction" o = Gtk.Widget.WidgetInDestructionMethodInfo
        ResolvePlugMethod "initTemplate" o = Gtk.Widget.WidgetInitTemplateMethodInfo
        ResolvePlugMethod "inputShapeCombineRegion" o = Gtk.Widget.WidgetInputShapeCombineRegionMethodInfo
        ResolvePlugMethod "insertActionGroup" o = Gtk.Widget.WidgetInsertActionGroupMethodInfo
        ResolvePlugMethod "intersect" o = Gtk.Widget.WidgetIntersectMethodInfo
        ResolvePlugMethod "isActive" o = Gtk.Window.WindowIsActiveMethodInfo
        ResolvePlugMethod "isAncestor" o = Gtk.Widget.WidgetIsAncestorMethodInfo
        ResolvePlugMethod "isComposited" o = Gtk.Widget.WidgetIsCompositedMethodInfo
        ResolvePlugMethod "isDrawable" o = Gtk.Widget.WidgetIsDrawableMethodInfo
        ResolvePlugMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
        ResolvePlugMethod "isFocus" o = Gtk.Widget.WidgetIsFocusMethodInfo
        ResolvePlugMethod "isMaximized" o = Gtk.Window.WindowIsMaximizedMethodInfo
        ResolvePlugMethod "isSensitive" o = Gtk.Widget.WidgetIsSensitiveMethodInfo
        ResolvePlugMethod "isToplevel" o = Gtk.Widget.WidgetIsToplevelMethodInfo
        ResolvePlugMethod "isVisible" o = Gtk.Widget.WidgetIsVisibleMethodInfo
        ResolvePlugMethod "keynavFailed" o = Gtk.Widget.WidgetKeynavFailedMethodInfo
        ResolvePlugMethod "listAccelClosures" o = Gtk.Widget.WidgetListAccelClosuresMethodInfo
        ResolvePlugMethod "listActionPrefixes" o = Gtk.Widget.WidgetListActionPrefixesMethodInfo
        ResolvePlugMethod "listMnemonicLabels" o = Gtk.Widget.WidgetListMnemonicLabelsMethodInfo
        ResolvePlugMethod "map" o = Gtk.Widget.WidgetMapMethodInfo
        ResolvePlugMethod "maximize" o = Gtk.Window.WindowMaximizeMethodInfo
        ResolvePlugMethod "mnemonicActivate" o = Gtk.Window.WindowMnemonicActivateMethodInfo
        ResolvePlugMethod "modifyBase" o = Gtk.Widget.WidgetModifyBaseMethodInfo
        ResolvePlugMethod "modifyBg" o = Gtk.Widget.WidgetModifyBgMethodInfo
        ResolvePlugMethod "modifyCursor" o = Gtk.Widget.WidgetModifyCursorMethodInfo
        ResolvePlugMethod "modifyFg" o = Gtk.Widget.WidgetModifyFgMethodInfo
        ResolvePlugMethod "modifyFont" o = Gtk.Widget.WidgetModifyFontMethodInfo
        ResolvePlugMethod "modifyStyle" o = Gtk.Widget.WidgetModifyStyleMethodInfo
        ResolvePlugMethod "modifyText" o = Gtk.Widget.WidgetModifyTextMethodInfo
        ResolvePlugMethod "move" o = Gtk.Window.WindowMoveMethodInfo
        ResolvePlugMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
        ResolvePlugMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
        ResolvePlugMethod "overrideBackgroundColor" o = Gtk.Widget.WidgetOverrideBackgroundColorMethodInfo
        ResolvePlugMethod "overrideColor" o = Gtk.Widget.WidgetOverrideColorMethodInfo
        ResolvePlugMethod "overrideCursor" o = Gtk.Widget.WidgetOverrideCursorMethodInfo
        ResolvePlugMethod "overrideFont" o = Gtk.Widget.WidgetOverrideFontMethodInfo
        ResolvePlugMethod "overrideSymbolicColor" o = Gtk.Widget.WidgetOverrideSymbolicColorMethodInfo
        ResolvePlugMethod "parseGeometry" o = Gtk.Window.WindowParseGeometryMethodInfo
        ResolvePlugMethod "parserFinished" o = Gtk.Buildable.BuildableParserFinishedMethodInfo
        ResolvePlugMethod "path" o = Gtk.Widget.WidgetPathMethodInfo
        ResolvePlugMethod "present" o = Gtk.Window.WindowPresentMethodInfo
        ResolvePlugMethod "presentWithTime" o = Gtk.Window.WindowPresentWithTimeMethodInfo
        ResolvePlugMethod "propagateDraw" o = Gtk.Container.ContainerPropagateDrawMethodInfo
        ResolvePlugMethod "propagateKeyEvent" o = Gtk.Window.WindowPropagateKeyEventMethodInfo
        ResolvePlugMethod "queueAllocate" o = Gtk.Widget.WidgetQueueAllocateMethodInfo
        ResolvePlugMethod "queueComputeExpand" o = Gtk.Widget.WidgetQueueComputeExpandMethodInfo
        ResolvePlugMethod "queueDraw" o = Gtk.Widget.WidgetQueueDrawMethodInfo
        ResolvePlugMethod "queueDrawArea" o = Gtk.Widget.WidgetQueueDrawAreaMethodInfo
        ResolvePlugMethod "queueDrawRegion" o = Gtk.Widget.WidgetQueueDrawRegionMethodInfo
        ResolvePlugMethod "queueResize" o = Gtk.Widget.WidgetQueueResizeMethodInfo
        ResolvePlugMethod "queueResizeNoRedraw" o = Gtk.Widget.WidgetQueueResizeNoRedrawMethodInfo
        ResolvePlugMethod "realize" o = Gtk.Widget.WidgetRealizeMethodInfo
        ResolvePlugMethod "ref" o = GObject.Object.ObjectRefMethodInfo
        ResolvePlugMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
        ResolvePlugMethod "regionIntersect" o = Gtk.Widget.WidgetRegionIntersectMethodInfo
        ResolvePlugMethod "registerWindow" o = Gtk.Widget.WidgetRegisterWindowMethodInfo
        ResolvePlugMethod "remove" o = Gtk.Container.ContainerRemoveMethodInfo
        ResolvePlugMethod "removeAccelGroup" o = Gtk.Window.WindowRemoveAccelGroupMethodInfo
        ResolvePlugMethod "removeAccelerator" o = Gtk.Widget.WidgetRemoveAcceleratorMethodInfo
        ResolvePlugMethod "removeMnemonic" o = Gtk.Window.WindowRemoveMnemonicMethodInfo
        ResolvePlugMethod "removeMnemonicLabel" o = Gtk.Widget.WidgetRemoveMnemonicLabelMethodInfo
        ResolvePlugMethod "removeTickCallback" o = Gtk.Widget.WidgetRemoveTickCallbackMethodInfo
        ResolvePlugMethod "renderIcon" o = Gtk.Widget.WidgetRenderIconMethodInfo
        ResolvePlugMethod "renderIconPixbuf" o = Gtk.Widget.WidgetRenderIconPixbufMethodInfo
        ResolvePlugMethod "reparent" o = Gtk.Widget.WidgetReparentMethodInfo
        ResolvePlugMethod "resetRcStyles" o = Gtk.Widget.WidgetResetRcStylesMethodInfo
        ResolvePlugMethod "resetStyle" o = Gtk.Widget.WidgetResetStyleMethodInfo
        ResolvePlugMethod "reshowWithInitialSize" o = Gtk.Window.WindowReshowWithInitialSizeMethodInfo
        ResolvePlugMethod "resize" o = Gtk.Window.WindowResizeMethodInfo
        ResolvePlugMethod "resizeChildren" o = Gtk.Container.ContainerResizeChildrenMethodInfo
        ResolvePlugMethod "resizeGripIsVisible" o = Gtk.Window.WindowResizeGripIsVisibleMethodInfo
        ResolvePlugMethod "resizeToGeometry" o = Gtk.Window.WindowResizeToGeometryMethodInfo
        ResolvePlugMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
        ResolvePlugMethod "sendExpose" o = Gtk.Widget.WidgetSendExposeMethodInfo
        ResolvePlugMethod "sendFocusChange" o = Gtk.Widget.WidgetSendFocusChangeMethodInfo
        ResolvePlugMethod "shapeCombineRegion" o = Gtk.Widget.WidgetShapeCombineRegionMethodInfo
        ResolvePlugMethod "show" o = Gtk.Widget.WidgetShowMethodInfo
        ResolvePlugMethod "showAll" o = Gtk.Widget.WidgetShowAllMethodInfo
        ResolvePlugMethod "showNow" o = Gtk.Widget.WidgetShowNowMethodInfo
        ResolvePlugMethod "sizeAllocate" o = Gtk.Widget.WidgetSizeAllocateMethodInfo
        ResolvePlugMethod "sizeAllocateWithBaseline" o = Gtk.Widget.WidgetSizeAllocateWithBaselineMethodInfo
        ResolvePlugMethod "sizeRequest" o = Gtk.Widget.WidgetSizeRequestMethodInfo
        ResolvePlugMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
        ResolvePlugMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
        ResolvePlugMethod "stick" o = Gtk.Window.WindowStickMethodInfo
        ResolvePlugMethod "styleAttach" o = Gtk.Widget.WidgetStyleAttachMethodInfo
        ResolvePlugMethod "styleGetProperty" o = Gtk.Widget.WidgetStyleGetPropertyMethodInfo
        ResolvePlugMethod "thawChildNotify" o = Gtk.Widget.WidgetThawChildNotifyMethodInfo
        ResolvePlugMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
        ResolvePlugMethod "translateCoordinates" o = Gtk.Widget.WidgetTranslateCoordinatesMethodInfo
        ResolvePlugMethod "triggerTooltipQuery" o = Gtk.Widget.WidgetTriggerTooltipQueryMethodInfo
        ResolvePlugMethod "unfullscreen" o = Gtk.Window.WindowUnfullscreenMethodInfo
        ResolvePlugMethod "unmap" o = Gtk.Widget.WidgetUnmapMethodInfo
        ResolvePlugMethod "unmaximize" o = Gtk.Window.WindowUnmaximizeMethodInfo
        ResolvePlugMethod "unparent" o = Gtk.Widget.WidgetUnparentMethodInfo
        ResolvePlugMethod "unrealize" o = Gtk.Widget.WidgetUnrealizeMethodInfo
        ResolvePlugMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
        ResolvePlugMethod "unregisterWindow" o = Gtk.Widget.WidgetUnregisterWindowMethodInfo
        ResolvePlugMethod "unsetFocusChain" o = Gtk.Container.ContainerUnsetFocusChainMethodInfo
        ResolvePlugMethod "unsetStateFlags" o = Gtk.Widget.WidgetUnsetStateFlagsMethodInfo
        ResolvePlugMethod "unstick" o = Gtk.Window.WindowUnstickMethodInfo
        ResolvePlugMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
        ResolvePlugMethod "getAcceptFocus" o = Gtk.Window.WindowGetAcceptFocusMethodInfo
        ResolvePlugMethod "getAccessible" o = Gtk.Widget.WidgetGetAccessibleMethodInfo
        ResolvePlugMethod "getActionGroup" o = Gtk.Widget.WidgetGetActionGroupMethodInfo
        ResolvePlugMethod "getAllocatedBaseline" o = Gtk.Widget.WidgetGetAllocatedBaselineMethodInfo
        ResolvePlugMethod "getAllocatedHeight" o = Gtk.Widget.WidgetGetAllocatedHeightMethodInfo
        ResolvePlugMethod "getAllocatedSize" o = Gtk.Widget.WidgetGetAllocatedSizeMethodInfo
        ResolvePlugMethod "getAllocatedWidth" o = Gtk.Widget.WidgetGetAllocatedWidthMethodInfo
        ResolvePlugMethod "getAllocation" o = Gtk.Widget.WidgetGetAllocationMethodInfo
        ResolvePlugMethod "getAncestor" o = Gtk.Widget.WidgetGetAncestorMethodInfo
        ResolvePlugMethod "getAppPaintable" o = Gtk.Widget.WidgetGetAppPaintableMethodInfo
        ResolvePlugMethod "getApplication" o = Gtk.Window.WindowGetApplicationMethodInfo
        ResolvePlugMethod "getAttachedTo" o = Gtk.Window.WindowGetAttachedToMethodInfo
        ResolvePlugMethod "getBorderWidth" o = Gtk.Container.ContainerGetBorderWidthMethodInfo
        ResolvePlugMethod "getCanDefault" o = Gtk.Widget.WidgetGetCanDefaultMethodInfo
        ResolvePlugMethod "getCanFocus" o = Gtk.Widget.WidgetGetCanFocusMethodInfo
        ResolvePlugMethod "getChild" o = Gtk.Bin.BinGetChildMethodInfo
        ResolvePlugMethod "getChildRequisition" o = Gtk.Widget.WidgetGetChildRequisitionMethodInfo
        ResolvePlugMethod "getChildVisible" o = Gtk.Widget.WidgetGetChildVisibleMethodInfo
        ResolvePlugMethod "getChildren" o = Gtk.Container.ContainerGetChildrenMethodInfo
        ResolvePlugMethod "getClip" o = Gtk.Widget.WidgetGetClipMethodInfo
        ResolvePlugMethod "getClipboard" o = Gtk.Widget.WidgetGetClipboardMethodInfo
        ResolvePlugMethod "getCompositeName" o = Gtk.Widget.WidgetGetCompositeNameMethodInfo
        ResolvePlugMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
        ResolvePlugMethod "getDecorated" o = Gtk.Window.WindowGetDecoratedMethodInfo
        ResolvePlugMethod "getDefaultSize" o = Gtk.Window.WindowGetDefaultSizeMethodInfo
        ResolvePlugMethod "getDefaultWidget" o = Gtk.Window.WindowGetDefaultWidgetMethodInfo
        ResolvePlugMethod "getDeletable" o = Gtk.Window.WindowGetDeletableMethodInfo
        ResolvePlugMethod "getDestroyWithParent" o = Gtk.Window.WindowGetDestroyWithParentMethodInfo
        ResolvePlugMethod "getDeviceEnabled" o = Gtk.Widget.WidgetGetDeviceEnabledMethodInfo
        ResolvePlugMethod "getDeviceEvents" o = Gtk.Widget.WidgetGetDeviceEventsMethodInfo
        ResolvePlugMethod "getDirection" o = Gtk.Widget.WidgetGetDirectionMethodInfo
        ResolvePlugMethod "getDisplay" o = Gtk.Widget.WidgetGetDisplayMethodInfo
        ResolvePlugMethod "getDoubleBuffered" o = Gtk.Widget.WidgetGetDoubleBufferedMethodInfo
        ResolvePlugMethod "getEmbedded" o = PlugGetEmbeddedMethodInfo
        ResolvePlugMethod "getEvents" o = Gtk.Widget.WidgetGetEventsMethodInfo
        ResolvePlugMethod "getFocus" o = Gtk.Window.WindowGetFocusMethodInfo
        ResolvePlugMethod "getFocusChain" o = Gtk.Container.ContainerGetFocusChainMethodInfo
        ResolvePlugMethod "getFocusChild" o = Gtk.Container.ContainerGetFocusChildMethodInfo
        ResolvePlugMethod "getFocusHadjustment" o = Gtk.Container.ContainerGetFocusHadjustmentMethodInfo
        ResolvePlugMethod "getFocusOnClick" o = Gtk.Widget.WidgetGetFocusOnClickMethodInfo
        ResolvePlugMethod "getFocusOnMap" o = Gtk.Window.WindowGetFocusOnMapMethodInfo
        ResolvePlugMethod "getFocusVadjustment" o = Gtk.Container.ContainerGetFocusVadjustmentMethodInfo
        ResolvePlugMethod "getFocusVisible" o = Gtk.Window.WindowGetFocusVisibleMethodInfo
        ResolvePlugMethod "getFontMap" o = Gtk.Widget.WidgetGetFontMapMethodInfo
        ResolvePlugMethod "getFontOptions" o = Gtk.Widget.WidgetGetFontOptionsMethodInfo
        ResolvePlugMethod "getFrameClock" o = Gtk.Widget.WidgetGetFrameClockMethodInfo
        ResolvePlugMethod "getGravity" o = Gtk.Window.WindowGetGravityMethodInfo
        ResolvePlugMethod "getGroup" o = Gtk.Window.WindowGetGroupMethodInfo
        ResolvePlugMethod "getHalign" o = Gtk.Widget.WidgetGetHalignMethodInfo
        ResolvePlugMethod "getHasResizeGrip" o = Gtk.Window.WindowGetHasResizeGripMethodInfo
        ResolvePlugMethod "getHasTooltip" o = Gtk.Widget.WidgetGetHasTooltipMethodInfo
        ResolvePlugMethod "getHasWindow" o = Gtk.Widget.WidgetGetHasWindowMethodInfo
        ResolvePlugMethod "getHexpand" o = Gtk.Widget.WidgetGetHexpandMethodInfo
        ResolvePlugMethod "getHexpandSet" o = Gtk.Widget.WidgetGetHexpandSetMethodInfo
        ResolvePlugMethod "getHideTitlebarWhenMaximized" o = Gtk.Window.WindowGetHideTitlebarWhenMaximizedMethodInfo
        ResolvePlugMethod "getIcon" o = Gtk.Window.WindowGetIconMethodInfo
        ResolvePlugMethod "getIconList" o = Gtk.Window.WindowGetIconListMethodInfo
        ResolvePlugMethod "getIconName" o = Gtk.Window.WindowGetIconNameMethodInfo
        ResolvePlugMethod "getId" o = PlugGetIdMethodInfo
        ResolvePlugMethod "getInternalChild" o = Gtk.Buildable.BuildableGetInternalChildMethodInfo
        ResolvePlugMethod "getMapped" o = Gtk.Widget.WidgetGetMappedMethodInfo
        ResolvePlugMethod "getMarginBottom" o = Gtk.Widget.WidgetGetMarginBottomMethodInfo
        ResolvePlugMethod "getMarginEnd" o = Gtk.Widget.WidgetGetMarginEndMethodInfo
        ResolvePlugMethod "getMarginLeft" o = Gtk.Widget.WidgetGetMarginLeftMethodInfo
        ResolvePlugMethod "getMarginRight" o = Gtk.Widget.WidgetGetMarginRightMethodInfo
        ResolvePlugMethod "getMarginStart" o = Gtk.Widget.WidgetGetMarginStartMethodInfo
        ResolvePlugMethod "getMarginTop" o = Gtk.Widget.WidgetGetMarginTopMethodInfo
        ResolvePlugMethod "getMnemonicModifier" o = Gtk.Window.WindowGetMnemonicModifierMethodInfo
        ResolvePlugMethod "getMnemonicsVisible" o = Gtk.Window.WindowGetMnemonicsVisibleMethodInfo
        ResolvePlugMethod "getModal" o = Gtk.Window.WindowGetModalMethodInfo
        ResolvePlugMethod "getModifierMask" o = Gtk.Widget.WidgetGetModifierMaskMethodInfo
        ResolvePlugMethod "getModifierStyle" o = Gtk.Widget.WidgetGetModifierStyleMethodInfo
        ResolvePlugMethod "getName" o = Gtk.Widget.WidgetGetNameMethodInfo
        ResolvePlugMethod "getNoShowAll" o = Gtk.Widget.WidgetGetNoShowAllMethodInfo
        ResolvePlugMethod "getOpacity" o = Gtk.Window.WindowGetOpacityMethodInfo
        ResolvePlugMethod "getPangoContext" o = Gtk.Widget.WidgetGetPangoContextMethodInfo
        ResolvePlugMethod "getParent" o = Gtk.Widget.WidgetGetParentMethodInfo
        ResolvePlugMethod "getParentWindow" o = Gtk.Widget.WidgetGetParentWindowMethodInfo
        ResolvePlugMethod "getPath" o = Gtk.Widget.WidgetGetPathMethodInfo
        ResolvePlugMethod "getPathForChild" o = Gtk.Container.ContainerGetPathForChildMethodInfo
        ResolvePlugMethod "getPointer" o = Gtk.Widget.WidgetGetPointerMethodInfo
        ResolvePlugMethod "getPosition" o = Gtk.Window.WindowGetPositionMethodInfo
        ResolvePlugMethod "getPreferredHeight" o = Gtk.Widget.WidgetGetPreferredHeightMethodInfo
        ResolvePlugMethod "getPreferredHeightAndBaselineForWidth" o = Gtk.Widget.WidgetGetPreferredHeightAndBaselineForWidthMethodInfo
        ResolvePlugMethod "getPreferredHeightForWidth" o = Gtk.Widget.WidgetGetPreferredHeightForWidthMethodInfo
        ResolvePlugMethod "getPreferredSize" o = Gtk.Widget.WidgetGetPreferredSizeMethodInfo
        ResolvePlugMethod "getPreferredWidth" o = Gtk.Widget.WidgetGetPreferredWidthMethodInfo
        ResolvePlugMethod "getPreferredWidthForHeight" o = Gtk.Widget.WidgetGetPreferredWidthForHeightMethodInfo
        ResolvePlugMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
        ResolvePlugMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
        ResolvePlugMethod "getRealized" o = Gtk.Widget.WidgetGetRealizedMethodInfo
        ResolvePlugMethod "getReceivesDefault" o = Gtk.Widget.WidgetGetReceivesDefaultMethodInfo
        ResolvePlugMethod "getRequestMode" o = Gtk.Widget.WidgetGetRequestModeMethodInfo
        ResolvePlugMethod "getRequisition" o = Gtk.Widget.WidgetGetRequisitionMethodInfo
        ResolvePlugMethod "getResizable" o = Gtk.Window.WindowGetResizableMethodInfo
        ResolvePlugMethod "getResizeGripArea" o = Gtk.Window.WindowGetResizeGripAreaMethodInfo
        ResolvePlugMethod "getResizeMode" o = Gtk.Container.ContainerGetResizeModeMethodInfo
        ResolvePlugMethod "getRole" o = Gtk.Window.WindowGetRoleMethodInfo
        ResolvePlugMethod "getRootWindow" o = Gtk.Widget.WidgetGetRootWindowMethodInfo
        ResolvePlugMethod "getScaleFactor" o = Gtk.Widget.WidgetGetScaleFactorMethodInfo
        ResolvePlugMethod "getScreen" o = Gtk.Window.WindowGetScreenMethodInfo
        ResolvePlugMethod "getSensitive" o = Gtk.Widget.WidgetGetSensitiveMethodInfo
        ResolvePlugMethod "getSettings" o = Gtk.Widget.WidgetGetSettingsMethodInfo
        ResolvePlugMethod "getSize" o = Gtk.Window.WindowGetSizeMethodInfo
        ResolvePlugMethod "getSizeRequest" o = Gtk.Widget.WidgetGetSizeRequestMethodInfo
        ResolvePlugMethod "getSkipPagerHint" o = Gtk.Window.WindowGetSkipPagerHintMethodInfo
        ResolvePlugMethod "getSkipTaskbarHint" o = Gtk.Window.WindowGetSkipTaskbarHintMethodInfo
        ResolvePlugMethod "getSocketWindow" o = PlugGetSocketWindowMethodInfo
        ResolvePlugMethod "getState" o = Gtk.Widget.WidgetGetStateMethodInfo
        ResolvePlugMethod "getStateFlags" o = Gtk.Widget.WidgetGetStateFlagsMethodInfo
        ResolvePlugMethod "getStyle" o = Gtk.Widget.WidgetGetStyleMethodInfo
        ResolvePlugMethod "getStyleContext" o = Gtk.Widget.WidgetGetStyleContextMethodInfo
        ResolvePlugMethod "getSupportMultidevice" o = Gtk.Widget.WidgetGetSupportMultideviceMethodInfo
        ResolvePlugMethod "getTemplateChild" o = Gtk.Widget.WidgetGetTemplateChildMethodInfo
        ResolvePlugMethod "getTitle" o = Gtk.Window.WindowGetTitleMethodInfo
        ResolvePlugMethod "getTitlebar" o = Gtk.Window.WindowGetTitlebarMethodInfo
        ResolvePlugMethod "getTooltipMarkup" o = Gtk.Widget.WidgetGetTooltipMarkupMethodInfo
        ResolvePlugMethod "getTooltipText" o = Gtk.Widget.WidgetGetTooltipTextMethodInfo
        ResolvePlugMethod "getTooltipWindow" o = Gtk.Widget.WidgetGetTooltipWindowMethodInfo
        ResolvePlugMethod "getToplevel" o = Gtk.Widget.WidgetGetToplevelMethodInfo
        ResolvePlugMethod "getTransientFor" o = Gtk.Window.WindowGetTransientForMethodInfo
        ResolvePlugMethod "getTypeHint" o = Gtk.Window.WindowGetTypeHintMethodInfo
        ResolvePlugMethod "getUrgencyHint" o = Gtk.Window.WindowGetUrgencyHintMethodInfo
        ResolvePlugMethod "getValign" o = Gtk.Widget.WidgetGetValignMethodInfo
        ResolvePlugMethod "getValignWithBaseline" o = Gtk.Widget.WidgetGetValignWithBaselineMethodInfo
        ResolvePlugMethod "getVexpand" o = Gtk.Widget.WidgetGetVexpandMethodInfo
        ResolvePlugMethod "getVexpandSet" o = Gtk.Widget.WidgetGetVexpandSetMethodInfo
        ResolvePlugMethod "getVisible" o = Gtk.Widget.WidgetGetVisibleMethodInfo
        ResolvePlugMethod "getVisual" o = Gtk.Widget.WidgetGetVisualMethodInfo
        ResolvePlugMethod "getWindow" o = Gtk.Widget.WidgetGetWindowMethodInfo
        ResolvePlugMethod "getWindowType" o = Gtk.Window.WindowGetWindowTypeMethodInfo
        ResolvePlugMethod "setAccelPath" o = Gtk.Widget.WidgetSetAccelPathMethodInfo
        ResolvePlugMethod "setAcceptFocus" o = Gtk.Window.WindowSetAcceptFocusMethodInfo
        ResolvePlugMethod "setAllocation" o = Gtk.Widget.WidgetSetAllocationMethodInfo
        ResolvePlugMethod "setAppPaintable" o = Gtk.Widget.WidgetSetAppPaintableMethodInfo
        ResolvePlugMethod "setApplication" o = Gtk.Window.WindowSetApplicationMethodInfo
        ResolvePlugMethod "setAttachedTo" o = Gtk.Window.WindowSetAttachedToMethodInfo
        ResolvePlugMethod "setBorderWidth" o = Gtk.Container.ContainerSetBorderWidthMethodInfo
        ResolvePlugMethod "setBuildableProperty" o = Gtk.Buildable.BuildableSetBuildablePropertyMethodInfo
        ResolvePlugMethod "setCanDefault" o = Gtk.Widget.WidgetSetCanDefaultMethodInfo
        ResolvePlugMethod "setCanFocus" o = Gtk.Widget.WidgetSetCanFocusMethodInfo
        ResolvePlugMethod "setChildVisible" o = Gtk.Widget.WidgetSetChildVisibleMethodInfo
        ResolvePlugMethod "setClip" o = Gtk.Widget.WidgetSetClipMethodInfo
        ResolvePlugMethod "setCompositeName" o = Gtk.Widget.WidgetSetCompositeNameMethodInfo
        ResolvePlugMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
        ResolvePlugMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
        ResolvePlugMethod "setDecorated" o = Gtk.Window.WindowSetDecoratedMethodInfo
        ResolvePlugMethod "setDefault" o = Gtk.Window.WindowSetDefaultMethodInfo
        ResolvePlugMethod "setDefaultGeometry" o = Gtk.Window.WindowSetDefaultGeometryMethodInfo
        ResolvePlugMethod "setDefaultSize" o = Gtk.Window.WindowSetDefaultSizeMethodInfo
        ResolvePlugMethod "setDeletable" o = Gtk.Window.WindowSetDeletableMethodInfo
        ResolvePlugMethod "setDestroyWithParent" o = Gtk.Window.WindowSetDestroyWithParentMethodInfo
        ResolvePlugMethod "setDeviceEnabled" o = Gtk.Widget.WidgetSetDeviceEnabledMethodInfo
        ResolvePlugMethod "setDeviceEvents" o = Gtk.Widget.WidgetSetDeviceEventsMethodInfo
        ResolvePlugMethod "setDirection" o = Gtk.Widget.WidgetSetDirectionMethodInfo
        ResolvePlugMethod "setDoubleBuffered" o = Gtk.Widget.WidgetSetDoubleBufferedMethodInfo
        ResolvePlugMethod "setEvents" o = Gtk.Widget.WidgetSetEventsMethodInfo
        ResolvePlugMethod "setFocus" o = Gtk.Window.WindowSetFocusMethodInfo
        ResolvePlugMethod "setFocusChain" o = Gtk.Container.ContainerSetFocusChainMethodInfo
        ResolvePlugMethod "setFocusChild" o = Gtk.Container.ContainerSetFocusChildMethodInfo
        ResolvePlugMethod "setFocusHadjustment" o = Gtk.Container.ContainerSetFocusHadjustmentMethodInfo
        ResolvePlugMethod "setFocusOnClick" o = Gtk.Widget.WidgetSetFocusOnClickMethodInfo
        ResolvePlugMethod "setFocusOnMap" o = Gtk.Window.WindowSetFocusOnMapMethodInfo
        ResolvePlugMethod "setFocusVadjustment" o = Gtk.Container.ContainerSetFocusVadjustmentMethodInfo
        ResolvePlugMethod "setFocusVisible" o = Gtk.Window.WindowSetFocusVisibleMethodInfo
        ResolvePlugMethod "setFontMap" o = Gtk.Widget.WidgetSetFontMapMethodInfo
        ResolvePlugMethod "setFontOptions" o = Gtk.Widget.WidgetSetFontOptionsMethodInfo
        ResolvePlugMethod "setGeometryHints" o = Gtk.Window.WindowSetGeometryHintsMethodInfo
        ResolvePlugMethod "setGravity" o = Gtk.Window.WindowSetGravityMethodInfo
        ResolvePlugMethod "setHalign" o = Gtk.Widget.WidgetSetHalignMethodInfo
        ResolvePlugMethod "setHasResizeGrip" o = Gtk.Window.WindowSetHasResizeGripMethodInfo
        ResolvePlugMethod "setHasTooltip" o = Gtk.Widget.WidgetSetHasTooltipMethodInfo
        ResolvePlugMethod "setHasUserRefCount" o = Gtk.Window.WindowSetHasUserRefCountMethodInfo
        ResolvePlugMethod "setHasWindow" o = Gtk.Widget.WidgetSetHasWindowMethodInfo
        ResolvePlugMethod "setHexpand" o = Gtk.Widget.WidgetSetHexpandMethodInfo
        ResolvePlugMethod "setHexpandSet" o = Gtk.Widget.WidgetSetHexpandSetMethodInfo
        ResolvePlugMethod "setHideTitlebarWhenMaximized" o = Gtk.Window.WindowSetHideTitlebarWhenMaximizedMethodInfo
        ResolvePlugMethod "setIcon" o = Gtk.Window.WindowSetIconMethodInfo
        ResolvePlugMethod "setIconFromFile" o = Gtk.Window.WindowSetIconFromFileMethodInfo
        ResolvePlugMethod "setIconList" o = Gtk.Window.WindowSetIconListMethodInfo
        ResolvePlugMethod "setIconName" o = Gtk.Window.WindowSetIconNameMethodInfo
        ResolvePlugMethod "setKeepAbove" o = Gtk.Window.WindowSetKeepAboveMethodInfo
        ResolvePlugMethod "setKeepBelow" o = Gtk.Window.WindowSetKeepBelowMethodInfo
        ResolvePlugMethod "setMapped" o = Gtk.Widget.WidgetSetMappedMethodInfo
        ResolvePlugMethod "setMarginBottom" o = Gtk.Widget.WidgetSetMarginBottomMethodInfo
        ResolvePlugMethod "setMarginEnd" o = Gtk.Widget.WidgetSetMarginEndMethodInfo
        ResolvePlugMethod "setMarginLeft" o = Gtk.Widget.WidgetSetMarginLeftMethodInfo
        ResolvePlugMethod "setMarginRight" o = Gtk.Widget.WidgetSetMarginRightMethodInfo
        ResolvePlugMethod "setMarginStart" o = Gtk.Widget.WidgetSetMarginStartMethodInfo
        ResolvePlugMethod "setMarginTop" o = Gtk.Widget.WidgetSetMarginTopMethodInfo
        ResolvePlugMethod "setMnemonicModifier" o = Gtk.Window.WindowSetMnemonicModifierMethodInfo
        ResolvePlugMethod "setMnemonicsVisible" o = Gtk.Window.WindowSetMnemonicsVisibleMethodInfo
        ResolvePlugMethod "setModal" o = Gtk.Window.WindowSetModalMethodInfo
        ResolvePlugMethod "setName" o = Gtk.Widget.WidgetSetNameMethodInfo
        ResolvePlugMethod "setNoShowAll" o = Gtk.Widget.WidgetSetNoShowAllMethodInfo
        ResolvePlugMethod "setOpacity" o = Gtk.Window.WindowSetOpacityMethodInfo
        ResolvePlugMethod "setParent" o = Gtk.Widget.WidgetSetParentMethodInfo
        ResolvePlugMethod "setParentWindow" o = Gtk.Widget.WidgetSetParentWindowMethodInfo
        ResolvePlugMethod "setPosition" o = Gtk.Window.WindowSetPositionMethodInfo
        ResolvePlugMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
        ResolvePlugMethod "setRealized" o = Gtk.Widget.WidgetSetRealizedMethodInfo
        ResolvePlugMethod "setReallocateRedraws" o = Gtk.Container.ContainerSetReallocateRedrawsMethodInfo
        ResolvePlugMethod "setReceivesDefault" o = Gtk.Widget.WidgetSetReceivesDefaultMethodInfo
        ResolvePlugMethod "setRedrawOnAllocate" o = Gtk.Widget.WidgetSetRedrawOnAllocateMethodInfo
        ResolvePlugMethod "setResizable" o = Gtk.Window.WindowSetResizableMethodInfo
        ResolvePlugMethod "setResizeMode" o = Gtk.Container.ContainerSetResizeModeMethodInfo
        ResolvePlugMethod "setRole" o = Gtk.Window.WindowSetRoleMethodInfo
        ResolvePlugMethod "setScreen" o = Gtk.Window.WindowSetScreenMethodInfo
        ResolvePlugMethod "setSensitive" o = Gtk.Widget.WidgetSetSensitiveMethodInfo
        ResolvePlugMethod "setSizeRequest" o = Gtk.Widget.WidgetSetSizeRequestMethodInfo
        ResolvePlugMethod "setSkipPagerHint" o = Gtk.Window.WindowSetSkipPagerHintMethodInfo
        ResolvePlugMethod "setSkipTaskbarHint" o = Gtk.Window.WindowSetSkipTaskbarHintMethodInfo
        ResolvePlugMethod "setStartupId" o = Gtk.Window.WindowSetStartupIdMethodInfo
        ResolvePlugMethod "setState" o = Gtk.Widget.WidgetSetStateMethodInfo
        ResolvePlugMethod "setStateFlags" o = Gtk.Widget.WidgetSetStateFlagsMethodInfo
        ResolvePlugMethod "setStyle" o = Gtk.Widget.WidgetSetStyleMethodInfo
        ResolvePlugMethod "setSupportMultidevice" o = Gtk.Widget.WidgetSetSupportMultideviceMethodInfo
        ResolvePlugMethod "setTitle" o = Gtk.Window.WindowSetTitleMethodInfo
        ResolvePlugMethod "setTitlebar" o = Gtk.Window.WindowSetTitlebarMethodInfo
        ResolvePlugMethod "setTooltipMarkup" o = Gtk.Widget.WidgetSetTooltipMarkupMethodInfo
        ResolvePlugMethod "setTooltipText" o = Gtk.Widget.WidgetSetTooltipTextMethodInfo
        ResolvePlugMethod "setTooltipWindow" o = Gtk.Widget.WidgetSetTooltipWindowMethodInfo
        ResolvePlugMethod "setTransientFor" o = Gtk.Window.WindowSetTransientForMethodInfo
        ResolvePlugMethod "setTypeHint" o = Gtk.Window.WindowSetTypeHintMethodInfo
        ResolvePlugMethod "setUrgencyHint" o = Gtk.Window.WindowSetUrgencyHintMethodInfo
        ResolvePlugMethod "setValign" o = Gtk.Widget.WidgetSetValignMethodInfo
        ResolvePlugMethod "setVexpand" o = Gtk.Widget.WidgetSetVexpandMethodInfo
        ResolvePlugMethod "setVexpandSet" o = Gtk.Widget.WidgetSetVexpandSetMethodInfo
        ResolvePlugMethod "setVisible" o = Gtk.Widget.WidgetSetVisibleMethodInfo
        ResolvePlugMethod "setVisual" o = Gtk.Widget.WidgetSetVisualMethodInfo
        ResolvePlugMethod "setWindow" o = Gtk.Widget.WidgetSetWindowMethodInfo
        ResolvePlugMethod "setWmclass" o = Gtk.Window.WindowSetWmclassMethodInfo
        ResolvePlugMethod l o = O.MethodResolutionFailed l o

    instance (info ~ ResolvePlugMethod t Plug, O.OverloadedMethod info Plug p) => OL.IsLabel t (Plug -> p) where
    #if MIN_VERSION_base(4,10,0)
        fromLabel = O.overloadedMethod @info
    #else
        fromLabel _ = O.overloadedMethod @info
    #endif

    #if MIN_VERSION_base(4,13,0)
    instance (info ~ ResolvePlugMethod t Plug, O.OverloadedMethod info Plug p, R.HasField t Plug p) => R.HasField t Plug p where
        getField = O.overloadedMethod @info

    #endif

    instance (info ~ ResolvePlugMethod t Plug, O.OverloadedMethodInfo info Plug) => OL.IsLabel t (O.MethodProxy info Plug) where
    #if MIN_VERSION_base(4,10,0)
        fromLabel = O.MethodProxy
    #else
        fromLabel _ = O.MethodProxy
    #endif

    #endif

    -- signal Plug::embedded
    -- | Gets emitted when the plug becomes embedded in a socket.
    type PlugEmbeddedCallback =
        IO ()

    type C_PlugEmbeddedCallback =
        Ptr Plug ->                             -- object
        Ptr () ->                               -- user_data
        IO ()

    -- | Generate a function pointer callable from C code, from a `C_PlugEmbeddedCallback`.
    foreign import ccall "wrapper"
        mk_PlugEmbeddedCallback :: C_PlugEmbeddedCallback -> IO (FunPtr C_PlugEmbeddedCallback)

    wrap_PlugEmbeddedCallback ::
        GObject a => (a -> PlugEmbeddedCallback) ->
        C_PlugEmbeddedCallback
    wrap_PlugEmbeddedCallback :: forall a. GObject a => (a -> IO ()) -> C_PlugEmbeddedCallback
    wrap_PlugEmbeddedCallback a -> IO ()
    gi'cb Ptr Plug
    gi'selfPtr Ptr ()
    _ = do
        Ptr Plug -> (Plug -> IO ()) -> IO ()
    forall o b.
    (HasCallStack, GObject o) =>
    Ptr o -> (o -> IO b) -> IO b
    B.ManagedPtr.withNewObject Ptr Plug
    gi'selfPtr ((Plug -> IO ()) -> IO ()) -> (Plug -> IO ()) -> IO ()
    forall a b. (a -> b) -> a -> b
    $ \Plug
    gi'self -> a -> IO ()
    gi'cb (Plug -> a
    forall a b. Coercible a b => a -> b
    Coerce.coerce Plug
    gi'self)

    -- | Connect a signal handler for the [embedded](#signal:embedded) signal, to be run before the default handler.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Signals.on' plug #embedded callback
    -- @
    --
    --
    onPlugEmbedded :: (IsPlug a, MonadIO m) => a -> ((?self :: a) => PlugEmbeddedCallback) -> m SignalHandlerId
    onPlugEmbedded :: forall a (m :: * -> *).
    (IsPlug a, MonadIO m) =>
    a -> ((?self::a) => IO ()) -> m SignalHandlerId
    onPlugEmbedded a
    obj (?self::a) => IO ()
    cb = IO SignalHandlerId -> m SignalHandlerId
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO SignalHandlerId -> m SignalHandlerId)
    -> IO SignalHandlerId -> m SignalHandlerId
    forall a b. (a -> b) -> a -> b
    $ do
        let wrapped :: a -> IO ()
    wrapped a
    self = let ?self = a
    ?self::a
    self in IO ()
    (?self::a) => IO ()
    cb
        let wrapped' :: C_PlugEmbeddedCallback
    wrapped' = (a -> IO ()) -> C_PlugEmbeddedCallback
    forall a. GObject a => (a -> IO ()) -> C_PlugEmbeddedCallback
    wrap_PlugEmbeddedCallback a -> IO ()
    wrapped
        wrapped'' <- C_PlugEmbeddedCallback -> IO (FunPtr C_PlugEmbeddedCallback)
    mk_PlugEmbeddedCallback C_PlugEmbeddedCallback
    wrapped'
        connectSignalFunPtr obj "embedded" wrapped'' SignalConnectBefore Nothing

    -- | Connect a signal handler for the [embedded](#signal:embedded) signal, to be run after the default handler.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Signals.after' plug #embedded callback
    -- @
    --
    --
    --
    -- By default the object invoking the signal is not passed to the callback.
    -- If you need to access it, you can use the implit @?self@ parameter.
    -- Note that this requires activating the @ImplicitParams@ GHC extension.
    --
    afterPlugEmbedded :: (IsPlug a, MonadIO m) => a -> ((?self :: a) => PlugEmbeddedCallback) -> m SignalHandlerId
    afterPlugEmbedded :: forall a (m :: * -> *).
    (IsPlug a, MonadIO m) =>
    a -> ((?self::a) => IO ()) -> m SignalHandlerId
    afterPlugEmbedded a
    obj (?self::a) => IO ()
    cb = IO SignalHandlerId -> m SignalHandlerId
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO SignalHandlerId -> m SignalHandlerId)
    -> IO SignalHandlerId -> m SignalHandlerId
    forall a b. (a -> b) -> a -> b
    $ do
        let wrapped :: a -> IO ()
    wrapped a
    self = let ?self = a
    ?self::a
    self in IO ()
    (?self::a) => IO ()
    cb
        let wrapped' :: C_PlugEmbeddedCallback
    wrapped' = (a -> IO ()) -> C_PlugEmbeddedCallback
    forall a. GObject a => (a -> IO ()) -> C_PlugEmbeddedCallback
    wrap_PlugEmbeddedCallback a -> IO ()
    wrapped
        wrapped'' <- C_PlugEmbeddedCallback -> IO (FunPtr C_PlugEmbeddedCallback)
    mk_PlugEmbeddedCallback C_PlugEmbeddedCallback
    wrapped'
        connectSignalFunPtr obj "embedded" wrapped'' SignalConnectAfter Nothing

    #if defined(ENABLE_OVERLOADING)
    data PlugEmbeddedSignalInfo
    instance SignalInfo PlugEmbeddedSignalInfo where
        type HaskellCallbackType PlugEmbeddedSignalInfo = PlugEmbeddedCallback
        connectSignal obj cb connectMode detail = do
            let cb' = wrap_PlugEmbeddedCallback cb
            cb'' <- mk_PlugEmbeddedCallback cb'
            connectSignalFunPtr obj "embedded" cb'' connectMode detail
        dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Plug::embedded"
            , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk3-3.0.44/docs/GI-Gtk-Objects-Plug.html#g:signal:embedded"})

    #endif

    -- VVV Prop "embedded"
       -- Type: TBasicType TBoolean
       -- Flags: [PropertyReadable]
       -- Nullable: (Just False,Nothing)

    -- | Get the value of the “@embedded@” property.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.get' plug #embedded
    -- @
    getPlugEmbedded :: (MonadIO m, IsPlug o) => o -> m Bool
    getPlugEmbedded :: forall (m :: * -> *) o. (MonadIO m, IsPlug o) => o -> m Bool
    getPlugEmbedded o
    obj = IO Bool -> m Bool
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
    forall a b. (a -> b) -> a -> b
    $ o -> String -> IO Bool
    forall a. GObject a => a -> String -> IO Bool
    B.Properties.getObjectPropertyBool o
    obj String
    "embedded"

    #if defined(ENABLE_OVERLOADING)
    data PlugEmbeddedPropertyInfo
    instance AttrInfo PlugEmbeddedPropertyInfo where
        type AttrAllowedOps PlugEmbeddedPropertyInfo = '[ 'AttrGet]
        type AttrBaseTypeConstraint PlugEmbeddedPropertyInfo = IsPlug
        type AttrSetTypeConstraint PlugEmbeddedPropertyInfo = (~) ()
        type AttrTransferTypeConstraint PlugEmbeddedPropertyInfo = (~) ()
        type AttrTransferType PlugEmbeddedPropertyInfo = ()
        type AttrGetType PlugEmbeddedPropertyInfo = Bool
        type AttrLabel PlugEmbeddedPropertyInfo = "embedded"
        type AttrOrigin PlugEmbeddedPropertyInfo = Plug
        attrGet = getPlugEmbedded
        attrSet = undefined
        attrPut = undefined
        attrTransfer _ = undefined
        attrConstruct = undefined
        attrClear = undefined
        dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Plug.embedded"
            , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk3-3.0.44/docs/GI-Gtk-Objects-Plug.html#g:attr:embedded"
            })
    #endif

    -- VVV Prop "socket-window"
       -- Type: TInterface (Name {namespace = "Gdk", name = "Window"})
       -- Flags: [PropertyReadable]
       -- Nullable: (Just True,Nothing)

    -- | Get the value of the “@socket-window@” property.
    -- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
    --
    -- @
    -- 'Data.GI.Base.Attributes.get' plug #socketWindow
    -- @
    getPlugSocketWindow :: (MonadIO m, IsPlug o) => o -> m (Maybe Gdk.Window.Window)
    getPlugSocketWindow :: forall (m :: * -> *) o.
    (MonadIO m, IsPlug o) =>
    o -> m (Maybe Window)
    getPlugSocketWindow o
    obj = IO (Maybe Window) -> m (Maybe Window)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    MIO.liftIO (IO (Maybe Window) -> m (Maybe Window))
    -> IO (Maybe Window) -> m (Maybe Window)
    forall a b. (a -> b) -> a -> b
    $ o -> String -> (ManagedPtr Window -> Window) -> IO (Maybe Window)
    forall a b.
    (GObject a, GObject b) =>
    a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
    B.Properties.getObjectPropertyObject o
    obj String
    "socket-window" ManagedPtr Window -> Window
    Gdk.Window.Window

    #if defined(ENABLE_OVERLOADING)
    data PlugSocketWindowPropertyInfo
    instance AttrInfo PlugSocketWindowPropertyInfo where
        type AttrAllowedOps PlugSocketWindowPropertyInfo = '[ 'AttrGet, 'AttrClear]
        type AttrBaseTypeConstraint PlugSocketWindowPropertyInfo = IsPlug
        type AttrSetTypeConstraint PlugSocketWindowPropertyInfo = (~) ()
        type AttrTransferTypeConstraint PlugSocketWindowPropertyInfo = (~) ()
        type AttrTransferType PlugSocketWindowPropertyInfo = ()
        type AttrGetType PlugSocketWindowPropertyInfo = (Maybe Gdk.Window.Window)
        type AttrLabel PlugSocketWindowPropertyInfo = "socket-window"
        type AttrOrigin PlugSocketWindowPropertyInfo = Plug
        attrGet = getPlugSocketWindow
        attrSet = undefined
        attrPut = undefined
        attrTransfer _ = undefined
        attrConstruct = undefined
        attrClear = undefined
        dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Plug.socketWindow"
            , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk3-3.0.44/docs/GI-Gtk-Objects-Plug.html#g:attr:socketWindow"
            })
    #endif

    #if defined(ENABLE_OVERLOADING)
    instance O.HasAttributeList Plug
    type instance O.AttributeList Plug = PlugAttributeList
    type PlugAttributeList = ('[ '("acceptFocus", Gtk.Window.WindowAcceptFocusPropertyInfo), '("appPaintable", Gtk.Widget.WidgetAppPaintablePropertyInfo), '("application", Gtk.Window.WindowApplicationPropertyInfo), '("attachedTo", Gtk.Window.WindowAttachedToPropertyInfo), '("borderWidth", Gtk.Container.ContainerBorderWidthPropertyInfo), '("canDefault", Gtk.Widget.WidgetCanDefaultPropertyInfo), '("canFocus", Gtk.Widget.WidgetCanFocusPropertyInfo), '("child", Gtk.Container.ContainerChildPropertyInfo), '("compositeChild", Gtk.Widget.WidgetCompositeChildPropertyInfo), '("decorated", Gtk.Window.WindowDecoratedPropertyInfo), '("defaultHeight", Gtk.Window.WindowDefaultHeightPropertyInfo), '("defaultWidth", Gtk.Window.WindowDefaultWidthPropertyInfo), '("deletable", Gtk.Window.WindowDeletablePropertyInfo), '("destroyWithParent", Gtk.Window.WindowDestroyWithParentPropertyInfo), '("doubleBuffered", Gtk.Widget.WidgetDoubleBufferedPropertyInfo), '("embedded", PlugEmbeddedPropertyInfo), '("events", Gtk.Widget.WidgetEventsPropertyInfo), '("expand", Gtk.Widget.WidgetExpandPropertyInfo), '("focusOnClick", Gtk.Widget.WidgetFocusOnClickPropertyInfo), '("focusOnMap", Gtk.Window.WindowFocusOnMapPropertyInfo), '("focusVisible", Gtk.Window.WindowFocusVisiblePropertyInfo), '("gravity", Gtk.Window.WindowGravityPropertyInfo), '("halign", Gtk.Widget.WidgetHalignPropertyInfo), '("hasDefault", Gtk.Widget.WidgetHasDefaultPropertyInfo), '("hasFocus", Gtk.Widget.WidgetHasFocusPropertyInfo), '("hasResizeGrip", Gtk.Window.WindowHasResizeGripPropertyInfo), '("hasTooltip", Gtk.Widget.WidgetHasTooltipPropertyInfo), '("hasToplevelFocus", Gtk.Window.WindowHasToplevelFocusPropertyInfo), '("heightRequest", Gtk.Widget.WidgetHeightRequestPropertyInfo), '("hexpand", Gtk.Widget.WidgetHexpandPropertyInfo), '("hexpandSet", Gtk.Widget.WidgetHexpandSetPropertyInfo), '("hideTitlebarWhenMaximized", Gtk.Window.WindowHideTitlebarWhenMaximizedPropertyInfo), '("icon", Gtk.Window.WindowIconPropertyInfo), '("iconName", Gtk.Window.WindowIconNamePropertyInfo), '("isActive", Gtk.Window.WindowIsActivePropertyInfo), '("isFocus", Gtk.Widget.WidgetIsFocusPropertyInfo), '("isMaximized", Gtk.Window.WindowIsMaximizedPropertyInfo), '("margin", Gtk.Widget.WidgetMarginPropertyInfo), '("marginBottom", Gtk.Widget.WidgetMarginBottomPropertyInfo), '("marginEnd", Gtk.Widget.WidgetMarginEndPropertyInfo), '("marginLeft", Gtk.Widget.WidgetMarginLeftPropertyInfo), '("marginRight", Gtk.Widget.WidgetMarginRightPropertyInfo), '("marginStart", Gtk.Widget.WidgetMarginStartPropertyInfo), '("marginTop", Gtk.Widget.WidgetMarginTopPropertyInfo), '("mnemonicsVisible", Gtk.Window.WindowMnemonicsVisiblePropertyInfo), '("modal", Gtk.Window.WindowModalPropertyInfo), '("name", Gtk.Widget.WidgetNamePropertyInfo), '("noShowAll", Gtk.Widget.WidgetNoShowAllPropertyInfo), '("opacity", Gtk.Widget.WidgetOpacityPropertyInfo), '("parent", Gtk.Widget.WidgetParentPropertyInfo), '("receivesDefault", Gtk.Widget.WidgetReceivesDefaultPropertyInfo), '("resizable", Gtk.Window.WindowResizablePropertyInfo), '("resizeGripVisible", Gtk.Window.WindowResizeGripVisiblePropertyInfo), '("resizeMode", Gtk.Container.ContainerResizeModePropertyInfo), '("role", Gtk.Window.WindowRolePropertyInfo), '("scaleFactor", Gtk.Widget.WidgetScaleFactorPropertyInfo), '("screen", Gtk.Window.WindowScreenPropertyInfo), '("sensitive", Gtk.Widget.WidgetSensitivePropertyInfo), '("skipPagerHint", Gtk.Window.WindowSkipPagerHintPropertyInfo), '("skipTaskbarHint", Gtk.Window.WindowSkipTaskbarHintPropertyInfo), '("socketWindow", PlugSocketWindowPropertyInfo), '("startupId", Gtk.Window.WindowStartupIdPropertyInfo), '("style", Gtk.Widget.WidgetStylePropertyInfo), '("title", Gtk.Window.WindowTitlePropertyInfo), '("tooltipMarkup", Gtk.Widget.WidgetTooltipMarkupPropertyInfo), '("tooltipText", Gtk.Widget.WidgetTooltipTextPropertyInfo), '("transientFor", Gtk.Window.WindowTransientForPropertyInfo), '("type", Gtk.Window.WindowTypePropertyInfo), '("typeHint", Gtk.Window.WindowTypeHintPropertyInfo), '("urgencyHint", Gtk.Window.WindowUrgencyHintPropertyInfo), '("valign", Gtk.Widget.WidgetValignPropertyInfo), '("vexpand", Gtk.Widget.WidgetVexpandPropertyInfo), '("vexpandSet", Gtk.Widget.WidgetVexpandSetPropertyInfo), '("visible", Gtk.Widget.WidgetVisiblePropertyInfo), '("widthRequest", Gtk.Widget.WidgetWidthRequestPropertyInfo), '("window", Gtk.Widget.WidgetWindowPropertyInfo), '("windowPosition", Gtk.Window.WindowWindowPositionPropertyInfo)] :: [(Symbol, DK.Type)])
    #endif

    #if defined(ENABLE_OVERLOADING)
    plugEmbedded :: AttrLabelProxy "embedded"
    plugEmbedded = AttrLabelProxy

    plugSocketWindow :: AttrLabelProxy "socketWindow"
    plugSocketWindow = AttrLabelProxy

    #endif

    #if defined(ENABLE_OVERLOADING)
    type instance O.SignalList Plug = PlugSignalList
    type PlugSignalList = ('[ '("accelClosuresChanged", Gtk.Widget.WidgetAccelClosuresChangedSignalInfo), '("activateDefault", Gtk.Window.WindowActivateDefaultSignalInfo), '("activateFocus", Gtk.Window.WindowActivateFocusSignalInfo), '("add", Gtk.Container.ContainerAddSignalInfo), '("buttonPressEvent", Gtk.Widget.WidgetButtonPressEventSignalInfo), '("buttonReleaseEvent", Gtk.Widget.WidgetButtonReleaseEventSignalInfo), '("canActivateAccel", Gtk.Widget.WidgetCanActivateAccelSignalInfo), '("checkResize", Gtk.Container.ContainerCheckResizeSignalInfo), '("childNotify", Gtk.Widget.WidgetChildNotifySignalInfo), '("compositedChanged", Gtk.Widget.WidgetCompositedChangedSignalInfo), '("configureEvent", Gtk.Widget.WidgetConfigureEventSignalInfo), '("damageEvent", Gtk.Widget.WidgetDamageEventSignalInfo), '("deleteEvent", Gtk.Widget.WidgetDeleteEventSignalInfo), '("destroy", Gtk.Widget.WidgetDestroySignalInfo), '("destroyEvent", Gtk.Widget.WidgetDestroyEventSignalInfo), '("directionChanged", Gtk.Widget.WidgetDirectionChangedSignalInfo), '("dragBegin", Gtk.Widget.WidgetDragBeginSignalInfo), '("dragDataDelete", Gtk.Widget.WidgetDragDataDeleteSignalInfo), '("dragDataGet", Gtk.Widget.WidgetDragDataGetSignalInfo), '("dragDataReceived", Gtk.Widget.WidgetDragDataReceivedSignalInfo), '("dragDrop", Gtk.Widget.WidgetDragDropSignalInfo), '("dragEnd", Gtk.Widget.WidgetDragEndSignalInfo), '("dragFailed", Gtk.Widget.WidgetDragFailedSignalInfo), '("dragLeave", Gtk.Widget.WidgetDragLeaveSignalInfo), '("dragMotion", Gtk.Widget.WidgetDragMotionSignalInfo), '("draw", Gtk.Widget.WidgetDrawSignalInfo), '("embedded", PlugEmbeddedSignalInfo), '("enableDebugging", Gtk.Window.WindowEnableDebuggingSignalInfo), '("enterNotifyEvent", Gtk.Widget.WidgetEnterNotifyEventSignalInfo), '("event", Gtk.Widget.WidgetEventSignalInfo), '("eventAfter", Gtk.Widget.WidgetEventAfterSignalInfo), '("focus", Gtk.Widget.WidgetFocusSignalInfo), '("focusInEvent", Gtk.Widget.WidgetFocusInEventSignalInfo), '("focusOutEvent", Gtk.Widget.WidgetFocusOutEventSignalInfo), '("grabBrokenEvent", Gtk.Widget.WidgetGrabBrokenEventSignalInfo), '("grabFocus", Gtk.Widget.WidgetGrabFocusSignalInfo), '("grabNotify", Gtk.Widget.WidgetGrabNotifySignalInfo), '("hide", Gtk.Widget.WidgetHideSignalInfo), '("hierarchyChanged", Gtk.Widget.WidgetHierarchyChangedSignalInfo), '("keyPressEvent", Gtk.Widget.WidgetKeyPressEventSignalInfo), '("keyReleaseEvent", Gtk.Widget.WidgetKeyReleaseEventSignalInfo), '("keynavFailed", Gtk.Widget.WidgetKeynavFailedSignalInfo), '("keysChanged", Gtk.Window.WindowKeysChangedSignalInfo), '("leaveNotifyEvent", Gtk.Widget.WidgetLeaveNotifyEventSignalInfo), '("map", Gtk.Widget.WidgetMapSignalInfo), '("mapEvent", Gtk.Widget.WidgetMapEventSignalInfo), '("mnemonicActivate", Gtk.Widget.WidgetMnemonicActivateSignalInfo), '("motionNotifyEvent", Gtk.Widget.WidgetMotionNotifyEventSignalInfo), '("moveFocus", Gtk.Widget.WidgetMoveFocusSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("parentSet", Gtk.Widget.WidgetParentSetSignalInfo), '("popupMenu", Gtk.Widget.WidgetPopupMenuSignalInfo), '("propertyNotifyEvent", Gtk.Widget.WidgetPropertyNotifyEventSignalInfo), '("proximityInEvent", Gtk.Widget.WidgetProximityInEventSignalInfo), '("proximityOutEvent", Gtk.Widget.WidgetProximityOutEventSignalInfo), '("queryTooltip", Gtk.Widget.WidgetQueryTooltipSignalInfo), '("realize", Gtk.Widget.WidgetRealizeSignalInfo), '("remove", Gtk.Container.ContainerRemoveSignalInfo), '("screenChanged", Gtk.Widget.WidgetScreenChangedSignalInfo), '("scrollEvent", Gtk.Widget.WidgetScrollEventSignalInfo), '("selectionClearEvent", Gtk.Widget.WidgetSelectionClearEventSignalInfo), '("selectionGet", Gtk.Widget.WidgetSelectionGetSignalInfo), '("selectionNotifyEvent", Gtk.Widget.WidgetSelectionNotifyEventSignalInfo), '("selectionReceived", Gtk.Widget.WidgetSelectionReceivedSignalInfo), '("selectionRequestEvent", Gtk.Widget.WidgetSelectionRequestEventSignalInfo), '("setFocus", Gtk.Window.WindowSetFocusSignalInfo), '("setFocusChild", Gtk.Container.ContainerSetFocusChildSignalInfo), '("show", Gtk.Widget.WidgetShowSignalInfo), '("showHelp", Gtk.Widget.WidgetShowHelpSignalInfo), '("sizeAllocate", Gtk.Widget.WidgetSizeAllocateSignalInfo), '("stateChanged", Gtk.Widget.WidgetStateChangedSignalInfo), '("stateFlagsChanged", Gtk.Widget.WidgetStateFlagsChangedSignalInfo), '("styleSet", Gtk.Widget.WidgetStyleSetSignalInfo), '("styleUpdated", Gtk.Widget.WidgetStyleUpdatedSignalInfo), '("touchEvent", Gtk.Widget.WidgetTouchEventSignalInfo), '("unmap", Gtk.Widget.WidgetUnmapSignalInfo), '("unmapEvent", Gtk.Widget.WidgetUnmapEventSignalInfo), '("unrealize", Gtk.Widget.WidgetUnrealizeSignalInfo), '("visibilityNotifyEvent", Gtk.Widget.WidgetVisibilityNotifyEventSignalInfo), '("windowStateEvent", Gtk.Widget.WidgetWindowStateEventSignalInfo)] :: [(Symbol, DK.Type)])

    #endif

    -- method Plug::new
    -- method type : Constructor
    -- Args: [ Arg
    --           { argCName = "socket_id"
    --           , argType = TBasicType TULong
    --           , argCType = Just "Window"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "the window ID of the socket, or 0."
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Just (TInterface Name { namespace = "Gtk" , name = "Plug" })
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_plug_new" gtk_plug_new ::
        FCT.CULong ->                           -- socket_id : TBasicType TULong
        IO (Ptr Plug)

    -- | Creates a new plug widget inside the t'GI.Gtk.Objects.Socket.Socket' identified
    -- by /@socketId@/. If /@socketId@/ is 0, the plug is left “unplugged” and
    -- can later be plugged into a t'GI.Gtk.Objects.Socket.Socket' by  'GI.Gtk.Objects.Socket.socketAddId'.
    plugNew ::
        (B.CallStack.HasCallStack, MonadIO m) =>
        FCT.CULong
        -- ^ /@socketId@/: the window ID of the socket, or 0.
        -> m Plug
        -- ^ __Returns:__ the new t'GI.Gtk.Objects.Plug.Plug' widget.
    plugNew :: forall (m :: * -> *).
    (HasCallStack, MonadIO m) =>
    SignalHandlerId -> m Plug
    plugNew SignalHandlerId
    socketId = IO Plug -> m Plug
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO Plug -> m Plug) -> IO Plug -> m Plug
    forall a b. (a -> b) -> a -> b
    $ do
        result <- SignalHandlerId -> IO (Ptr Plug)
    gtk_plug_new SignalHandlerId
    socketId
        checkUnexpectedReturnNULL "plugNew" result
        result' <- (newObject Plug) result
        return result'

    #if defined(ENABLE_OVERLOADING)
    #endif

    -- method Plug::new_for_display
    -- method type : Constructor
    -- Args: [ Arg
    --           { argCName = "display"
    --           , argType =
    --               TInterface Name { namespace = "Gdk" , name = "Display" }
    --           , argCType = Just "GdkDisplay*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText =
    --                     Just "the #GdkDisplay on which @socket_id is displayed"
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "socket_id"
    --           , argType = TBasicType TULong
    --           , argCType = Just "Window"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "the XID of the socket\8217s window."
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Just (TInterface Name { namespace = "Gtk" , name = "Plug" })
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_plug_new_for_display" gtk_plug_new_for_display ::
        Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})
        FCT.CULong ->                           -- socket_id : TBasicType TULong
        IO (Ptr Plug)

    -- | Create a new plug widget inside the t'GI.Gtk.Objects.Socket.Socket' identified by socket_id.
    --
    -- /Since: 2.2/
    plugNewForDisplay ::
        (B.CallStack.HasCallStack, MonadIO m, Gdk.Display.IsDisplay a) =>
        a
        -- ^ /@display@/: the t'GI.Gdk.Objects.Display.Display' on which /@socketId@/ is displayed
        -> FCT.CULong
        -- ^ /@socketId@/: the XID of the socket’s window.
        -> m Plug
        -- ^ __Returns:__ the new t'GI.Gtk.Objects.Plug.Plug' widget.
    plugNewForDisplay :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsDisplay a) =>
    a -> SignalHandlerId -> m Plug
    plugNewForDisplay a
    display SignalHandlerId
    socketId = IO Plug -> m Plug
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO Plug -> m Plug) -> IO Plug -> m Plug
    forall a b. (a -> b) -> a -> b
    $ do
        display' <- a -> IO (Ptr Display)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    display
        result <- gtk_plug_new_for_display display' socketId
        checkUnexpectedReturnNULL "plugNewForDisplay" result
        result' <- (newObject Plug) result
        touchManagedPtr display
        return result'

    #if defined(ENABLE_OVERLOADING)
    #endif

    -- method Plug::construct
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "plug"
    --           , argType = TInterface Name { namespace = "Gtk" , name = "Plug" }
    --           , argCType = Just "GtkPlug*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkPlug." , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "socket_id"
    --           , argType = TBasicType TULong
    --           , argCType = Just "Window"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "the XID of the socket\8217s window."
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Nothing
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_plug_construct" gtk_plug_construct ::
        Ptr Plug ->                             -- plug : TInterface (Name {namespace = "Gtk", name = "Plug"})
        FCT.CULong ->                           -- socket_id : TBasicType TULong
        IO ()

    -- | Finish the initialization of /@plug@/ for a given t'GI.Gtk.Objects.Socket.Socket' identified by
    -- /@socketId@/. This function will generally only be used by classes deriving from t'GI.Gtk.Objects.Plug.Plug'.
    plugConstruct ::
        (B.CallStack.HasCallStack, MonadIO m, IsPlug a) =>
        a
        -- ^ /@plug@/: a t'GI.Gtk.Objects.Plug.Plug'.
        -> FCT.CULong
        -- ^ /@socketId@/: the XID of the socket’s window.
        -> m ()
    plugConstruct :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsPlug a) =>
    a -> SignalHandlerId -> m ()
    plugConstruct a
    plug SignalHandlerId
    socketId = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ do
        plug' <- a -> IO (Ptr Plug)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    plug
        gtk_plug_construct plug' socketId
        touchManagedPtr plug
        return ()

    #if defined(ENABLE_OVERLOADING)
    data PlugConstructMethodInfo
    instance (signature ~ (FCT.CULong -> m ()), MonadIO m, IsPlug a) => O.OverloadedMethod PlugConstructMethodInfo a signature where
        overloadedMethod = plugConstruct

    instance O.OverloadedMethodInfo PlugConstructMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Plug.plugConstruct",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk3-3.0.44/docs/GI-Gtk-Objects-Plug.html#v:plugConstruct"
            })

    #endif

    -- method Plug::construct_for_display
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "plug"
    --           , argType = TInterface Name { namespace = "Gtk" , name = "Plug" }
    --           , argCType = Just "GtkPlug*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkPlug." , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "display"
    --           , argType =
    --               TInterface Name { namespace = "Gdk" , name = "Display" }
    --           , argCType = Just "GdkDisplay*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText =
    --                     Just
    --                       "the #GdkDisplay associated with @socket_id\8217s\n     #GtkSocket."
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       , Arg
    --           { argCName = "socket_id"
    --           , argType = TBasicType TULong
    --           , argCType = Just "Window"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "the XID of the socket\8217s window."
    --                 , sinceVersion = Nothing
    --                 }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Nothing
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_plug_construct_for_display" gtk_plug_construct_for_display ::
        Ptr Plug ->                             -- plug : TInterface (Name {namespace = "Gtk", name = "Plug"})
        Ptr Gdk.Display.Display ->              -- display : TInterface (Name {namespace = "Gdk", name = "Display"})
        FCT.CULong ->                           -- socket_id : TBasicType TULong
        IO ()

    -- | Finish the initialization of /@plug@/ for a given t'GI.Gtk.Objects.Socket.Socket' identified by
    -- /@socketId@/ which is currently displayed on /@display@/.
    -- This function will generally only be used by classes deriving from t'GI.Gtk.Objects.Plug.Plug'.
    --
    -- /Since: 2.2/
    plugConstructForDisplay ::
        (B.CallStack.HasCallStack, MonadIO m, IsPlug a, Gdk.Display.IsDisplay b) =>
        a
        -- ^ /@plug@/: a t'GI.Gtk.Objects.Plug.Plug'.
        -> b
        -- ^ /@display@/: the t'GI.Gdk.Objects.Display.Display' associated with /@socketId@/’s
        --      t'GI.Gtk.Objects.Socket.Socket'.
        -> FCT.CULong
        -- ^ /@socketId@/: the XID of the socket’s window.
        -> m ()
    plugConstructForDisplay :: forall (m :: * -> *) a b.
    (HasCallStack, MonadIO m, IsPlug a, IsDisplay b) =>
    a -> b -> SignalHandlerId -> m ()
    plugConstructForDisplay a
    plug b
    display SignalHandlerId
    socketId = IO () -> m ()
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO () -> m ()) -> IO () -> m ()
    forall a b. (a -> b) -> a -> b
    $ do
        plug' <- a -> IO (Ptr Plug)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    plug
        display' <- unsafeManagedPtrCastPtr display
        gtk_plug_construct_for_display plug' display' socketId
        touchManagedPtr plug
        touchManagedPtr display
        return ()

    #if defined(ENABLE_OVERLOADING)
    data PlugConstructForDisplayMethodInfo
    instance (signature ~ (b -> FCT.CULong -> m ()), MonadIO m, IsPlug a, Gdk.Display.IsDisplay b) => O.OverloadedMethod PlugConstructForDisplayMethodInfo a signature where
        overloadedMethod = plugConstructForDisplay

    instance O.OverloadedMethodInfo PlugConstructForDisplayMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Plug.plugConstructForDisplay",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk3-3.0.44/docs/GI-Gtk-Objects-Plug.html#v:plugConstructForDisplay"
            })

    #endif

    -- method Plug::get_embedded
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "plug"
    --           , argType = TInterface Name { namespace = "Gtk" , name = "Plug" }
    --           , argCType = Just "GtkPlug*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkPlug" , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Just (TBasicType TBoolean)
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_plug_get_embedded" gtk_plug_get_embedded ::
        Ptr Plug ->                             -- plug : TInterface (Name {namespace = "Gtk", name = "Plug"})
        IO CInt

    -- | Determines whether the plug is embedded in a socket.
    --
    -- /Since: 2.14/
    plugGetEmbedded ::
        (B.CallStack.HasCallStack, MonadIO m, IsPlug a) =>
        a
        -- ^ /@plug@/: a t'GI.Gtk.Objects.Plug.Plug'
        -> m Bool
        -- ^ __Returns:__ 'P.True' if the plug is embedded in a socket
    plugGetEmbedded :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsPlug a) =>
    a -> m Bool
    plugGetEmbedded a
    plug = IO Bool -> m Bool
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
    forall a b. (a -> b) -> a -> b
    $ do
        plug' <- a -> IO (Ptr Plug)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    plug
        result <- gtk_plug_get_embedded plug'
        let result' = (CInt -> CInt -> Bool
    forall a. Eq a => a -> a -> Bool
    /= CInt
    0) CInt
    result
        touchManagedPtr plug
        return result'

    #if defined(ENABLE_OVERLOADING)
    data PlugGetEmbeddedMethodInfo
    instance (signature ~ (m Bool), MonadIO m, IsPlug a) => O.OverloadedMethod PlugGetEmbeddedMethodInfo a signature where
        overloadedMethod = plugGetEmbedded

    instance O.OverloadedMethodInfo PlugGetEmbeddedMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Plug.plugGetEmbedded",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk3-3.0.44/docs/GI-Gtk-Objects-Plug.html#v:plugGetEmbedded"
            })

    #endif

    -- method Plug::get_id
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "plug"
    --           , argType = TInterface Name { namespace = "Gtk" , name = "Plug" }
    --           , argCType = Just "GtkPlug*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkPlug." , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Just (TBasicType TULong)
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_plug_get_id" gtk_plug_get_id ::
        Ptr Plug ->                             -- plug : TInterface (Name {namespace = "Gtk", name = "Plug"})
        IO FCT.CULong

    -- | Gets the window ID of a t'GI.Gtk.Objects.Plug.Plug' widget, which can then
    -- be used to embed this window inside another window, for
    -- instance with 'GI.Gtk.Objects.Socket.socketAddId'.
    plugGetId ::
        (B.CallStack.HasCallStack, MonadIO m, IsPlug a) =>
        a
        -- ^ /@plug@/: a t'GI.Gtk.Objects.Plug.Plug'.
        -> m FCT.CULong
        -- ^ __Returns:__ the window ID for the plug
    plugGetId :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsPlug a) =>
    a -> m SignalHandlerId
    plugGetId a
    plug = IO SignalHandlerId -> m SignalHandlerId
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO SignalHandlerId -> m SignalHandlerId)
    -> IO SignalHandlerId -> m SignalHandlerId
    forall a b. (a -> b) -> a -> b
    $ do
        plug' <- a -> IO (Ptr Plug)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    plug
        result <- gtk_plug_get_id plug'
        touchManagedPtr plug
        return result

    #if defined(ENABLE_OVERLOADING)
    data PlugGetIdMethodInfo
    instance (signature ~ (m FCT.CULong), MonadIO m, IsPlug a) => O.OverloadedMethod PlugGetIdMethodInfo a signature where
        overloadedMethod = plugGetId

    instance O.OverloadedMethodInfo PlugGetIdMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Plug.plugGetId",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk3-3.0.44/docs/GI-Gtk-Objects-Plug.html#v:plugGetId"
            })

    #endif

    -- method Plug::get_socket_window
    -- method type : OrdinaryMethod
    -- Args: [ Arg
    --           { argCName = "plug"
    --           , argType = TInterface Name { namespace = "Gtk" , name = "Plug" }
    --           , argCType = Just "GtkPlug*"
    --           , direction = DirectionIn
    --           , mayBeNull = False
    --           , argDoc =
    --               Documentation
    --                 { rawDocText = Just "a #GtkPlug" , sinceVersion = Nothing }
    --           , argScope = ScopeTypeInvalid
    --           , argClosure = -1
    --           , argDestroy = -1
    --           , argCallerAllocates = False
    --           , argCallbackUserData = False
    --           , transfer = TransferNothing
    --           }
    --       ]
    -- Lengths: []
    -- returnType: Just (TInterface Name { namespace = "Gdk" , name = "Window" })
    -- throws : False
    -- Skip return : False

    foreign import ccall "gtk_plug_get_socket_window" gtk_plug_get_socket_window ::
        Ptr Plug ->                             -- plug : TInterface (Name {namespace = "Gtk", name = "Plug"})
        IO (Ptr Gdk.Window.Window)

    -- | Retrieves the socket the plug is embedded in.
    --
    -- /Since: 2.14/
    plugGetSocketWindow ::
        (B.CallStack.HasCallStack, MonadIO m, IsPlug a) =>
        a
        -- ^ /@plug@/: a t'GI.Gtk.Objects.Plug.Plug'
        -> m (Maybe Gdk.Window.Window)
        -- ^ __Returns:__ the window of the socket, or 'P.Nothing'
    plugGetSocketWindow :: forall (m :: * -> *) a.
    (HasCallStack, MonadIO m, IsPlug a) =>
    a -> m (Maybe Window)
    plugGetSocketWindow a
    plug = IO (Maybe Window) -> m (Maybe Window)
    forall a. IO a -> m a
    forall (m :: * -> *) a. MonadIO m => IO a -> m a
    liftIO (IO (Maybe Window) -> m (Maybe Window))
    -> IO (Maybe Window) -> m (Maybe Window)
    forall a b. (a -> b) -> a -> b
    $ do
        plug' <- a -> IO (Ptr Plug)
    forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
    unsafeManagedPtrCastPtr a
    plug
        result <- gtk_plug_get_socket_window plug'
        maybeResult <- convertIfNonNull result $ \Ptr Window
    result' -> do
            result'' <- ((ManagedPtr Window -> Window) -> Ptr Window -> IO Window
    forall a b.
    (HasCallStack, GObject a, GObject b) =>
    (ManagedPtr a -> a) -> Ptr b -> IO a
    newObject ManagedPtr Window -> Window
    Gdk.Window.Window) Ptr Window
    result'
            return result''
        touchManagedPtr plug
        return maybeResult

    #if defined(ENABLE_OVERLOADING)
    data PlugGetSocketWindowMethodInfo
    instance (signature ~ (m (Maybe Gdk.Window.Window)), MonadIO m, IsPlug a) => O.OverloadedMethod PlugGetSocketWindowMethodInfo a signature where
        overloadedMethod = plugGetSocketWindow

    instance O.OverloadedMethodInfo PlugGetSocketWindowMethodInfo a where
        overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
            O.resolvedSymbolName = "GI.Gtk.Objects.Plug.plugGetSocketWindow",
            O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk3-3.0.44/docs/GI-Gtk-Objects-Plug.html#v:plugGetSocketWindow"
            })

    #endif