{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Wnck.Objects.Screen
(
Screen(..) ,
IsScreen ,
toScreen ,
noScreen ,
#if defined(ENABLE_OVERLOADING)
ResolveScreenMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ScreenCalcWorkspaceLayoutMethodInfo ,
#endif
screenCalcWorkspaceLayout ,
#if defined(ENABLE_OVERLOADING)
ScreenChangeWorkspaceCountMethodInfo ,
#endif
screenChangeWorkspaceCount ,
#if defined(ENABLE_OVERLOADING)
ScreenForceUpdateMethodInfo ,
#endif
screenForceUpdate ,
screenFreeWorkspaceLayout ,
screenGet ,
#if defined(ENABLE_OVERLOADING)
ScreenGetActiveWindowMethodInfo ,
#endif
screenGetActiveWindow ,
#if defined(ENABLE_OVERLOADING)
ScreenGetActiveWorkspaceMethodInfo ,
#endif
screenGetActiveWorkspace ,
#if defined(ENABLE_OVERLOADING)
ScreenGetBackgroundPixmapMethodInfo ,
#endif
screenGetBackgroundPixmap ,
screenGetDefault ,
screenGetForRoot ,
#if defined(ENABLE_OVERLOADING)
ScreenGetHeightMethodInfo ,
#endif
screenGetHeight ,
#if defined(ENABLE_OVERLOADING)
ScreenGetNumberMethodInfo ,
#endif
screenGetNumber ,
#if defined(ENABLE_OVERLOADING)
ScreenGetPreviouslyActiveWindowMethodInfo,
#endif
screenGetPreviouslyActiveWindow ,
#if defined(ENABLE_OVERLOADING)
ScreenGetShowingDesktopMethodInfo ,
#endif
screenGetShowingDesktop ,
#if defined(ENABLE_OVERLOADING)
ScreenGetWidthMethodInfo ,
#endif
screenGetWidth ,
#if defined(ENABLE_OVERLOADING)
ScreenGetWindowManagerNameMethodInfo ,
#endif
screenGetWindowManagerName ,
#if defined(ENABLE_OVERLOADING)
ScreenGetWindowsMethodInfo ,
#endif
screenGetWindows ,
#if defined(ENABLE_OVERLOADING)
ScreenGetWindowsStackedMethodInfo ,
#endif
screenGetWindowsStacked ,
#if defined(ENABLE_OVERLOADING)
ScreenGetWorkspaceMethodInfo ,
#endif
screenGetWorkspace ,
#if defined(ENABLE_OVERLOADING)
ScreenGetWorkspaceCountMethodInfo ,
#endif
screenGetWorkspaceCount ,
#if defined(ENABLE_OVERLOADING)
ScreenGetWorkspacesMethodInfo ,
#endif
screenGetWorkspaces ,
#if defined(ENABLE_OVERLOADING)
ScreenMoveViewportMethodInfo ,
#endif
screenMoveViewport ,
#if defined(ENABLE_OVERLOADING)
ScreenNetWmSupportsMethodInfo ,
#endif
screenNetWmSupports ,
#if defined(ENABLE_OVERLOADING)
ScreenReleaseWorkspaceLayoutMethodInfo ,
#endif
screenReleaseWorkspaceLayout ,
#if defined(ENABLE_OVERLOADING)
ScreenToggleShowingDesktopMethodInfo ,
#endif
screenToggleShowingDesktop ,
#if defined(ENABLE_OVERLOADING)
ScreenTrySetWorkspaceLayoutMethodInfo ,
#endif
screenTrySetWorkspaceLayout ,
C_ScreenActiveWindowChangedCallback ,
ScreenActiveWindowChangedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenActiveWindowChangedSignalInfo ,
#endif
afterScreenActiveWindowChanged ,
genClosure_ScreenActiveWindowChanged ,
mk_ScreenActiveWindowChangedCallback ,
noScreenActiveWindowChangedCallback ,
onScreenActiveWindowChanged ,
wrap_ScreenActiveWindowChangedCallback ,
C_ScreenActiveWorkspaceChangedCallback ,
ScreenActiveWorkspaceChangedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenActiveWorkspaceChangedSignalInfo ,
#endif
afterScreenActiveWorkspaceChanged ,
genClosure_ScreenActiveWorkspaceChanged ,
mk_ScreenActiveWorkspaceChangedCallback ,
noScreenActiveWorkspaceChangedCallback ,
onScreenActiveWorkspaceChanged ,
wrap_ScreenActiveWorkspaceChangedCallback,
C_ScreenApplicationClosedCallback ,
ScreenApplicationClosedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenApplicationClosedSignalInfo ,
#endif
afterScreenApplicationClosed ,
genClosure_ScreenApplicationClosed ,
mk_ScreenApplicationClosedCallback ,
noScreenApplicationClosedCallback ,
onScreenApplicationClosed ,
wrap_ScreenApplicationClosedCallback ,
C_ScreenApplicationOpenedCallback ,
ScreenApplicationOpenedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenApplicationOpenedSignalInfo ,
#endif
afterScreenApplicationOpened ,
genClosure_ScreenApplicationOpened ,
mk_ScreenApplicationOpenedCallback ,
noScreenApplicationOpenedCallback ,
onScreenApplicationOpened ,
wrap_ScreenApplicationOpenedCallback ,
C_ScreenBackgroundChangedCallback ,
ScreenBackgroundChangedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenBackgroundChangedSignalInfo ,
#endif
afterScreenBackgroundChanged ,
genClosure_ScreenBackgroundChanged ,
mk_ScreenBackgroundChangedCallback ,
noScreenBackgroundChangedCallback ,
onScreenBackgroundChanged ,
wrap_ScreenBackgroundChangedCallback ,
C_ScreenClassGroupClosedCallback ,
ScreenClassGroupClosedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenClassGroupClosedSignalInfo ,
#endif
afterScreenClassGroupClosed ,
genClosure_ScreenClassGroupClosed ,
mk_ScreenClassGroupClosedCallback ,
noScreenClassGroupClosedCallback ,
onScreenClassGroupClosed ,
wrap_ScreenClassGroupClosedCallback ,
C_ScreenClassGroupOpenedCallback ,
ScreenClassGroupOpenedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenClassGroupOpenedSignalInfo ,
#endif
afterScreenClassGroupOpened ,
genClosure_ScreenClassGroupOpened ,
mk_ScreenClassGroupOpenedCallback ,
noScreenClassGroupOpenedCallback ,
onScreenClassGroupOpened ,
wrap_ScreenClassGroupOpenedCallback ,
C_ScreenShowingDesktopChangedCallback ,
ScreenShowingDesktopChangedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenShowingDesktopChangedSignalInfo ,
#endif
afterScreenShowingDesktopChanged ,
genClosure_ScreenShowingDesktopChanged ,
mk_ScreenShowingDesktopChangedCallback ,
noScreenShowingDesktopChangedCallback ,
onScreenShowingDesktopChanged ,
wrap_ScreenShowingDesktopChangedCallback,
C_ScreenViewportsChangedCallback ,
ScreenViewportsChangedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenViewportsChangedSignalInfo ,
#endif
afterScreenViewportsChanged ,
genClosure_ScreenViewportsChanged ,
mk_ScreenViewportsChangedCallback ,
noScreenViewportsChangedCallback ,
onScreenViewportsChanged ,
wrap_ScreenViewportsChangedCallback ,
C_ScreenWindowClosedCallback ,
ScreenWindowClosedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenWindowClosedSignalInfo ,
#endif
afterScreenWindowClosed ,
genClosure_ScreenWindowClosed ,
mk_ScreenWindowClosedCallback ,
noScreenWindowClosedCallback ,
onScreenWindowClosed ,
wrap_ScreenWindowClosedCallback ,
C_ScreenWindowManagerChangedCallback ,
ScreenWindowManagerChangedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenWindowManagerChangedSignalInfo ,
#endif
afterScreenWindowManagerChanged ,
genClosure_ScreenWindowManagerChanged ,
mk_ScreenWindowManagerChangedCallback ,
noScreenWindowManagerChangedCallback ,
onScreenWindowManagerChanged ,
wrap_ScreenWindowManagerChangedCallback ,
C_ScreenWindowOpenedCallback ,
ScreenWindowOpenedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenWindowOpenedSignalInfo ,
#endif
afterScreenWindowOpened ,
genClosure_ScreenWindowOpened ,
mk_ScreenWindowOpenedCallback ,
noScreenWindowOpenedCallback ,
onScreenWindowOpened ,
wrap_ScreenWindowOpenedCallback ,
C_ScreenWindowStackingChangedCallback ,
ScreenWindowStackingChangedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenWindowStackingChangedSignalInfo ,
#endif
afterScreenWindowStackingChanged ,
genClosure_ScreenWindowStackingChanged ,
mk_ScreenWindowStackingChangedCallback ,
noScreenWindowStackingChangedCallback ,
onScreenWindowStackingChanged ,
wrap_ScreenWindowStackingChangedCallback,
C_ScreenWorkspaceCreatedCallback ,
ScreenWorkspaceCreatedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenWorkspaceCreatedSignalInfo ,
#endif
afterScreenWorkspaceCreated ,
genClosure_ScreenWorkspaceCreated ,
mk_ScreenWorkspaceCreatedCallback ,
noScreenWorkspaceCreatedCallback ,
onScreenWorkspaceCreated ,
wrap_ScreenWorkspaceCreatedCallback ,
C_ScreenWorkspaceDestroyedCallback ,
ScreenWorkspaceDestroyedCallback ,
#if defined(ENABLE_OVERLOADING)
ScreenWorkspaceDestroyedSignalInfo ,
#endif
afterScreenWorkspaceDestroyed ,
genClosure_ScreenWorkspaceDestroyed ,
mk_ScreenWorkspaceDestroyedCallback ,
noScreenWorkspaceDestroyedCallback ,
onScreenWorkspaceDestroyed ,
wrap_ScreenWorkspaceDestroyedCallback ,
) 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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
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 Data.Text as T
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 GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Wnck.Objects.Application as Wnck.Application
import {-# SOURCE #-} qualified GI.Wnck.Objects.ClassGroup as Wnck.ClassGroup
import {-# SOURCE #-} qualified GI.Wnck.Objects.Window as Wnck.Window
import {-# SOURCE #-} qualified GI.Wnck.Objects.Workspace as Wnck.Workspace
import {-# SOURCE #-} qualified GI.Wnck.Structs.WorkspaceLayout as Wnck.WorkspaceLayout
newtype Screen = Screen (ManagedPtr Screen)
deriving (Screen -> Screen -> Bool
(Screen -> Screen -> Bool)
-> (Screen -> Screen -> Bool) -> Eq Screen
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Screen -> Screen -> Bool
$c/= :: Screen -> Screen -> Bool
== :: Screen -> Screen -> Bool
$c== :: Screen -> Screen -> Bool
Eq)
foreign import ccall "wnck_screen_get_type"
c_wnck_screen_get_type :: IO GType
instance GObject Screen where
gobjectType :: IO GType
gobjectType = IO GType
c_wnck_screen_get_type
instance B.GValue.IsGValue Screen where
toGValue :: Screen -> IO GValue
toGValue o :: Screen
o = do
GType
gtype <- IO GType
c_wnck_screen_get_type
Screen -> (Ptr Screen -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Screen
o (GType -> (GValue -> Ptr Screen -> IO ()) -> Ptr Screen -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Screen -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO Screen
fromGValue gv :: GValue
gv = do
Ptr Screen
ptr <- GValue -> IO (Ptr Screen)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr Screen)
(ManagedPtr Screen -> Screen) -> Ptr Screen -> IO Screen
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Screen -> Screen
Screen Ptr Screen
ptr
class (GObject o, O.IsDescendantOf Screen o) => IsScreen o
instance (GObject o, O.IsDescendantOf Screen o) => IsScreen o
instance O.HasParentTypes Screen
type instance O.ParentTypes Screen = '[GObject.Object.Object]
toScreen :: (MonadIO m, IsScreen o) => o -> m Screen
toScreen :: o -> m Screen
toScreen = IO Screen -> m Screen
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Screen -> m Screen) -> (o -> IO Screen) -> o -> m Screen
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Screen -> Screen) -> o -> IO Screen
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Screen -> Screen
Screen
noScreen :: Maybe Screen
noScreen :: Maybe Screen
noScreen = Maybe Screen
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveScreenMethod (t :: Symbol) (o :: *) :: * where
ResolveScreenMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveScreenMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveScreenMethod "calcWorkspaceLayout" o = ScreenCalcWorkspaceLayoutMethodInfo
ResolveScreenMethod "changeWorkspaceCount" o = ScreenChangeWorkspaceCountMethodInfo
ResolveScreenMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveScreenMethod "forceUpdate" o = ScreenForceUpdateMethodInfo
ResolveScreenMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveScreenMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveScreenMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveScreenMethod "moveViewport" o = ScreenMoveViewportMethodInfo
ResolveScreenMethod "netWmSupports" o = ScreenNetWmSupportsMethodInfo
ResolveScreenMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveScreenMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveScreenMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveScreenMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveScreenMethod "releaseWorkspaceLayout" o = ScreenReleaseWorkspaceLayoutMethodInfo
ResolveScreenMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveScreenMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveScreenMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveScreenMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveScreenMethod "toggleShowingDesktop" o = ScreenToggleShowingDesktopMethodInfo
ResolveScreenMethod "trySetWorkspaceLayout" o = ScreenTrySetWorkspaceLayoutMethodInfo
ResolveScreenMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveScreenMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveScreenMethod "getActiveWindow" o = ScreenGetActiveWindowMethodInfo
ResolveScreenMethod "getActiveWorkspace" o = ScreenGetActiveWorkspaceMethodInfo
ResolveScreenMethod "getBackgroundPixmap" o = ScreenGetBackgroundPixmapMethodInfo
ResolveScreenMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveScreenMethod "getHeight" o = ScreenGetHeightMethodInfo
ResolveScreenMethod "getNumber" o = ScreenGetNumberMethodInfo
ResolveScreenMethod "getPreviouslyActiveWindow" o = ScreenGetPreviouslyActiveWindowMethodInfo
ResolveScreenMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveScreenMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveScreenMethod "getShowingDesktop" o = ScreenGetShowingDesktopMethodInfo
ResolveScreenMethod "getWidth" o = ScreenGetWidthMethodInfo
ResolveScreenMethod "getWindowManagerName" o = ScreenGetWindowManagerNameMethodInfo
ResolveScreenMethod "getWindows" o = ScreenGetWindowsMethodInfo
ResolveScreenMethod "getWindowsStacked" o = ScreenGetWindowsStackedMethodInfo
ResolveScreenMethod "getWorkspace" o = ScreenGetWorkspaceMethodInfo
ResolveScreenMethod "getWorkspaceCount" o = ScreenGetWorkspaceCountMethodInfo
ResolveScreenMethod "getWorkspaces" o = ScreenGetWorkspacesMethodInfo
ResolveScreenMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveScreenMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveScreenMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveScreenMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveScreenMethod t Screen, O.MethodInfo info Screen p) => OL.IsLabel t (Screen -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
type ScreenActiveWindowChangedCallback =
Wnck.Window.Window
-> IO ()
noScreenActiveWindowChangedCallback :: Maybe ScreenActiveWindowChangedCallback
noScreenActiveWindowChangedCallback :: Maybe ScreenActiveWindowChangedCallback
noScreenActiveWindowChangedCallback = Maybe ScreenActiveWindowChangedCallback
forall a. Maybe a
Nothing
type C_ScreenActiveWindowChangedCallback =
Ptr () ->
Ptr Wnck.Window.Window ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenActiveWindowChangedCallback :: C_ScreenActiveWindowChangedCallback -> IO (FunPtr C_ScreenActiveWindowChangedCallback)
genClosure_ScreenActiveWindowChanged :: MonadIO m => ScreenActiveWindowChangedCallback -> m (GClosure C_ScreenActiveWindowChangedCallback)
genClosure_ScreenActiveWindowChanged :: ScreenActiveWindowChangedCallback
-> m (GClosure C_ScreenActiveWindowChangedCallback)
genClosure_ScreenActiveWindowChanged cb :: ScreenActiveWindowChangedCallback
cb = IO (GClosure C_ScreenActiveWindowChangedCallback)
-> m (GClosure C_ScreenActiveWindowChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenActiveWindowChangedCallback)
-> m (GClosure C_ScreenActiveWindowChangedCallback))
-> IO (GClosure C_ScreenActiveWindowChangedCallback)
-> m (GClosure C_ScreenActiveWindowChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenActiveWindowChangedCallback
cb' = ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenActiveWindowChangedCallback ScreenActiveWindowChangedCallback
cb
C_ScreenActiveWindowChangedCallback
-> IO (FunPtr C_ScreenActiveWindowChangedCallback)
mk_ScreenActiveWindowChangedCallback C_ScreenActiveWindowChangedCallback
cb' IO (FunPtr C_ScreenActiveWindowChangedCallback)
-> (FunPtr C_ScreenActiveWindowChangedCallback
-> IO (GClosure C_ScreenActiveWindowChangedCallback))
-> IO (GClosure C_ScreenActiveWindowChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenActiveWindowChangedCallback
-> IO (GClosure C_ScreenActiveWindowChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenActiveWindowChangedCallback ::
ScreenActiveWindowChangedCallback ->
C_ScreenActiveWindowChangedCallback
wrap_ScreenActiveWindowChangedCallback :: ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenActiveWindowChangedCallback _cb :: ScreenActiveWindowChangedCallback
_cb _ previouslyActiveWindow :: Ptr Window
previouslyActiveWindow _ = do
Window
previouslyActiveWindow' <- ((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
Wnck.Window.Window) Ptr Window
previouslyActiveWindow
ScreenActiveWindowChangedCallback
_cb Window
previouslyActiveWindow'
onScreenActiveWindowChanged :: (IsScreen a, MonadIO m) => a -> ScreenActiveWindowChangedCallback -> m SignalHandlerId
onScreenActiveWindowChanged :: a -> ScreenActiveWindowChangedCallback -> m SignalHandlerId
onScreenActiveWindowChanged obj :: a
obj cb :: ScreenActiveWindowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWindowChangedCallback
cb' = ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenActiveWindowChangedCallback ScreenActiveWindowChangedCallback
cb
FunPtr C_ScreenActiveWindowChangedCallback
cb'' <- C_ScreenActiveWindowChangedCallback
-> IO (FunPtr C_ScreenActiveWindowChangedCallback)
mk_ScreenActiveWindowChangedCallback C_ScreenActiveWindowChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWindowChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "active-window-changed" FunPtr C_ScreenActiveWindowChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenActiveWindowChanged :: (IsScreen a, MonadIO m) => a -> ScreenActiveWindowChangedCallback -> m SignalHandlerId
afterScreenActiveWindowChanged :: a -> ScreenActiveWindowChangedCallback -> m SignalHandlerId
afterScreenActiveWindowChanged obj :: a
obj cb :: ScreenActiveWindowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWindowChangedCallback
cb' = ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenActiveWindowChangedCallback ScreenActiveWindowChangedCallback
cb
FunPtr C_ScreenActiveWindowChangedCallback
cb'' <- C_ScreenActiveWindowChangedCallback
-> IO (FunPtr C_ScreenActiveWindowChangedCallback)
mk_ScreenActiveWindowChangedCallback C_ScreenActiveWindowChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWindowChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "active-window-changed" FunPtr C_ScreenActiveWindowChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenActiveWindowChangedSignalInfo
instance SignalInfo ScreenActiveWindowChangedSignalInfo where
type HaskellCallbackType ScreenActiveWindowChangedSignalInfo = ScreenActiveWindowChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenActiveWindowChangedCallback cb
cb'' <- mk_ScreenActiveWindowChangedCallback cb'
connectSignalFunPtr obj "active-window-changed" cb'' connectMode detail
#endif
type ScreenActiveWorkspaceChangedCallback =
Wnck.Workspace.Workspace
-> IO ()
noScreenActiveWorkspaceChangedCallback :: Maybe ScreenActiveWorkspaceChangedCallback
noScreenActiveWorkspaceChangedCallback :: Maybe ScreenActiveWorkspaceChangedCallback
noScreenActiveWorkspaceChangedCallback = Maybe ScreenActiveWorkspaceChangedCallback
forall a. Maybe a
Nothing
type C_ScreenActiveWorkspaceChangedCallback =
Ptr () ->
Ptr Wnck.Workspace.Workspace ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenActiveWorkspaceChangedCallback :: C_ScreenActiveWorkspaceChangedCallback -> IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
genClosure_ScreenActiveWorkspaceChanged :: MonadIO m => ScreenActiveWorkspaceChangedCallback -> m (GClosure C_ScreenActiveWorkspaceChangedCallback)
genClosure_ScreenActiveWorkspaceChanged :: ScreenActiveWorkspaceChangedCallback
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback)
genClosure_ScreenActiveWorkspaceChanged cb :: ScreenActiveWorkspaceChangedCallback
cb = IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback))
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenActiveWorkspaceChangedCallback
cb' = ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenActiveWorkspaceChangedCallback ScreenActiveWorkspaceChangedCallback
cb
C_ScreenActiveWorkspaceChangedCallback
-> IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
mk_ScreenActiveWorkspaceChangedCallback C_ScreenActiveWorkspaceChangedCallback
cb' IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
-> (FunPtr C_ScreenActiveWorkspaceChangedCallback
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback))
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenActiveWorkspaceChangedCallback
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenActiveWorkspaceChangedCallback ::
ScreenActiveWorkspaceChangedCallback ->
C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenActiveWorkspaceChangedCallback :: ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenActiveWorkspaceChangedCallback _cb :: ScreenActiveWorkspaceChangedCallback
_cb _ previouslyActiveSpace :: Ptr Workspace
previouslyActiveSpace _ = do
Workspace
previouslyActiveSpace' <- ((ManagedPtr Workspace -> Workspace)
-> Ptr Workspace -> IO Workspace
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Workspace -> Workspace
Wnck.Workspace.Workspace) Ptr Workspace
previouslyActiveSpace
ScreenActiveWorkspaceChangedCallback
_cb Workspace
previouslyActiveSpace'
onScreenActiveWorkspaceChanged :: (IsScreen a, MonadIO m) => a -> ScreenActiveWorkspaceChangedCallback -> m SignalHandlerId
onScreenActiveWorkspaceChanged :: a -> ScreenActiveWorkspaceChangedCallback -> m SignalHandlerId
onScreenActiveWorkspaceChanged obj :: a
obj cb :: ScreenActiveWorkspaceChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWorkspaceChangedCallback
cb' = ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenActiveWorkspaceChangedCallback ScreenActiveWorkspaceChangedCallback
cb
FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' <- C_ScreenActiveWorkspaceChangedCallback
-> IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
mk_ScreenActiveWorkspaceChangedCallback C_ScreenActiveWorkspaceChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWorkspaceChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "active-workspace-changed" FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenActiveWorkspaceChanged :: (IsScreen a, MonadIO m) => a -> ScreenActiveWorkspaceChangedCallback -> m SignalHandlerId
afterScreenActiveWorkspaceChanged :: a -> ScreenActiveWorkspaceChangedCallback -> m SignalHandlerId
afterScreenActiveWorkspaceChanged obj :: a
obj cb :: ScreenActiveWorkspaceChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWorkspaceChangedCallback
cb' = ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenActiveWorkspaceChangedCallback ScreenActiveWorkspaceChangedCallback
cb
FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' <- C_ScreenActiveWorkspaceChangedCallback
-> IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
mk_ScreenActiveWorkspaceChangedCallback C_ScreenActiveWorkspaceChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWorkspaceChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "active-workspace-changed" FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenActiveWorkspaceChangedSignalInfo
instance SignalInfo ScreenActiveWorkspaceChangedSignalInfo where
type HaskellCallbackType ScreenActiveWorkspaceChangedSignalInfo = ScreenActiveWorkspaceChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenActiveWorkspaceChangedCallback cb
cb'' <- mk_ScreenActiveWorkspaceChangedCallback cb'
connectSignalFunPtr obj "active-workspace-changed" cb'' connectMode detail
#endif
type ScreenApplicationClosedCallback =
Wnck.Application.Application
-> IO ()
noScreenApplicationClosedCallback :: Maybe ScreenApplicationClosedCallback
noScreenApplicationClosedCallback :: Maybe ScreenApplicationClosedCallback
noScreenApplicationClosedCallback = Maybe ScreenApplicationClosedCallback
forall a. Maybe a
Nothing
type C_ScreenApplicationClosedCallback =
Ptr () ->
Ptr Wnck.Application.Application ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenApplicationClosedCallback :: C_ScreenApplicationClosedCallback -> IO (FunPtr C_ScreenApplicationClosedCallback)
genClosure_ScreenApplicationClosed :: MonadIO m => ScreenApplicationClosedCallback -> m (GClosure C_ScreenApplicationClosedCallback)
genClosure_ScreenApplicationClosed :: ScreenApplicationClosedCallback
-> m (GClosure C_ScreenApplicationClosedCallback)
genClosure_ScreenApplicationClosed cb :: ScreenApplicationClosedCallback
cb = IO (GClosure C_ScreenApplicationClosedCallback)
-> m (GClosure C_ScreenApplicationClosedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenApplicationClosedCallback)
-> m (GClosure C_ScreenApplicationClosedCallback))
-> IO (GClosure C_ScreenApplicationClosedCallback)
-> m (GClosure C_ScreenApplicationClosedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenApplicationClosedCallback
cb' = ScreenApplicationClosedCallback
-> C_ScreenApplicationClosedCallback
wrap_ScreenApplicationClosedCallback ScreenApplicationClosedCallback
cb
C_ScreenApplicationClosedCallback
-> IO (FunPtr C_ScreenApplicationClosedCallback)
mk_ScreenApplicationClosedCallback C_ScreenApplicationClosedCallback
cb' IO (FunPtr C_ScreenApplicationClosedCallback)
-> (FunPtr C_ScreenApplicationClosedCallback
-> IO (GClosure C_ScreenApplicationClosedCallback))
-> IO (GClosure C_ScreenApplicationClosedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenApplicationClosedCallback
-> IO (GClosure C_ScreenApplicationClosedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenApplicationClosedCallback ::
ScreenApplicationClosedCallback ->
C_ScreenApplicationClosedCallback
wrap_ScreenApplicationClosedCallback :: ScreenApplicationClosedCallback
-> C_ScreenApplicationClosedCallback
wrap_ScreenApplicationClosedCallback _cb :: ScreenApplicationClosedCallback
_cb _ app :: Ptr Application
app _ = do
Application
app' <- ((ManagedPtr Application -> Application)
-> Ptr Application -> IO Application
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Application -> Application
Wnck.Application.Application) Ptr Application
app
ScreenApplicationClosedCallback
_cb Application
app'
onScreenApplicationClosed :: (IsScreen a, MonadIO m) => a -> ScreenApplicationClosedCallback -> m SignalHandlerId
onScreenApplicationClosed :: a -> ScreenApplicationClosedCallback -> m SignalHandlerId
onScreenApplicationClosed obj :: a
obj cb :: ScreenApplicationClosedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenApplicationClosedCallback
cb' = ScreenApplicationClosedCallback
-> C_ScreenApplicationClosedCallback
wrap_ScreenApplicationClosedCallback ScreenApplicationClosedCallback
cb
FunPtr C_ScreenApplicationClosedCallback
cb'' <- C_ScreenApplicationClosedCallback
-> IO (FunPtr C_ScreenApplicationClosedCallback)
mk_ScreenApplicationClosedCallback C_ScreenApplicationClosedCallback
cb'
a
-> Text
-> FunPtr C_ScreenApplicationClosedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "application-closed" FunPtr C_ScreenApplicationClosedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenApplicationClosed :: (IsScreen a, MonadIO m) => a -> ScreenApplicationClosedCallback -> m SignalHandlerId
afterScreenApplicationClosed :: a -> ScreenApplicationClosedCallback -> m SignalHandlerId
afterScreenApplicationClosed obj :: a
obj cb :: ScreenApplicationClosedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenApplicationClosedCallback
cb' = ScreenApplicationClosedCallback
-> C_ScreenApplicationClosedCallback
wrap_ScreenApplicationClosedCallback ScreenApplicationClosedCallback
cb
FunPtr C_ScreenApplicationClosedCallback
cb'' <- C_ScreenApplicationClosedCallback
-> IO (FunPtr C_ScreenApplicationClosedCallback)
mk_ScreenApplicationClosedCallback C_ScreenApplicationClosedCallback
cb'
a
-> Text
-> FunPtr C_ScreenApplicationClosedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "application-closed" FunPtr C_ScreenApplicationClosedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenApplicationClosedSignalInfo
instance SignalInfo ScreenApplicationClosedSignalInfo where
type HaskellCallbackType ScreenApplicationClosedSignalInfo = ScreenApplicationClosedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenApplicationClosedCallback cb
cb'' <- mk_ScreenApplicationClosedCallback cb'
connectSignalFunPtr obj "application-closed" cb'' connectMode detail
#endif
type ScreenApplicationOpenedCallback =
Wnck.Application.Application
-> IO ()
noScreenApplicationOpenedCallback :: Maybe ScreenApplicationOpenedCallback
noScreenApplicationOpenedCallback :: Maybe ScreenApplicationClosedCallback
noScreenApplicationOpenedCallback = Maybe ScreenApplicationClosedCallback
forall a. Maybe a
Nothing
type C_ScreenApplicationOpenedCallback =
Ptr () ->
Ptr Wnck.Application.Application ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenApplicationOpenedCallback :: C_ScreenApplicationOpenedCallback -> IO (FunPtr C_ScreenApplicationOpenedCallback)
genClosure_ScreenApplicationOpened :: MonadIO m => ScreenApplicationOpenedCallback -> m (GClosure C_ScreenApplicationOpenedCallback)
genClosure_ScreenApplicationOpened :: ScreenApplicationClosedCallback
-> m (GClosure C_ScreenApplicationClosedCallback)
genClosure_ScreenApplicationOpened cb :: ScreenApplicationClosedCallback
cb = IO (GClosure C_ScreenApplicationClosedCallback)
-> m (GClosure C_ScreenApplicationClosedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenApplicationClosedCallback)
-> m (GClosure C_ScreenApplicationClosedCallback))
-> IO (GClosure C_ScreenApplicationClosedCallback)
-> m (GClosure C_ScreenApplicationClosedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenApplicationClosedCallback
cb' = ScreenApplicationClosedCallback
-> C_ScreenApplicationClosedCallback
wrap_ScreenApplicationOpenedCallback ScreenApplicationClosedCallback
cb
C_ScreenApplicationClosedCallback
-> IO (FunPtr C_ScreenApplicationClosedCallback)
mk_ScreenApplicationOpenedCallback C_ScreenApplicationClosedCallback
cb' IO (FunPtr C_ScreenApplicationClosedCallback)
-> (FunPtr C_ScreenApplicationClosedCallback
-> IO (GClosure C_ScreenApplicationClosedCallback))
-> IO (GClosure C_ScreenApplicationClosedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenApplicationClosedCallback
-> IO (GClosure C_ScreenApplicationClosedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenApplicationOpenedCallback ::
ScreenApplicationOpenedCallback ->
C_ScreenApplicationOpenedCallback
wrap_ScreenApplicationOpenedCallback :: ScreenApplicationClosedCallback
-> C_ScreenApplicationClosedCallback
wrap_ScreenApplicationOpenedCallback _cb :: ScreenApplicationClosedCallback
_cb _ app :: Ptr Application
app _ = do
Application
app' <- ((ManagedPtr Application -> Application)
-> Ptr Application -> IO Application
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Application -> Application
Wnck.Application.Application) Ptr Application
app
ScreenApplicationClosedCallback
_cb Application
app'
onScreenApplicationOpened :: (IsScreen a, MonadIO m) => a -> ScreenApplicationOpenedCallback -> m SignalHandlerId
onScreenApplicationOpened :: a -> ScreenApplicationClosedCallback -> m SignalHandlerId
onScreenApplicationOpened obj :: a
obj cb :: ScreenApplicationClosedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenApplicationClosedCallback
cb' = ScreenApplicationClosedCallback
-> C_ScreenApplicationClosedCallback
wrap_ScreenApplicationOpenedCallback ScreenApplicationClosedCallback
cb
FunPtr C_ScreenApplicationClosedCallback
cb'' <- C_ScreenApplicationClosedCallback
-> IO (FunPtr C_ScreenApplicationClosedCallback)
mk_ScreenApplicationOpenedCallback C_ScreenApplicationClosedCallback
cb'
a
-> Text
-> FunPtr C_ScreenApplicationClosedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "application-opened" FunPtr C_ScreenApplicationClosedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenApplicationOpened :: (IsScreen a, MonadIO m) => a -> ScreenApplicationOpenedCallback -> m SignalHandlerId
afterScreenApplicationOpened :: a -> ScreenApplicationClosedCallback -> m SignalHandlerId
afterScreenApplicationOpened obj :: a
obj cb :: ScreenApplicationClosedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenApplicationClosedCallback
cb' = ScreenApplicationClosedCallback
-> C_ScreenApplicationClosedCallback
wrap_ScreenApplicationOpenedCallback ScreenApplicationClosedCallback
cb
FunPtr C_ScreenApplicationClosedCallback
cb'' <- C_ScreenApplicationClosedCallback
-> IO (FunPtr C_ScreenApplicationClosedCallback)
mk_ScreenApplicationOpenedCallback C_ScreenApplicationClosedCallback
cb'
a
-> Text
-> FunPtr C_ScreenApplicationClosedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "application-opened" FunPtr C_ScreenApplicationClosedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenApplicationOpenedSignalInfo
instance SignalInfo ScreenApplicationOpenedSignalInfo where
type HaskellCallbackType ScreenApplicationOpenedSignalInfo = ScreenApplicationOpenedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenApplicationOpenedCallback cb
cb'' <- mk_ScreenApplicationOpenedCallback cb'
connectSignalFunPtr obj "application-opened" cb'' connectMode detail
#endif
type ScreenBackgroundChangedCallback =
IO ()
noScreenBackgroundChangedCallback :: Maybe ScreenBackgroundChangedCallback
noScreenBackgroundChangedCallback :: Maybe (IO ())
noScreenBackgroundChangedCallback = Maybe (IO ())
forall a. Maybe a
Nothing
type C_ScreenBackgroundChangedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenBackgroundChangedCallback :: C_ScreenBackgroundChangedCallback -> IO (FunPtr C_ScreenBackgroundChangedCallback)
genClosure_ScreenBackgroundChanged :: MonadIO m => ScreenBackgroundChangedCallback -> m (GClosure C_ScreenBackgroundChangedCallback)
genClosure_ScreenBackgroundChanged :: IO () -> m (GClosure C_ScreenBackgroundChangedCallback)
genClosure_ScreenBackgroundChanged cb :: IO ()
cb = IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback))
-> IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenBackgroundChangedCallback IO ()
cb
C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenBackgroundChangedCallback C_ScreenBackgroundChangedCallback
cb' IO (FunPtr C_ScreenBackgroundChangedCallback)
-> (FunPtr C_ScreenBackgroundChangedCallback
-> IO (GClosure C_ScreenBackgroundChangedCallback))
-> IO (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenBackgroundChangedCallback
-> IO (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenBackgroundChangedCallback ::
ScreenBackgroundChangedCallback ->
C_ScreenBackgroundChangedCallback
wrap_ScreenBackgroundChangedCallback :: IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenBackgroundChangedCallback _cb :: IO ()
_cb _ _ = do
IO ()
_cb
onScreenBackgroundChanged :: (IsScreen a, MonadIO m) => a -> ScreenBackgroundChangedCallback -> m SignalHandlerId
onScreenBackgroundChanged :: a -> IO () -> m SignalHandlerId
onScreenBackgroundChanged obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenBackgroundChangedCallback IO ()
cb
FunPtr C_ScreenBackgroundChangedCallback
cb'' <- C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenBackgroundChangedCallback C_ScreenBackgroundChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenBackgroundChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "background-changed" FunPtr C_ScreenBackgroundChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenBackgroundChanged :: (IsScreen a, MonadIO m) => a -> ScreenBackgroundChangedCallback -> m SignalHandlerId
afterScreenBackgroundChanged :: a -> IO () -> m SignalHandlerId
afterScreenBackgroundChanged obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenBackgroundChangedCallback IO ()
cb
FunPtr C_ScreenBackgroundChangedCallback
cb'' <- C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenBackgroundChangedCallback C_ScreenBackgroundChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenBackgroundChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "background-changed" FunPtr C_ScreenBackgroundChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenBackgroundChangedSignalInfo
instance SignalInfo ScreenBackgroundChangedSignalInfo where
type HaskellCallbackType ScreenBackgroundChangedSignalInfo = ScreenBackgroundChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenBackgroundChangedCallback cb
cb'' <- mk_ScreenBackgroundChangedCallback cb'
connectSignalFunPtr obj "background-changed" cb'' connectMode detail
#endif
type ScreenClassGroupClosedCallback =
Wnck.ClassGroup.ClassGroup
-> IO ()
noScreenClassGroupClosedCallback :: Maybe ScreenClassGroupClosedCallback
noScreenClassGroupClosedCallback :: Maybe ScreenClassGroupClosedCallback
noScreenClassGroupClosedCallback = Maybe ScreenClassGroupClosedCallback
forall a. Maybe a
Nothing
type C_ScreenClassGroupClosedCallback =
Ptr () ->
Ptr Wnck.ClassGroup.ClassGroup ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenClassGroupClosedCallback :: C_ScreenClassGroupClosedCallback -> IO (FunPtr C_ScreenClassGroupClosedCallback)
genClosure_ScreenClassGroupClosed :: MonadIO m => ScreenClassGroupClosedCallback -> m (GClosure C_ScreenClassGroupClosedCallback)
genClosure_ScreenClassGroupClosed :: ScreenClassGroupClosedCallback
-> m (GClosure C_ScreenClassGroupClosedCallback)
genClosure_ScreenClassGroupClosed cb :: ScreenClassGroupClosedCallback
cb = IO (GClosure C_ScreenClassGroupClosedCallback)
-> m (GClosure C_ScreenClassGroupClosedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenClassGroupClosedCallback)
-> m (GClosure C_ScreenClassGroupClosedCallback))
-> IO (GClosure C_ScreenClassGroupClosedCallback)
-> m (GClosure C_ScreenClassGroupClosedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenClassGroupClosedCallback
cb' = ScreenClassGroupClosedCallback -> C_ScreenClassGroupClosedCallback
wrap_ScreenClassGroupClosedCallback ScreenClassGroupClosedCallback
cb
C_ScreenClassGroupClosedCallback
-> IO (FunPtr C_ScreenClassGroupClosedCallback)
mk_ScreenClassGroupClosedCallback C_ScreenClassGroupClosedCallback
cb' IO (FunPtr C_ScreenClassGroupClosedCallback)
-> (FunPtr C_ScreenClassGroupClosedCallback
-> IO (GClosure C_ScreenClassGroupClosedCallback))
-> IO (GClosure C_ScreenClassGroupClosedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenClassGroupClosedCallback
-> IO (GClosure C_ScreenClassGroupClosedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenClassGroupClosedCallback ::
ScreenClassGroupClosedCallback ->
C_ScreenClassGroupClosedCallback
wrap_ScreenClassGroupClosedCallback :: ScreenClassGroupClosedCallback -> C_ScreenClassGroupClosedCallback
wrap_ScreenClassGroupClosedCallback _cb :: ScreenClassGroupClosedCallback
_cb _ classGroup :: Ptr ClassGroup
classGroup _ = do
ClassGroup
classGroup' <- ((ManagedPtr ClassGroup -> ClassGroup)
-> Ptr ClassGroup -> IO ClassGroup
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr ClassGroup -> ClassGroup
Wnck.ClassGroup.ClassGroup) Ptr ClassGroup
classGroup
ScreenClassGroupClosedCallback
_cb ClassGroup
classGroup'
onScreenClassGroupClosed :: (IsScreen a, MonadIO m) => a -> ScreenClassGroupClosedCallback -> m SignalHandlerId
onScreenClassGroupClosed :: a -> ScreenClassGroupClosedCallback -> m SignalHandlerId
onScreenClassGroupClosed obj :: a
obj cb :: ScreenClassGroupClosedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenClassGroupClosedCallback
cb' = ScreenClassGroupClosedCallback -> C_ScreenClassGroupClosedCallback
wrap_ScreenClassGroupClosedCallback ScreenClassGroupClosedCallback
cb
FunPtr C_ScreenClassGroupClosedCallback
cb'' <- C_ScreenClassGroupClosedCallback
-> IO (FunPtr C_ScreenClassGroupClosedCallback)
mk_ScreenClassGroupClosedCallback C_ScreenClassGroupClosedCallback
cb'
a
-> Text
-> FunPtr C_ScreenClassGroupClosedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "class-group-closed" FunPtr C_ScreenClassGroupClosedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenClassGroupClosed :: (IsScreen a, MonadIO m) => a -> ScreenClassGroupClosedCallback -> m SignalHandlerId
afterScreenClassGroupClosed :: a -> ScreenClassGroupClosedCallback -> m SignalHandlerId
afterScreenClassGroupClosed obj :: a
obj cb :: ScreenClassGroupClosedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenClassGroupClosedCallback
cb' = ScreenClassGroupClosedCallback -> C_ScreenClassGroupClosedCallback
wrap_ScreenClassGroupClosedCallback ScreenClassGroupClosedCallback
cb
FunPtr C_ScreenClassGroupClosedCallback
cb'' <- C_ScreenClassGroupClosedCallback
-> IO (FunPtr C_ScreenClassGroupClosedCallback)
mk_ScreenClassGroupClosedCallback C_ScreenClassGroupClosedCallback
cb'
a
-> Text
-> FunPtr C_ScreenClassGroupClosedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "class-group-closed" FunPtr C_ScreenClassGroupClosedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenClassGroupClosedSignalInfo
instance SignalInfo ScreenClassGroupClosedSignalInfo where
type HaskellCallbackType ScreenClassGroupClosedSignalInfo = ScreenClassGroupClosedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenClassGroupClosedCallback cb
cb'' <- mk_ScreenClassGroupClosedCallback cb'
connectSignalFunPtr obj "class-group-closed" cb'' connectMode detail
#endif
type ScreenClassGroupOpenedCallback =
Wnck.ClassGroup.ClassGroup
-> IO ()
noScreenClassGroupOpenedCallback :: Maybe ScreenClassGroupOpenedCallback
noScreenClassGroupOpenedCallback :: Maybe ScreenClassGroupClosedCallback
noScreenClassGroupOpenedCallback = Maybe ScreenClassGroupClosedCallback
forall a. Maybe a
Nothing
type C_ScreenClassGroupOpenedCallback =
Ptr () ->
Ptr Wnck.ClassGroup.ClassGroup ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenClassGroupOpenedCallback :: C_ScreenClassGroupOpenedCallback -> IO (FunPtr C_ScreenClassGroupOpenedCallback)
genClosure_ScreenClassGroupOpened :: MonadIO m => ScreenClassGroupOpenedCallback -> m (GClosure C_ScreenClassGroupOpenedCallback)
genClosure_ScreenClassGroupOpened :: ScreenClassGroupClosedCallback
-> m (GClosure C_ScreenClassGroupClosedCallback)
genClosure_ScreenClassGroupOpened cb :: ScreenClassGroupClosedCallback
cb = IO (GClosure C_ScreenClassGroupClosedCallback)
-> m (GClosure C_ScreenClassGroupClosedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenClassGroupClosedCallback)
-> m (GClosure C_ScreenClassGroupClosedCallback))
-> IO (GClosure C_ScreenClassGroupClosedCallback)
-> m (GClosure C_ScreenClassGroupClosedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenClassGroupClosedCallback
cb' = ScreenClassGroupClosedCallback -> C_ScreenClassGroupClosedCallback
wrap_ScreenClassGroupOpenedCallback ScreenClassGroupClosedCallback
cb
C_ScreenClassGroupClosedCallback
-> IO (FunPtr C_ScreenClassGroupClosedCallback)
mk_ScreenClassGroupOpenedCallback C_ScreenClassGroupClosedCallback
cb' IO (FunPtr C_ScreenClassGroupClosedCallback)
-> (FunPtr C_ScreenClassGroupClosedCallback
-> IO (GClosure C_ScreenClassGroupClosedCallback))
-> IO (GClosure C_ScreenClassGroupClosedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenClassGroupClosedCallback
-> IO (GClosure C_ScreenClassGroupClosedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenClassGroupOpenedCallback ::
ScreenClassGroupOpenedCallback ->
C_ScreenClassGroupOpenedCallback
wrap_ScreenClassGroupOpenedCallback :: ScreenClassGroupClosedCallback -> C_ScreenClassGroupClosedCallback
wrap_ScreenClassGroupOpenedCallback _cb :: ScreenClassGroupClosedCallback
_cb _ classGroup :: Ptr ClassGroup
classGroup _ = do
ClassGroup
classGroup' <- ((ManagedPtr ClassGroup -> ClassGroup)
-> Ptr ClassGroup -> IO ClassGroup
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr ClassGroup -> ClassGroup
Wnck.ClassGroup.ClassGroup) Ptr ClassGroup
classGroup
ScreenClassGroupClosedCallback
_cb ClassGroup
classGroup'
onScreenClassGroupOpened :: (IsScreen a, MonadIO m) => a -> ScreenClassGroupOpenedCallback -> m SignalHandlerId
onScreenClassGroupOpened :: a -> ScreenClassGroupClosedCallback -> m SignalHandlerId
onScreenClassGroupOpened obj :: a
obj cb :: ScreenClassGroupClosedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenClassGroupClosedCallback
cb' = ScreenClassGroupClosedCallback -> C_ScreenClassGroupClosedCallback
wrap_ScreenClassGroupOpenedCallback ScreenClassGroupClosedCallback
cb
FunPtr C_ScreenClassGroupClosedCallback
cb'' <- C_ScreenClassGroupClosedCallback
-> IO (FunPtr C_ScreenClassGroupClosedCallback)
mk_ScreenClassGroupOpenedCallback C_ScreenClassGroupClosedCallback
cb'
a
-> Text
-> FunPtr C_ScreenClassGroupClosedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "class-group-opened" FunPtr C_ScreenClassGroupClosedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenClassGroupOpened :: (IsScreen a, MonadIO m) => a -> ScreenClassGroupOpenedCallback -> m SignalHandlerId
afterScreenClassGroupOpened :: a -> ScreenClassGroupClosedCallback -> m SignalHandlerId
afterScreenClassGroupOpened obj :: a
obj cb :: ScreenClassGroupClosedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenClassGroupClosedCallback
cb' = ScreenClassGroupClosedCallback -> C_ScreenClassGroupClosedCallback
wrap_ScreenClassGroupOpenedCallback ScreenClassGroupClosedCallback
cb
FunPtr C_ScreenClassGroupClosedCallback
cb'' <- C_ScreenClassGroupClosedCallback
-> IO (FunPtr C_ScreenClassGroupClosedCallback)
mk_ScreenClassGroupOpenedCallback C_ScreenClassGroupClosedCallback
cb'
a
-> Text
-> FunPtr C_ScreenClassGroupClosedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "class-group-opened" FunPtr C_ScreenClassGroupClosedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenClassGroupOpenedSignalInfo
instance SignalInfo ScreenClassGroupOpenedSignalInfo where
type HaskellCallbackType ScreenClassGroupOpenedSignalInfo = ScreenClassGroupOpenedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenClassGroupOpenedCallback cb
cb'' <- mk_ScreenClassGroupOpenedCallback cb'
connectSignalFunPtr obj "class-group-opened" cb'' connectMode detail
#endif
type ScreenShowingDesktopChangedCallback =
IO ()
noScreenShowingDesktopChangedCallback :: Maybe ScreenShowingDesktopChangedCallback
noScreenShowingDesktopChangedCallback :: Maybe (IO ())
noScreenShowingDesktopChangedCallback = Maybe (IO ())
forall a. Maybe a
Nothing
type C_ScreenShowingDesktopChangedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenShowingDesktopChangedCallback :: C_ScreenShowingDesktopChangedCallback -> IO (FunPtr C_ScreenShowingDesktopChangedCallback)
genClosure_ScreenShowingDesktopChanged :: MonadIO m => ScreenShowingDesktopChangedCallback -> m (GClosure C_ScreenShowingDesktopChangedCallback)
genClosure_ScreenShowingDesktopChanged :: IO () -> m (GClosure C_ScreenBackgroundChangedCallback)
genClosure_ScreenShowingDesktopChanged cb :: IO ()
cb = IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback))
-> IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenShowingDesktopChangedCallback IO ()
cb
C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenShowingDesktopChangedCallback C_ScreenBackgroundChangedCallback
cb' IO (FunPtr C_ScreenBackgroundChangedCallback)
-> (FunPtr C_ScreenBackgroundChangedCallback
-> IO (GClosure C_ScreenBackgroundChangedCallback))
-> IO (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenBackgroundChangedCallback
-> IO (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenShowingDesktopChangedCallback ::
ScreenShowingDesktopChangedCallback ->
C_ScreenShowingDesktopChangedCallback
wrap_ScreenShowingDesktopChangedCallback :: IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenShowingDesktopChangedCallback _cb :: IO ()
_cb _ _ = do
IO ()
_cb
onScreenShowingDesktopChanged :: (IsScreen a, MonadIO m) => a -> ScreenShowingDesktopChangedCallback -> m SignalHandlerId
onScreenShowingDesktopChanged :: a -> IO () -> m SignalHandlerId
onScreenShowingDesktopChanged obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenShowingDesktopChangedCallback IO ()
cb
FunPtr C_ScreenBackgroundChangedCallback
cb'' <- C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenShowingDesktopChangedCallback C_ScreenBackgroundChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenBackgroundChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "showing-desktop-changed" FunPtr C_ScreenBackgroundChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenShowingDesktopChanged :: (IsScreen a, MonadIO m) => a -> ScreenShowingDesktopChangedCallback -> m SignalHandlerId
afterScreenShowingDesktopChanged :: a -> IO () -> m SignalHandlerId
afterScreenShowingDesktopChanged obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenShowingDesktopChangedCallback IO ()
cb
FunPtr C_ScreenBackgroundChangedCallback
cb'' <- C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenShowingDesktopChangedCallback C_ScreenBackgroundChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenBackgroundChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "showing-desktop-changed" FunPtr C_ScreenBackgroundChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenShowingDesktopChangedSignalInfo
instance SignalInfo ScreenShowingDesktopChangedSignalInfo where
type HaskellCallbackType ScreenShowingDesktopChangedSignalInfo = ScreenShowingDesktopChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenShowingDesktopChangedCallback cb
cb'' <- mk_ScreenShowingDesktopChangedCallback cb'
connectSignalFunPtr obj "showing-desktop-changed" cb'' connectMode detail
#endif
type ScreenViewportsChangedCallback =
IO ()
noScreenViewportsChangedCallback :: Maybe ScreenViewportsChangedCallback
noScreenViewportsChangedCallback :: Maybe (IO ())
noScreenViewportsChangedCallback = Maybe (IO ())
forall a. Maybe a
Nothing
type C_ScreenViewportsChangedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenViewportsChangedCallback :: C_ScreenViewportsChangedCallback -> IO (FunPtr C_ScreenViewportsChangedCallback)
genClosure_ScreenViewportsChanged :: MonadIO m => ScreenViewportsChangedCallback -> m (GClosure C_ScreenViewportsChangedCallback)
genClosure_ScreenViewportsChanged :: IO () -> m (GClosure C_ScreenBackgroundChangedCallback)
genClosure_ScreenViewportsChanged cb :: IO ()
cb = IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback))
-> IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenViewportsChangedCallback IO ()
cb
C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenViewportsChangedCallback C_ScreenBackgroundChangedCallback
cb' IO (FunPtr C_ScreenBackgroundChangedCallback)
-> (FunPtr C_ScreenBackgroundChangedCallback
-> IO (GClosure C_ScreenBackgroundChangedCallback))
-> IO (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenBackgroundChangedCallback
-> IO (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenViewportsChangedCallback ::
ScreenViewportsChangedCallback ->
C_ScreenViewportsChangedCallback
wrap_ScreenViewportsChangedCallback :: IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenViewportsChangedCallback _cb :: IO ()
_cb _ _ = do
IO ()
_cb
onScreenViewportsChanged :: (IsScreen a, MonadIO m) => a -> ScreenViewportsChangedCallback -> m SignalHandlerId
onScreenViewportsChanged :: a -> IO () -> m SignalHandlerId
onScreenViewportsChanged obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenViewportsChangedCallback IO ()
cb
FunPtr C_ScreenBackgroundChangedCallback
cb'' <- C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenViewportsChangedCallback C_ScreenBackgroundChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenBackgroundChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "viewports-changed" FunPtr C_ScreenBackgroundChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenViewportsChanged :: (IsScreen a, MonadIO m) => a -> ScreenViewportsChangedCallback -> m SignalHandlerId
afterScreenViewportsChanged :: a -> IO () -> m SignalHandlerId
afterScreenViewportsChanged obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenViewportsChangedCallback IO ()
cb
FunPtr C_ScreenBackgroundChangedCallback
cb'' <- C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenViewportsChangedCallback C_ScreenBackgroundChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenBackgroundChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "viewports-changed" FunPtr C_ScreenBackgroundChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenViewportsChangedSignalInfo
instance SignalInfo ScreenViewportsChangedSignalInfo where
type HaskellCallbackType ScreenViewportsChangedSignalInfo = ScreenViewportsChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenViewportsChangedCallback cb
cb'' <- mk_ScreenViewportsChangedCallback cb'
connectSignalFunPtr obj "viewports-changed" cb'' connectMode detail
#endif
type ScreenWindowClosedCallback =
Wnck.Window.Window
-> IO ()
noScreenWindowClosedCallback :: Maybe ScreenWindowClosedCallback
noScreenWindowClosedCallback :: Maybe ScreenActiveWindowChangedCallback
noScreenWindowClosedCallback = Maybe ScreenActiveWindowChangedCallback
forall a. Maybe a
Nothing
type C_ScreenWindowClosedCallback =
Ptr () ->
Ptr Wnck.Window.Window ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenWindowClosedCallback :: C_ScreenWindowClosedCallback -> IO (FunPtr C_ScreenWindowClosedCallback)
genClosure_ScreenWindowClosed :: MonadIO m => ScreenWindowClosedCallback -> m (GClosure C_ScreenWindowClosedCallback)
genClosure_ScreenWindowClosed :: ScreenActiveWindowChangedCallback
-> m (GClosure C_ScreenActiveWindowChangedCallback)
genClosure_ScreenWindowClosed cb :: ScreenActiveWindowChangedCallback
cb = IO (GClosure C_ScreenActiveWindowChangedCallback)
-> m (GClosure C_ScreenActiveWindowChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenActiveWindowChangedCallback)
-> m (GClosure C_ScreenActiveWindowChangedCallback))
-> IO (GClosure C_ScreenActiveWindowChangedCallback)
-> m (GClosure C_ScreenActiveWindowChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenActiveWindowChangedCallback
cb' = ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenWindowClosedCallback ScreenActiveWindowChangedCallback
cb
C_ScreenActiveWindowChangedCallback
-> IO (FunPtr C_ScreenActiveWindowChangedCallback)
mk_ScreenWindowClosedCallback C_ScreenActiveWindowChangedCallback
cb' IO (FunPtr C_ScreenActiveWindowChangedCallback)
-> (FunPtr C_ScreenActiveWindowChangedCallback
-> IO (GClosure C_ScreenActiveWindowChangedCallback))
-> IO (GClosure C_ScreenActiveWindowChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenActiveWindowChangedCallback
-> IO (GClosure C_ScreenActiveWindowChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenWindowClosedCallback ::
ScreenWindowClosedCallback ->
C_ScreenWindowClosedCallback
wrap_ScreenWindowClosedCallback :: ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenWindowClosedCallback _cb :: ScreenActiveWindowChangedCallback
_cb _ window :: Ptr Window
window _ = do
Window
window' <- ((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
Wnck.Window.Window) Ptr Window
window
ScreenActiveWindowChangedCallback
_cb Window
window'
onScreenWindowClosed :: (IsScreen a, MonadIO m) => a -> ScreenWindowClosedCallback -> m SignalHandlerId
onScreenWindowClosed :: a -> ScreenActiveWindowChangedCallback -> m SignalHandlerId
onScreenWindowClosed obj :: a
obj cb :: ScreenActiveWindowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWindowChangedCallback
cb' = ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenWindowClosedCallback ScreenActiveWindowChangedCallback
cb
FunPtr C_ScreenActiveWindowChangedCallback
cb'' <- C_ScreenActiveWindowChangedCallback
-> IO (FunPtr C_ScreenActiveWindowChangedCallback)
mk_ScreenWindowClosedCallback C_ScreenActiveWindowChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWindowChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "window-closed" FunPtr C_ScreenActiveWindowChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenWindowClosed :: (IsScreen a, MonadIO m) => a -> ScreenWindowClosedCallback -> m SignalHandlerId
afterScreenWindowClosed :: a -> ScreenActiveWindowChangedCallback -> m SignalHandlerId
afterScreenWindowClosed obj :: a
obj cb :: ScreenActiveWindowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWindowChangedCallback
cb' = ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenWindowClosedCallback ScreenActiveWindowChangedCallback
cb
FunPtr C_ScreenActiveWindowChangedCallback
cb'' <- C_ScreenActiveWindowChangedCallback
-> IO (FunPtr C_ScreenActiveWindowChangedCallback)
mk_ScreenWindowClosedCallback C_ScreenActiveWindowChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWindowChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "window-closed" FunPtr C_ScreenActiveWindowChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenWindowClosedSignalInfo
instance SignalInfo ScreenWindowClosedSignalInfo where
type HaskellCallbackType ScreenWindowClosedSignalInfo = ScreenWindowClosedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenWindowClosedCallback cb
cb'' <- mk_ScreenWindowClosedCallback cb'
connectSignalFunPtr obj "window-closed" cb'' connectMode detail
#endif
type ScreenWindowManagerChangedCallback =
IO ()
noScreenWindowManagerChangedCallback :: Maybe ScreenWindowManagerChangedCallback
noScreenWindowManagerChangedCallback :: Maybe (IO ())
noScreenWindowManagerChangedCallback = Maybe (IO ())
forall a. Maybe a
Nothing
type C_ScreenWindowManagerChangedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenWindowManagerChangedCallback :: C_ScreenWindowManagerChangedCallback -> IO (FunPtr C_ScreenWindowManagerChangedCallback)
genClosure_ScreenWindowManagerChanged :: MonadIO m => ScreenWindowManagerChangedCallback -> m (GClosure C_ScreenWindowManagerChangedCallback)
genClosure_ScreenWindowManagerChanged :: IO () -> m (GClosure C_ScreenBackgroundChangedCallback)
genClosure_ScreenWindowManagerChanged cb :: IO ()
cb = IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback))
-> IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenWindowManagerChangedCallback IO ()
cb
C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenWindowManagerChangedCallback C_ScreenBackgroundChangedCallback
cb' IO (FunPtr C_ScreenBackgroundChangedCallback)
-> (FunPtr C_ScreenBackgroundChangedCallback
-> IO (GClosure C_ScreenBackgroundChangedCallback))
-> IO (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenBackgroundChangedCallback
-> IO (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenWindowManagerChangedCallback ::
ScreenWindowManagerChangedCallback ->
C_ScreenWindowManagerChangedCallback
wrap_ScreenWindowManagerChangedCallback :: IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenWindowManagerChangedCallback _cb :: IO ()
_cb _ _ = do
IO ()
_cb
onScreenWindowManagerChanged :: (IsScreen a, MonadIO m) => a -> ScreenWindowManagerChangedCallback -> m SignalHandlerId
onScreenWindowManagerChanged :: a -> IO () -> m SignalHandlerId
onScreenWindowManagerChanged obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenWindowManagerChangedCallback IO ()
cb
FunPtr C_ScreenBackgroundChangedCallback
cb'' <- C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenWindowManagerChangedCallback C_ScreenBackgroundChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenBackgroundChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "window-manager-changed" FunPtr C_ScreenBackgroundChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenWindowManagerChanged :: (IsScreen a, MonadIO m) => a -> ScreenWindowManagerChangedCallback -> m SignalHandlerId
afterScreenWindowManagerChanged :: a -> IO () -> m SignalHandlerId
afterScreenWindowManagerChanged obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenWindowManagerChangedCallback IO ()
cb
FunPtr C_ScreenBackgroundChangedCallback
cb'' <- C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenWindowManagerChangedCallback C_ScreenBackgroundChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenBackgroundChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "window-manager-changed" FunPtr C_ScreenBackgroundChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenWindowManagerChangedSignalInfo
instance SignalInfo ScreenWindowManagerChangedSignalInfo where
type HaskellCallbackType ScreenWindowManagerChangedSignalInfo = ScreenWindowManagerChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenWindowManagerChangedCallback cb
cb'' <- mk_ScreenWindowManagerChangedCallback cb'
connectSignalFunPtr obj "window-manager-changed" cb'' connectMode detail
#endif
type ScreenWindowOpenedCallback =
Wnck.Window.Window
-> IO ()
noScreenWindowOpenedCallback :: Maybe ScreenWindowOpenedCallback
noScreenWindowOpenedCallback :: Maybe ScreenActiveWindowChangedCallback
noScreenWindowOpenedCallback = Maybe ScreenActiveWindowChangedCallback
forall a. Maybe a
Nothing
type C_ScreenWindowOpenedCallback =
Ptr () ->
Ptr Wnck.Window.Window ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenWindowOpenedCallback :: C_ScreenWindowOpenedCallback -> IO (FunPtr C_ScreenWindowOpenedCallback)
genClosure_ScreenWindowOpened :: MonadIO m => ScreenWindowOpenedCallback -> m (GClosure C_ScreenWindowOpenedCallback)
genClosure_ScreenWindowOpened :: ScreenActiveWindowChangedCallback
-> m (GClosure C_ScreenActiveWindowChangedCallback)
genClosure_ScreenWindowOpened cb :: ScreenActiveWindowChangedCallback
cb = IO (GClosure C_ScreenActiveWindowChangedCallback)
-> m (GClosure C_ScreenActiveWindowChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenActiveWindowChangedCallback)
-> m (GClosure C_ScreenActiveWindowChangedCallback))
-> IO (GClosure C_ScreenActiveWindowChangedCallback)
-> m (GClosure C_ScreenActiveWindowChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenActiveWindowChangedCallback
cb' = ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenWindowOpenedCallback ScreenActiveWindowChangedCallback
cb
C_ScreenActiveWindowChangedCallback
-> IO (FunPtr C_ScreenActiveWindowChangedCallback)
mk_ScreenWindowOpenedCallback C_ScreenActiveWindowChangedCallback
cb' IO (FunPtr C_ScreenActiveWindowChangedCallback)
-> (FunPtr C_ScreenActiveWindowChangedCallback
-> IO (GClosure C_ScreenActiveWindowChangedCallback))
-> IO (GClosure C_ScreenActiveWindowChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenActiveWindowChangedCallback
-> IO (GClosure C_ScreenActiveWindowChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenWindowOpenedCallback ::
ScreenWindowOpenedCallback ->
C_ScreenWindowOpenedCallback
wrap_ScreenWindowOpenedCallback :: ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenWindowOpenedCallback _cb :: ScreenActiveWindowChangedCallback
_cb _ window :: Ptr Window
window _ = do
Window
window' <- ((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
Wnck.Window.Window) Ptr Window
window
ScreenActiveWindowChangedCallback
_cb Window
window'
onScreenWindowOpened :: (IsScreen a, MonadIO m) => a -> ScreenWindowOpenedCallback -> m SignalHandlerId
onScreenWindowOpened :: a -> ScreenActiveWindowChangedCallback -> m SignalHandlerId
onScreenWindowOpened obj :: a
obj cb :: ScreenActiveWindowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWindowChangedCallback
cb' = ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenWindowOpenedCallback ScreenActiveWindowChangedCallback
cb
FunPtr C_ScreenActiveWindowChangedCallback
cb'' <- C_ScreenActiveWindowChangedCallback
-> IO (FunPtr C_ScreenActiveWindowChangedCallback)
mk_ScreenWindowOpenedCallback C_ScreenActiveWindowChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWindowChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "window-opened" FunPtr C_ScreenActiveWindowChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenWindowOpened :: (IsScreen a, MonadIO m) => a -> ScreenWindowOpenedCallback -> m SignalHandlerId
afterScreenWindowOpened :: a -> ScreenActiveWindowChangedCallback -> m SignalHandlerId
afterScreenWindowOpened obj :: a
obj cb :: ScreenActiveWindowChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWindowChangedCallback
cb' = ScreenActiveWindowChangedCallback
-> C_ScreenActiveWindowChangedCallback
wrap_ScreenWindowOpenedCallback ScreenActiveWindowChangedCallback
cb
FunPtr C_ScreenActiveWindowChangedCallback
cb'' <- C_ScreenActiveWindowChangedCallback
-> IO (FunPtr C_ScreenActiveWindowChangedCallback)
mk_ScreenWindowOpenedCallback C_ScreenActiveWindowChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWindowChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "window-opened" FunPtr C_ScreenActiveWindowChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenWindowOpenedSignalInfo
instance SignalInfo ScreenWindowOpenedSignalInfo where
type HaskellCallbackType ScreenWindowOpenedSignalInfo = ScreenWindowOpenedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenWindowOpenedCallback cb
cb'' <- mk_ScreenWindowOpenedCallback cb'
connectSignalFunPtr obj "window-opened" cb'' connectMode detail
#endif
type ScreenWindowStackingChangedCallback =
IO ()
noScreenWindowStackingChangedCallback :: Maybe ScreenWindowStackingChangedCallback
noScreenWindowStackingChangedCallback :: Maybe (IO ())
noScreenWindowStackingChangedCallback = Maybe (IO ())
forall a. Maybe a
Nothing
type C_ScreenWindowStackingChangedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenWindowStackingChangedCallback :: C_ScreenWindowStackingChangedCallback -> IO (FunPtr C_ScreenWindowStackingChangedCallback)
genClosure_ScreenWindowStackingChanged :: MonadIO m => ScreenWindowStackingChangedCallback -> m (GClosure C_ScreenWindowStackingChangedCallback)
genClosure_ScreenWindowStackingChanged :: IO () -> m (GClosure C_ScreenBackgroundChangedCallback)
genClosure_ScreenWindowStackingChanged cb :: IO ()
cb = IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback))
-> IO (GClosure C_ScreenBackgroundChangedCallback)
-> m (GClosure C_ScreenBackgroundChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenWindowStackingChangedCallback IO ()
cb
C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenWindowStackingChangedCallback C_ScreenBackgroundChangedCallback
cb' IO (FunPtr C_ScreenBackgroundChangedCallback)
-> (FunPtr C_ScreenBackgroundChangedCallback
-> IO (GClosure C_ScreenBackgroundChangedCallback))
-> IO (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenBackgroundChangedCallback
-> IO (GClosure C_ScreenBackgroundChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenWindowStackingChangedCallback ::
ScreenWindowStackingChangedCallback ->
C_ScreenWindowStackingChangedCallback
wrap_ScreenWindowStackingChangedCallback :: IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenWindowStackingChangedCallback _cb :: IO ()
_cb _ _ = do
IO ()
_cb
onScreenWindowStackingChanged :: (IsScreen a, MonadIO m) => a -> ScreenWindowStackingChangedCallback -> m SignalHandlerId
onScreenWindowStackingChanged :: a -> IO () -> m SignalHandlerId
onScreenWindowStackingChanged obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenWindowStackingChangedCallback IO ()
cb
FunPtr C_ScreenBackgroundChangedCallback
cb'' <- C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenWindowStackingChangedCallback C_ScreenBackgroundChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenBackgroundChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "window-stacking-changed" FunPtr C_ScreenBackgroundChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenWindowStackingChanged :: (IsScreen a, MonadIO m) => a -> ScreenWindowStackingChangedCallback -> m SignalHandlerId
afterScreenWindowStackingChanged :: a -> IO () -> m SignalHandlerId
afterScreenWindowStackingChanged obj :: a
obj cb :: IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenBackgroundChangedCallback
cb' = IO () -> C_ScreenBackgroundChangedCallback
wrap_ScreenWindowStackingChangedCallback IO ()
cb
FunPtr C_ScreenBackgroundChangedCallback
cb'' <- C_ScreenBackgroundChangedCallback
-> IO (FunPtr C_ScreenBackgroundChangedCallback)
mk_ScreenWindowStackingChangedCallback C_ScreenBackgroundChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenBackgroundChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "window-stacking-changed" FunPtr C_ScreenBackgroundChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenWindowStackingChangedSignalInfo
instance SignalInfo ScreenWindowStackingChangedSignalInfo where
type HaskellCallbackType ScreenWindowStackingChangedSignalInfo = ScreenWindowStackingChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenWindowStackingChangedCallback cb
cb'' <- mk_ScreenWindowStackingChangedCallback cb'
connectSignalFunPtr obj "window-stacking-changed" cb'' connectMode detail
#endif
type ScreenWorkspaceCreatedCallback =
Wnck.Workspace.Workspace
-> IO ()
noScreenWorkspaceCreatedCallback :: Maybe ScreenWorkspaceCreatedCallback
noScreenWorkspaceCreatedCallback :: Maybe ScreenActiveWorkspaceChangedCallback
noScreenWorkspaceCreatedCallback = Maybe ScreenActiveWorkspaceChangedCallback
forall a. Maybe a
Nothing
type C_ScreenWorkspaceCreatedCallback =
Ptr () ->
Ptr Wnck.Workspace.Workspace ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenWorkspaceCreatedCallback :: C_ScreenWorkspaceCreatedCallback -> IO (FunPtr C_ScreenWorkspaceCreatedCallback)
genClosure_ScreenWorkspaceCreated :: MonadIO m => ScreenWorkspaceCreatedCallback -> m (GClosure C_ScreenWorkspaceCreatedCallback)
genClosure_ScreenWorkspaceCreated :: ScreenActiveWorkspaceChangedCallback
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback)
genClosure_ScreenWorkspaceCreated cb :: ScreenActiveWorkspaceChangedCallback
cb = IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback))
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenActiveWorkspaceChangedCallback
cb' = ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenWorkspaceCreatedCallback ScreenActiveWorkspaceChangedCallback
cb
C_ScreenActiveWorkspaceChangedCallback
-> IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
mk_ScreenWorkspaceCreatedCallback C_ScreenActiveWorkspaceChangedCallback
cb' IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
-> (FunPtr C_ScreenActiveWorkspaceChangedCallback
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback))
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenActiveWorkspaceChangedCallback
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenWorkspaceCreatedCallback ::
ScreenWorkspaceCreatedCallback ->
C_ScreenWorkspaceCreatedCallback
wrap_ScreenWorkspaceCreatedCallback :: ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenWorkspaceCreatedCallback _cb :: ScreenActiveWorkspaceChangedCallback
_cb _ space :: Ptr Workspace
space _ = do
Workspace
space' <- ((ManagedPtr Workspace -> Workspace)
-> Ptr Workspace -> IO Workspace
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Workspace -> Workspace
Wnck.Workspace.Workspace) Ptr Workspace
space
ScreenActiveWorkspaceChangedCallback
_cb Workspace
space'
onScreenWorkspaceCreated :: (IsScreen a, MonadIO m) => a -> ScreenWorkspaceCreatedCallback -> m SignalHandlerId
onScreenWorkspaceCreated :: a -> ScreenActiveWorkspaceChangedCallback -> m SignalHandlerId
onScreenWorkspaceCreated obj :: a
obj cb :: ScreenActiveWorkspaceChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWorkspaceChangedCallback
cb' = ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenWorkspaceCreatedCallback ScreenActiveWorkspaceChangedCallback
cb
FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' <- C_ScreenActiveWorkspaceChangedCallback
-> IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
mk_ScreenWorkspaceCreatedCallback C_ScreenActiveWorkspaceChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWorkspaceChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "workspace-created" FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenWorkspaceCreated :: (IsScreen a, MonadIO m) => a -> ScreenWorkspaceCreatedCallback -> m SignalHandlerId
afterScreenWorkspaceCreated :: a -> ScreenActiveWorkspaceChangedCallback -> m SignalHandlerId
afterScreenWorkspaceCreated obj :: a
obj cb :: ScreenActiveWorkspaceChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWorkspaceChangedCallback
cb' = ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenWorkspaceCreatedCallback ScreenActiveWorkspaceChangedCallback
cb
FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' <- C_ScreenActiveWorkspaceChangedCallback
-> IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
mk_ScreenWorkspaceCreatedCallback C_ScreenActiveWorkspaceChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWorkspaceChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "workspace-created" FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenWorkspaceCreatedSignalInfo
instance SignalInfo ScreenWorkspaceCreatedSignalInfo where
type HaskellCallbackType ScreenWorkspaceCreatedSignalInfo = ScreenWorkspaceCreatedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenWorkspaceCreatedCallback cb
cb'' <- mk_ScreenWorkspaceCreatedCallback cb'
connectSignalFunPtr obj "workspace-created" cb'' connectMode detail
#endif
type ScreenWorkspaceDestroyedCallback =
Wnck.Workspace.Workspace
-> IO ()
noScreenWorkspaceDestroyedCallback :: Maybe ScreenWorkspaceDestroyedCallback
noScreenWorkspaceDestroyedCallback :: Maybe ScreenActiveWorkspaceChangedCallback
noScreenWorkspaceDestroyedCallback = Maybe ScreenActiveWorkspaceChangedCallback
forall a. Maybe a
Nothing
type C_ScreenWorkspaceDestroyedCallback =
Ptr () ->
Ptr Wnck.Workspace.Workspace ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ScreenWorkspaceDestroyedCallback :: C_ScreenWorkspaceDestroyedCallback -> IO (FunPtr C_ScreenWorkspaceDestroyedCallback)
genClosure_ScreenWorkspaceDestroyed :: MonadIO m => ScreenWorkspaceDestroyedCallback -> m (GClosure C_ScreenWorkspaceDestroyedCallback)
genClosure_ScreenWorkspaceDestroyed :: ScreenActiveWorkspaceChangedCallback
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback)
genClosure_ScreenWorkspaceDestroyed cb :: ScreenActiveWorkspaceChangedCallback
cb = IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback))
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
-> m (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ScreenActiveWorkspaceChangedCallback
cb' = ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenWorkspaceDestroyedCallback ScreenActiveWorkspaceChangedCallback
cb
C_ScreenActiveWorkspaceChangedCallback
-> IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
mk_ScreenWorkspaceDestroyedCallback C_ScreenActiveWorkspaceChangedCallback
cb' IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
-> (FunPtr C_ScreenActiveWorkspaceChangedCallback
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback))
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ScreenActiveWorkspaceChangedCallback
-> IO (GClosure C_ScreenActiveWorkspaceChangedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ScreenWorkspaceDestroyedCallback ::
ScreenWorkspaceDestroyedCallback ->
C_ScreenWorkspaceDestroyedCallback
wrap_ScreenWorkspaceDestroyedCallback :: ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenWorkspaceDestroyedCallback _cb :: ScreenActiveWorkspaceChangedCallback
_cb _ space :: Ptr Workspace
space _ = do
Workspace
space' <- ((ManagedPtr Workspace -> Workspace)
-> Ptr Workspace -> IO Workspace
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Workspace -> Workspace
Wnck.Workspace.Workspace) Ptr Workspace
space
ScreenActiveWorkspaceChangedCallback
_cb Workspace
space'
onScreenWorkspaceDestroyed :: (IsScreen a, MonadIO m) => a -> ScreenWorkspaceDestroyedCallback -> m SignalHandlerId
onScreenWorkspaceDestroyed :: a -> ScreenActiveWorkspaceChangedCallback -> m SignalHandlerId
onScreenWorkspaceDestroyed obj :: a
obj cb :: ScreenActiveWorkspaceChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWorkspaceChangedCallback
cb' = ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenWorkspaceDestroyedCallback ScreenActiveWorkspaceChangedCallback
cb
FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' <- C_ScreenActiveWorkspaceChangedCallback
-> IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
mk_ScreenWorkspaceDestroyedCallback C_ScreenActiveWorkspaceChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWorkspaceChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "workspace-destroyed" FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterScreenWorkspaceDestroyed :: (IsScreen a, MonadIO m) => a -> ScreenWorkspaceDestroyedCallback -> m SignalHandlerId
afterScreenWorkspaceDestroyed :: a -> ScreenActiveWorkspaceChangedCallback -> m SignalHandlerId
afterScreenWorkspaceDestroyed obj :: a
obj cb :: ScreenActiveWorkspaceChangedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 cb' :: C_ScreenActiveWorkspaceChangedCallback
cb' = ScreenActiveWorkspaceChangedCallback
-> C_ScreenActiveWorkspaceChangedCallback
wrap_ScreenWorkspaceDestroyedCallback ScreenActiveWorkspaceChangedCallback
cb
FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' <- C_ScreenActiveWorkspaceChangedCallback
-> IO (FunPtr C_ScreenActiveWorkspaceChangedCallback)
mk_ScreenWorkspaceDestroyedCallback C_ScreenActiveWorkspaceChangedCallback
cb'
a
-> Text
-> FunPtr C_ScreenActiveWorkspaceChangedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "workspace-destroyed" FunPtr C_ScreenActiveWorkspaceChangedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ScreenWorkspaceDestroyedSignalInfo
instance SignalInfo ScreenWorkspaceDestroyedSignalInfo where
type HaskellCallbackType ScreenWorkspaceDestroyedSignalInfo = ScreenWorkspaceDestroyedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ScreenWorkspaceDestroyedCallback cb
cb'' <- mk_ScreenWorkspaceDestroyedCallback cb'
connectSignalFunPtr obj "workspace-destroyed" cb'' connectMode detail
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Screen
type instance O.AttributeList Screen = ScreenAttributeList
type ScreenAttributeList = ('[ ] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Screen = ScreenSignalList
type ScreenSignalList = ('[ '("activeWindowChanged", ScreenActiveWindowChangedSignalInfo), '("activeWorkspaceChanged", ScreenActiveWorkspaceChangedSignalInfo), '("applicationClosed", ScreenApplicationClosedSignalInfo), '("applicationOpened", ScreenApplicationOpenedSignalInfo), '("backgroundChanged", ScreenBackgroundChangedSignalInfo), '("classGroupClosed", ScreenClassGroupClosedSignalInfo), '("classGroupOpened", ScreenClassGroupOpenedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("showingDesktopChanged", ScreenShowingDesktopChangedSignalInfo), '("viewportsChanged", ScreenViewportsChangedSignalInfo), '("windowClosed", ScreenWindowClosedSignalInfo), '("windowManagerChanged", ScreenWindowManagerChangedSignalInfo), '("windowOpened", ScreenWindowOpenedSignalInfo), '("windowStackingChanged", ScreenWindowStackingChangedSignalInfo), '("workspaceCreated", ScreenWorkspaceCreatedSignalInfo), '("workspaceDestroyed", ScreenWorkspaceDestroyedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "wnck_screen_calc_workspace_layout" wnck_screen_calc_workspace_layout ::
Ptr Screen ->
Int32 ->
Int32 ->
Ptr Wnck.WorkspaceLayout.WorkspaceLayout ->
IO ()
{-# DEPRECATED screenCalcWorkspaceLayout ["(Since version 2.20)"] #-}
screenCalcWorkspaceLayout ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> Int32
-> Int32
-> Wnck.WorkspaceLayout.WorkspaceLayout
-> m ()
screenCalcWorkspaceLayout :: a -> Int32 -> Int32 -> WorkspaceLayout -> m ()
screenCalcWorkspaceLayout screen :: a
screen numWorkspaces :: Int32
numWorkspaces spaceIndex :: Int32
spaceIndex layout :: WorkspaceLayout
layout = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr WorkspaceLayout
layout' <- WorkspaceLayout -> IO (Ptr WorkspaceLayout)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr WorkspaceLayout
layout
Ptr Screen -> Int32 -> Int32 -> Ptr WorkspaceLayout -> IO ()
wnck_screen_calc_workspace_layout Ptr Screen
screen' Int32
numWorkspaces Int32
spaceIndex Ptr WorkspaceLayout
layout'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
WorkspaceLayout -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr WorkspaceLayout
layout
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ScreenCalcWorkspaceLayoutMethodInfo
instance (signature ~ (Int32 -> Int32 -> Wnck.WorkspaceLayout.WorkspaceLayout -> m ()), MonadIO m, IsScreen a) => O.MethodInfo ScreenCalcWorkspaceLayoutMethodInfo a signature where
overloadedMethod = screenCalcWorkspaceLayout
#endif
foreign import ccall "wnck_screen_change_workspace_count" wnck_screen_change_workspace_count ::
Ptr Screen ->
Int32 ->
IO ()
screenChangeWorkspaceCount ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> Int32
-> m ()
screenChangeWorkspaceCount :: a -> Int32 -> m ()
screenChangeWorkspaceCount screen :: a
screen count :: Int32
count = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr Screen -> Int32 -> IO ()
wnck_screen_change_workspace_count Ptr Screen
screen' Int32
count
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ScreenChangeWorkspaceCountMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsScreen a) => O.MethodInfo ScreenChangeWorkspaceCountMethodInfo a signature where
overloadedMethod = screenChangeWorkspaceCount
#endif
foreign import ccall "wnck_screen_force_update" wnck_screen_force_update ::
Ptr Screen ->
IO ()
screenForceUpdate ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m ()
screenForceUpdate :: a -> m ()
screenForceUpdate screen :: a
screen = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr Screen -> IO ()
wnck_screen_force_update Ptr Screen
screen'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ScreenForceUpdateMethodInfo
instance (signature ~ (m ()), MonadIO m, IsScreen a) => O.MethodInfo ScreenForceUpdateMethodInfo a signature where
overloadedMethod = screenForceUpdate
#endif
foreign import ccall "wnck_screen_get_active_window" wnck_screen_get_active_window ::
Ptr Screen ->
IO (Ptr Wnck.Window.Window)
screenGetActiveWindow ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m (Maybe Wnck.Window.Window)
screenGetActiveWindow :: a -> m (Maybe Window)
screenGetActiveWindow screen :: a
screen = IO (Maybe Window) -> m (Maybe Window)
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
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr Window
result <- Ptr Screen -> IO (Ptr Window)
wnck_screen_get_active_window Ptr Screen
screen'
Maybe Window
maybeResult <- Ptr Window -> (Ptr Window -> IO Window) -> IO (Maybe Window)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Window
result ((Ptr Window -> IO Window) -> IO (Maybe Window))
-> (Ptr Window -> IO Window) -> IO (Maybe Window)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr Window
result' -> do
Window
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
Wnck.Window.Window) Ptr Window
result'
Window -> IO Window
forall (m :: * -> *) a. Monad m => a -> m a
return Window
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Maybe Window -> IO (Maybe Window)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Window
maybeResult
#if defined(ENABLE_OVERLOADING)
data ScreenGetActiveWindowMethodInfo
instance (signature ~ (m (Maybe Wnck.Window.Window)), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetActiveWindowMethodInfo a signature where
overloadedMethod = screenGetActiveWindow
#endif
foreign import ccall "wnck_screen_get_active_workspace" wnck_screen_get_active_workspace ::
Ptr Screen ->
IO (Ptr Wnck.Workspace.Workspace)
screenGetActiveWorkspace ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m (Maybe Wnck.Workspace.Workspace)
screenGetActiveWorkspace :: a -> m (Maybe Workspace)
screenGetActiveWorkspace screen :: a
screen = IO (Maybe Workspace) -> m (Maybe Workspace)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Workspace) -> m (Maybe Workspace))
-> IO (Maybe Workspace) -> m (Maybe Workspace)
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr Workspace
result <- Ptr Screen -> IO (Ptr Workspace)
wnck_screen_get_active_workspace Ptr Screen
screen'
Maybe Workspace
maybeResult <- Ptr Workspace
-> (Ptr Workspace -> IO Workspace) -> IO (Maybe Workspace)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Workspace
result ((Ptr Workspace -> IO Workspace) -> IO (Maybe Workspace))
-> (Ptr Workspace -> IO Workspace) -> IO (Maybe Workspace)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr Workspace
result' -> do
Workspace
result'' <- ((ManagedPtr Workspace -> Workspace)
-> Ptr Workspace -> IO Workspace
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Workspace -> Workspace
Wnck.Workspace.Workspace) Ptr Workspace
result'
Workspace -> IO Workspace
forall (m :: * -> *) a. Monad m => a -> m a
return Workspace
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Maybe Workspace -> IO (Maybe Workspace)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Workspace
maybeResult
#if defined(ENABLE_OVERLOADING)
data ScreenGetActiveWorkspaceMethodInfo
instance (signature ~ (m (Maybe Wnck.Workspace.Workspace)), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetActiveWorkspaceMethodInfo a signature where
overloadedMethod = screenGetActiveWorkspace
#endif
foreign import ccall "wnck_screen_get_background_pixmap" wnck_screen_get_background_pixmap ::
Ptr Screen ->
IO CULong
screenGetBackgroundPixmap ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m CULong
screenGetBackgroundPixmap :: a -> m SignalHandlerId
screenGetBackgroundPixmap screen :: a
screen = IO SignalHandlerId -> m SignalHandlerId
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
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
SignalHandlerId
result <- Ptr Screen -> IO SignalHandlerId
wnck_screen_get_background_pixmap Ptr Screen
screen'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
SignalHandlerId -> IO SignalHandlerId
forall (m :: * -> *) a. Monad m => a -> m a
return SignalHandlerId
result
#if defined(ENABLE_OVERLOADING)
data ScreenGetBackgroundPixmapMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetBackgroundPixmapMethodInfo a signature where
overloadedMethod = screenGetBackgroundPixmap
#endif
foreign import ccall "wnck_screen_get_height" wnck_screen_get_height ::
Ptr Screen ->
IO Int32
screenGetHeight ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m Int32
screenGetHeight :: a -> m Int32
screenGetHeight screen :: a
screen = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Int32
result <- Ptr Screen -> IO Int32
wnck_screen_get_height Ptr Screen
screen'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data ScreenGetHeightMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetHeightMethodInfo a signature where
overloadedMethod = screenGetHeight
#endif
foreign import ccall "wnck_screen_get_number" wnck_screen_get_number ::
Ptr Screen ->
IO Int32
screenGetNumber ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m Int32
screenGetNumber :: a -> m Int32
screenGetNumber screen :: a
screen = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Int32
result <- Ptr Screen -> IO Int32
wnck_screen_get_number Ptr Screen
screen'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data ScreenGetNumberMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetNumberMethodInfo a signature where
overloadedMethod = screenGetNumber
#endif
foreign import ccall "wnck_screen_get_previously_active_window" wnck_screen_get_previously_active_window ::
Ptr Screen ->
IO (Ptr Wnck.Window.Window)
screenGetPreviouslyActiveWindow ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m Wnck.Window.Window
screenGetPreviouslyActiveWindow :: a -> m Window
screenGetPreviouslyActiveWindow screen :: a
screen = IO Window -> m Window
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Window -> m Window) -> IO Window -> m Window
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr Window
result <- Ptr Screen -> IO (Ptr Window)
wnck_screen_get_previously_active_window Ptr Screen
screen'
Text -> Ptr Window -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "screenGetPreviouslyActiveWindow" Ptr Window
result
Window
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
Wnck.Window.Window) Ptr Window
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Window -> IO Window
forall (m :: * -> *) a. Monad m => a -> m a
return Window
result'
#if defined(ENABLE_OVERLOADING)
data ScreenGetPreviouslyActiveWindowMethodInfo
instance (signature ~ (m Wnck.Window.Window), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetPreviouslyActiveWindowMethodInfo a signature where
overloadedMethod = screenGetPreviouslyActiveWindow
#endif
foreign import ccall "wnck_screen_get_showing_desktop" wnck_screen_get_showing_desktop ::
Ptr Screen ->
IO CInt
screenGetShowingDesktop ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m Bool
screenGetShowingDesktop :: a -> m Bool
screenGetShowingDesktop screen :: a
screen = IO Bool -> m Bool
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
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
CInt
result <- Ptr Screen -> IO CInt
wnck_screen_get_showing_desktop Ptr Screen
screen'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ScreenGetShowingDesktopMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetShowingDesktopMethodInfo a signature where
overloadedMethod = screenGetShowingDesktop
#endif
foreign import ccall "wnck_screen_get_width" wnck_screen_get_width ::
Ptr Screen ->
IO Int32
screenGetWidth ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m Int32
screenGetWidth :: a -> m Int32
screenGetWidth screen :: a
screen = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Int32
result <- Ptr Screen -> IO Int32
wnck_screen_get_width Ptr Screen
screen'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data ScreenGetWidthMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetWidthMethodInfo a signature where
overloadedMethod = screenGetWidth
#endif
foreign import ccall "wnck_screen_get_window_manager_name" wnck_screen_get_window_manager_name ::
Ptr Screen ->
IO CString
screenGetWindowManagerName ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m T.Text
screenGetWindowManagerName :: a -> m Text
screenGetWindowManagerName screen :: a
screen = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
CString
result <- Ptr Screen -> IO CString
wnck_screen_get_window_manager_name Ptr Screen
screen'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "screenGetWindowManagerName" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data ScreenGetWindowManagerNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetWindowManagerNameMethodInfo a signature where
overloadedMethod = screenGetWindowManagerName
#endif
foreign import ccall "wnck_screen_get_windows" wnck_screen_get_windows ::
Ptr Screen ->
IO (Ptr (GList (Ptr Wnck.Window.Window)))
screenGetWindows ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m [Wnck.Window.Window]
screenGetWindows :: a -> m [Window]
screenGetWindows screen :: a
screen = IO [Window] -> m [Window]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Window] -> m [Window]) -> IO [Window] -> m [Window]
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr (GList (Ptr Window))
result <- Ptr Screen -> IO (Ptr (GList (Ptr Window)))
wnck_screen_get_windows Ptr Screen
screen'
[Ptr Window]
result' <- Ptr (GList (Ptr Window)) -> IO [Ptr Window]
forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr Window))
result
[Window]
result'' <- (Ptr Window -> IO Window) -> [Ptr Window] -> IO [Window]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM ((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
Wnck.Window.Window) [Ptr Window]
result'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
[Window] -> IO [Window]
forall (m :: * -> *) a. Monad m => a -> m a
return [Window]
result''
#if defined(ENABLE_OVERLOADING)
data ScreenGetWindowsMethodInfo
instance (signature ~ (m [Wnck.Window.Window]), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetWindowsMethodInfo a signature where
overloadedMethod = screenGetWindows
#endif
foreign import ccall "wnck_screen_get_windows_stacked" wnck_screen_get_windows_stacked ::
Ptr Screen ->
IO (Ptr (GList (Ptr Wnck.Window.Window)))
screenGetWindowsStacked ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m [Wnck.Window.Window]
screenGetWindowsStacked :: a -> m [Window]
screenGetWindowsStacked screen :: a
screen = IO [Window] -> m [Window]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Window] -> m [Window]) -> IO [Window] -> m [Window]
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr (GList (Ptr Window))
result <- Ptr Screen -> IO (Ptr (GList (Ptr Window)))
wnck_screen_get_windows_stacked Ptr Screen
screen'
[Ptr Window]
result' <- Ptr (GList (Ptr Window)) -> IO [Ptr Window]
forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr Window))
result
[Window]
result'' <- (Ptr Window -> IO Window) -> [Ptr Window] -> IO [Window]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM ((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
Wnck.Window.Window) [Ptr Window]
result'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
[Window] -> IO [Window]
forall (m :: * -> *) a. Monad m => a -> m a
return [Window]
result''
#if defined(ENABLE_OVERLOADING)
data ScreenGetWindowsStackedMethodInfo
instance (signature ~ (m [Wnck.Window.Window]), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetWindowsStackedMethodInfo a signature where
overloadedMethod = screenGetWindowsStacked
#endif
foreign import ccall "wnck_screen_get_workspace" wnck_screen_get_workspace ::
Ptr Screen ->
Int32 ->
IO (Ptr Wnck.Workspace.Workspace)
screenGetWorkspace ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> Int32
-> m Wnck.Workspace.Workspace
screenGetWorkspace :: a -> Int32 -> m Workspace
screenGetWorkspace screen :: a
screen workspace :: Int32
workspace = IO Workspace -> m Workspace
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Workspace -> m Workspace) -> IO Workspace -> m Workspace
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr Workspace
result <- Ptr Screen -> Int32 -> IO (Ptr Workspace)
wnck_screen_get_workspace Ptr Screen
screen' Int32
workspace
Text -> Ptr Workspace -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "screenGetWorkspace" Ptr Workspace
result
Workspace
result' <- ((ManagedPtr Workspace -> Workspace)
-> Ptr Workspace -> IO Workspace
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Workspace -> Workspace
Wnck.Workspace.Workspace) Ptr Workspace
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Workspace -> IO Workspace
forall (m :: * -> *) a. Monad m => a -> m a
return Workspace
result'
#if defined(ENABLE_OVERLOADING)
data ScreenGetWorkspaceMethodInfo
instance (signature ~ (Int32 -> m Wnck.Workspace.Workspace), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetWorkspaceMethodInfo a signature where
overloadedMethod = screenGetWorkspace
#endif
foreign import ccall "wnck_screen_get_workspace_count" wnck_screen_get_workspace_count ::
Ptr Screen ->
IO Int32
screenGetWorkspaceCount ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m Int32
screenGetWorkspaceCount :: a -> m Int32
screenGetWorkspaceCount screen :: a
screen = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Int32
result <- Ptr Screen -> IO Int32
wnck_screen_get_workspace_count Ptr Screen
screen'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data ScreenGetWorkspaceCountMethodInfo
instance (signature ~ (m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetWorkspaceCountMethodInfo a signature where
overloadedMethod = screenGetWorkspaceCount
#endif
foreign import ccall "wnck_screen_get_workspaces" wnck_screen_get_workspaces ::
Ptr Screen ->
IO (Ptr (GList (Ptr Wnck.Workspace.Workspace)))
screenGetWorkspaces ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> m [Wnck.Workspace.Workspace]
screenGetWorkspaces :: a -> m [Workspace]
screenGetWorkspaces screen :: a
screen = IO [Workspace] -> m [Workspace]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Workspace] -> m [Workspace])
-> IO [Workspace] -> m [Workspace]
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr (GList (Ptr Workspace))
result <- Ptr Screen -> IO (Ptr (GList (Ptr Workspace)))
wnck_screen_get_workspaces Ptr Screen
screen'
[Ptr Workspace]
result' <- Ptr (GList (Ptr Workspace)) -> IO [Ptr Workspace]
forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr Workspace))
result
[Workspace]
result'' <- (Ptr Workspace -> IO Workspace)
-> [Ptr Workspace] -> IO [Workspace]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM ((ManagedPtr Workspace -> Workspace)
-> Ptr Workspace -> IO Workspace
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Workspace -> Workspace
Wnck.Workspace.Workspace) [Ptr Workspace]
result'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
[Workspace] -> IO [Workspace]
forall (m :: * -> *) a. Monad m => a -> m a
return [Workspace]
result''
#if defined(ENABLE_OVERLOADING)
data ScreenGetWorkspacesMethodInfo
instance (signature ~ (m [Wnck.Workspace.Workspace]), MonadIO m, IsScreen a) => O.MethodInfo ScreenGetWorkspacesMethodInfo a signature where
overloadedMethod = screenGetWorkspaces
#endif
foreign import ccall "wnck_screen_move_viewport" wnck_screen_move_viewport ::
Ptr Screen ->
Int32 ->
Int32 ->
IO ()
screenMoveViewport ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> Int32
-> Int32
-> m ()
screenMoveViewport :: a -> Int32 -> Int32 -> m ()
screenMoveViewport screen :: a
screen x :: Int32
x y :: Int32
y = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr Screen -> Int32 -> Int32 -> IO ()
wnck_screen_move_viewport Ptr Screen
screen' Int32
x Int32
y
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ScreenMoveViewportMethodInfo
instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m, IsScreen a) => O.MethodInfo ScreenMoveViewportMethodInfo a signature where
overloadedMethod = screenMoveViewport
#endif
foreign import ccall "wnck_screen_net_wm_supports" wnck_screen_net_wm_supports ::
Ptr Screen ->
CString ->
IO CInt
screenNetWmSupports ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> T.Text
-> m Bool
screenNetWmSupports :: a -> Text -> m Bool
screenNetWmSupports screen :: a
screen atom :: Text
atom = IO Bool -> m Bool
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
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
CString
atom' <- Text -> IO CString
textToCString Text
atom
CInt
result <- Ptr Screen -> CString -> IO CInt
wnck_screen_net_wm_supports Ptr Screen
screen' CString
atom'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
atom'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ScreenNetWmSupportsMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsScreen a) => O.MethodInfo ScreenNetWmSupportsMethodInfo a signature where
overloadedMethod = screenNetWmSupports
#endif
foreign import ccall "wnck_screen_release_workspace_layout" wnck_screen_release_workspace_layout ::
Ptr Screen ->
Int32 ->
IO ()
screenReleaseWorkspaceLayout ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> Int32
-> m ()
screenReleaseWorkspaceLayout :: a -> Int32 -> m ()
screenReleaseWorkspaceLayout screen :: a
screen currentToken :: Int32
currentToken = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Ptr Screen -> Int32 -> IO ()
wnck_screen_release_workspace_layout Ptr Screen
screen' Int32
currentToken
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ScreenReleaseWorkspaceLayoutMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsScreen a) => O.MethodInfo ScreenReleaseWorkspaceLayoutMethodInfo a signature where
overloadedMethod = screenReleaseWorkspaceLayout
#endif
foreign import ccall "wnck_screen_toggle_showing_desktop" wnck_screen_toggle_showing_desktop ::
Ptr Screen ->
CInt ->
IO ()
screenToggleShowingDesktop ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> Bool
-> m ()
screenToggleShowingDesktop :: a -> Bool -> m ()
screenToggleShowingDesktop screen :: a
screen show_ :: Bool
show_ = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
let show_' :: CInt
show_' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
show_
Ptr Screen -> CInt -> IO ()
wnck_screen_toggle_showing_desktop Ptr Screen
screen' CInt
show_'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ScreenToggleShowingDesktopMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsScreen a) => O.MethodInfo ScreenToggleShowingDesktopMethodInfo a signature where
overloadedMethod = screenToggleShowingDesktop
#endif
foreign import ccall "wnck_screen_try_set_workspace_layout" wnck_screen_try_set_workspace_layout ::
Ptr Screen ->
Int32 ->
Int32 ->
Int32 ->
IO Int32
screenTrySetWorkspaceLayout ::
(B.CallStack.HasCallStack, MonadIO m, IsScreen a) =>
a
-> Int32
-> Int32
-> Int32
-> m Int32
screenTrySetWorkspaceLayout :: a -> Int32 -> Int32 -> Int32 -> m Int32
screenTrySetWorkspaceLayout screen :: a
screen currentToken :: Int32
currentToken rows :: Int32
rows columns :: Int32
columns = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
screen' <- a -> IO (Ptr Screen)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
screen
Int32
result <- Ptr Screen -> Int32 -> Int32 -> Int32 -> IO Int32
wnck_screen_try_set_workspace_layout Ptr Screen
screen' Int32
currentToken Int32
rows Int32
columns
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
screen
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data ScreenTrySetWorkspaceLayoutMethodInfo
instance (signature ~ (Int32 -> Int32 -> Int32 -> m Int32), MonadIO m, IsScreen a) => O.MethodInfo ScreenTrySetWorkspaceLayoutMethodInfo a signature where
overloadedMethod = screenTrySetWorkspaceLayout
#endif
foreign import ccall "wnck_screen_free_workspace_layout" wnck_screen_free_workspace_layout ::
Ptr Wnck.WorkspaceLayout.WorkspaceLayout ->
IO ()
{-# DEPRECATED screenFreeWorkspaceLayout ["(Since version 2.20)"] #-}
screenFreeWorkspaceLayout ::
(B.CallStack.HasCallStack, MonadIO m) =>
Wnck.WorkspaceLayout.WorkspaceLayout
-> m ()
screenFreeWorkspaceLayout :: WorkspaceLayout -> m ()
screenFreeWorkspaceLayout layout :: WorkspaceLayout
layout = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr WorkspaceLayout
layout' <- WorkspaceLayout -> IO (Ptr WorkspaceLayout)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr WorkspaceLayout
layout
Ptr WorkspaceLayout -> IO ()
wnck_screen_free_workspace_layout Ptr WorkspaceLayout
layout'
WorkspaceLayout -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr WorkspaceLayout
layout
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "wnck_screen_get" wnck_screen_get ::
Int32 ->
IO (Ptr Screen)
screenGet ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> m Screen
screenGet :: Int32 -> m Screen
screenGet index :: Int32
index = IO Screen -> m Screen
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Screen -> m Screen) -> IO Screen -> m Screen
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
result <- Int32 -> IO (Ptr Screen)
wnck_screen_get Int32
index
Text -> Ptr Screen -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "screenGet" Ptr Screen
result
Screen
result' <- ((ManagedPtr Screen -> Screen) -> Ptr Screen -> IO Screen
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Screen -> Screen
Screen) Ptr Screen
result
Screen -> IO Screen
forall (m :: * -> *) a. Monad m => a -> m a
return Screen
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "wnck_screen_get_default" wnck_screen_get_default ::
IO (Ptr Screen)
screenGetDefault ::
(B.CallStack.HasCallStack, MonadIO m) =>
m (Maybe Screen)
screenGetDefault :: m (Maybe Screen)
screenGetDefault = IO (Maybe Screen) -> m (Maybe Screen)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Screen) -> m (Maybe Screen))
-> IO (Maybe Screen) -> m (Maybe Screen)
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
result <- IO (Ptr Screen)
wnck_screen_get_default
Maybe Screen
maybeResult <- Ptr Screen -> (Ptr Screen -> IO Screen) -> IO (Maybe Screen)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Screen
result ((Ptr Screen -> IO Screen) -> IO (Maybe Screen))
-> (Ptr Screen -> IO Screen) -> IO (Maybe Screen)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr Screen
result' -> do
Screen
result'' <- ((ManagedPtr Screen -> Screen) -> Ptr Screen -> IO Screen
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Screen -> Screen
Screen) Ptr Screen
result'
Screen -> IO Screen
forall (m :: * -> *) a. Monad m => a -> m a
return Screen
result''
Maybe Screen -> IO (Maybe Screen)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Screen
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "wnck_screen_get_for_root" wnck_screen_get_for_root ::
CULong ->
IO (Ptr Screen)
screenGetForRoot ::
(B.CallStack.HasCallStack, MonadIO m) =>
CULong
-> m Screen
screenGetForRoot :: SignalHandlerId -> m Screen
screenGetForRoot rootWindowId :: SignalHandlerId
rootWindowId = IO Screen -> m Screen
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Screen -> m Screen) -> IO Screen -> m Screen
forall a b. (a -> b) -> a -> b
$ do
Ptr Screen
result <- SignalHandlerId -> IO (Ptr Screen)
wnck_screen_get_for_root SignalHandlerId
rootWindowId
Text -> Ptr Screen -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "screenGetForRoot" Ptr Screen
result
Screen
result' <- ((ManagedPtr Screen -> Screen) -> Ptr Screen -> IO Screen
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Screen -> Screen
Screen) Ptr Screen
result
Screen -> IO Screen
forall (m :: * -> *) a. Monad m => a -> m a
return Screen
result'
#if defined(ENABLE_OVERLOADING)
#endif