Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
The purpose of the DisplayManager
singleton object is to offer
notification when displays appear or disappear or the default display
changes.
You can use displayManagerGet
to obtain the DisplayManager
singleton, but that should be rarely necessary. Typically, initializing
GTK+ opens a display that you can work with without ever accessing the
DisplayManager
.
The GDK library can be built with support for multiple backends.
The DisplayManager
object determines which backend is used
at runtime.
When writing backend-specific code that is supposed to work with
multiple GDK backends, you have to consider both compile time and
runtime. At compile time, use the GDK_WINDOWING_X11
, GDK_WINDOWING_WIN32
macros, etc. to find out which backends are present in the GDK library
you are building your application against. At runtime, use type-check
macros like GDK_IS_X11_DISPLAY()
to find out which backend is in use:
C code
#ifdef GDK_WINDOWING_X11 if (GDK_IS_X11_DISPLAY (display)) { // make X11-specific calls here } else #endif #ifdef GDK_WINDOWING_QUARTZ if (GDK_IS_QUARTZ_DISPLAY (display)) { // make Quartz-specific calls here } else #endif g_error ("Unsupported GDK backend");
- newtype DisplayManager = DisplayManager (ManagedPtr DisplayManager)
- class GObject o => IsDisplayManager o
- toDisplayManager :: IsDisplayManager o => o -> IO DisplayManager
- noDisplayManager :: Maybe DisplayManager
- displayManagerGet :: (HasCallStack, MonadIO m) => m DisplayManager
- data DisplayManagerGetDefaultDisplayMethodInfo
- displayManagerGetDefaultDisplay :: (HasCallStack, MonadIO m, IsDisplayManager a) => a -> m (Maybe Display)
- data DisplayManagerListDisplaysMethodInfo
- displayManagerListDisplays :: (HasCallStack, MonadIO m, IsDisplayManager a) => a -> m [Display]
- data DisplayManagerOpenDisplayMethodInfo
- displayManagerOpenDisplay :: (HasCallStack, MonadIO m, IsDisplayManager a) => a -> Text -> m (Maybe Display)
- data DisplayManagerSetDefaultDisplayMethodInfo
- displayManagerSetDefaultDisplay :: (HasCallStack, MonadIO m, IsDisplayManager a, IsDisplay b) => a -> b -> m ()
- data DisplayManagerDefaultDisplayPropertyInfo
- constructDisplayManagerDefaultDisplay :: (IsDisplayManager o, IsDisplay a) => a -> IO (GValueConstruct o)
- displayManagerDefaultDisplay :: AttrLabelProxy "defaultDisplay"
- getDisplayManagerDefaultDisplay :: (MonadIO m, IsDisplayManager o) => o -> m (Maybe Display)
- setDisplayManagerDefaultDisplay :: (MonadIO m, IsDisplayManager o, IsDisplay a) => o -> a -> m ()
- type C_DisplayManagerDisplayOpenedCallback = Ptr () -> Ptr Display -> Ptr () -> IO ()
- type DisplayManagerDisplayOpenedCallback = Display -> IO ()
- data DisplayManagerDisplayOpenedSignalInfo
- afterDisplayManagerDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId
- genClosure_DisplayManagerDisplayOpened :: DisplayManagerDisplayOpenedCallback -> IO Closure
- mk_DisplayManagerDisplayOpenedCallback :: C_DisplayManagerDisplayOpenedCallback -> IO (FunPtr C_DisplayManagerDisplayOpenedCallback)
- noDisplayManagerDisplayOpenedCallback :: Maybe DisplayManagerDisplayOpenedCallback
- onDisplayManagerDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId
- wrap_DisplayManagerDisplayOpenedCallback :: DisplayManagerDisplayOpenedCallback -> Ptr () -> Ptr Display -> Ptr () -> IO ()
Exported types
newtype DisplayManager Source #
GObject DisplayManager Source # | |
IsObject DisplayManager Source # | |
IsDisplayManager DisplayManager Source # | |
((~) * info (ResolveDisplayManagerMethod t DisplayManager), MethodInfo * info DisplayManager p) => IsLabel t (DisplayManager -> p) Source # | |
((~) * info (ResolveDisplayManagerMethod t DisplayManager), MethodInfo * info DisplayManager p) => IsLabelProxy t (DisplayManager -> p) Source # | |
HasAttributeList * DisplayManager Source # | |
type AttributeList DisplayManager Source # | |
type SignalList DisplayManager Source # | |
class GObject o => IsDisplayManager o Source #
toDisplayManager :: IsDisplayManager o => o -> IO DisplayManager Source #
Methods
get
:: (HasCallStack, MonadIO m) | |
=> m DisplayManager | Returns: The global |
Gets the singleton DisplayManager
object.
When called for the first time, this function consults the
GDK_BACKEND
environment variable to find out which
of the supported GDK backends to use (in case GDK has been compiled
with multiple backends). Applications can use setAllowedBackends
to limit what backends can be used.
Since: 2.2
getDefaultDisplay
data DisplayManagerGetDefaultDisplayMethodInfo Source #
((~) * signature (m (Maybe Display)), MonadIO m, IsDisplayManager a) => MethodInfo * DisplayManagerGetDefaultDisplayMethodInfo a signature Source # | |
displayManagerGetDefaultDisplay Source #
:: (HasCallStack, MonadIO m, IsDisplayManager a) | |
=> a |
|
-> m (Maybe Display) | Returns: a |
Gets the default Display
.
Since: 2.2
listDisplays
data DisplayManagerListDisplaysMethodInfo Source #
((~) * signature (m [Display]), MonadIO m, IsDisplayManager a) => MethodInfo * DisplayManagerListDisplaysMethodInfo a signature Source # | |
displayManagerListDisplays Source #
:: (HasCallStack, MonadIO m, IsDisplayManager a) | |
=> a |
|
-> m [Display] | Returns: a newly
allocated |
List all currently open displays.
Since: 2.2
openDisplay
data DisplayManagerOpenDisplayMethodInfo Source #
((~) * signature (Text -> m (Maybe Display)), MonadIO m, IsDisplayManager a) => MethodInfo * DisplayManagerOpenDisplayMethodInfo a signature Source # | |
displayManagerOpenDisplay Source #
:: (HasCallStack, MonadIO m, IsDisplayManager a) | |
=> a |
|
-> Text |
|
-> m (Maybe Display) | Returns: a |
Opens a display.
Since: 3.0
setDefaultDisplay
data DisplayManagerSetDefaultDisplayMethodInfo Source #
((~) * signature (b -> m ()), MonadIO m, IsDisplayManager a, IsDisplay b) => MethodInfo * DisplayManagerSetDefaultDisplayMethodInfo a signature Source # | |
displayManagerSetDefaultDisplay Source #
:: (HasCallStack, MonadIO m, IsDisplayManager a, IsDisplay b) | |
=> a |
|
-> b |
|
-> m () |
Sets display
as the default display.
Since: 2.2
Properties
defaultDisplay
data DisplayManagerDefaultDisplayPropertyInfo Source #
constructDisplayManagerDefaultDisplay :: (IsDisplayManager o, IsDisplay a) => a -> IO (GValueConstruct o) Source #
displayManagerDefaultDisplay :: AttrLabelProxy "defaultDisplay" Source #
getDisplayManagerDefaultDisplay :: (MonadIO m, IsDisplayManager o) => o -> m (Maybe Display) Source #
setDisplayManagerDefaultDisplay :: (MonadIO m, IsDisplayManager o, IsDisplay a) => o -> a -> m () Source #
Signals
displayOpened
type DisplayManagerDisplayOpenedCallback = Display -> IO () Source #
afterDisplayManagerDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId Source #
genClosure_DisplayManagerDisplayOpened :: DisplayManagerDisplayOpenedCallback -> IO Closure Source #
mk_DisplayManagerDisplayOpenedCallback :: C_DisplayManagerDisplayOpenedCallback -> IO (FunPtr C_DisplayManagerDisplayOpenedCallback) Source #
onDisplayManagerDisplayOpened :: (GObject a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId Source #
wrap_DisplayManagerDisplayOpenedCallback :: DisplayManagerDisplayOpenedCallback -> Ptr () -> Ptr Display -> Ptr () -> IO () Source #