gi-gdk-4.0.1: Gdk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gdk.Objects.DisplayManager

Description

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:

## {backend-specific}

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");
Synopsis

Exported types

class (GObject o, IsDescendantOf DisplayManager o) => IsDisplayManager o Source #

Type class for types which can be safely cast to DisplayManager, for instance with toDisplayManager.

Instances

Instances details
(GObject o, IsDescendantOf DisplayManager o) => IsDisplayManager o Source # 
Instance details

Defined in GI.Gdk.Objects.DisplayManager

toDisplayManager :: (MonadIO m, IsDisplayManager o) => o -> m DisplayManager Source #

Cast to DisplayManager, for types for which this is known to be safe. For general casts, use castTo.

Methods

Overloaded methods

get

displayManagerGet Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m DisplayManager

Returns: The global DisplayManager singleton; gdk_parse_args(), gdk_init(), or gdk_init_check() must have been called first.

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.

getDefaultDisplay

displayManagerGetDefaultDisplay Source #

Arguments

:: (HasCallStack, MonadIO m, IsDisplayManager a) 
=> a

manager: a DisplayManager

-> m (Maybe Display)

Returns: a Display, or Nothing if there is no default display.

Gets the default Display.

listDisplays

displayManagerListDisplays Source #

Arguments

:: (HasCallStack, MonadIO m, IsDisplayManager a) 
=> a

manager: a DisplayManager

-> m [Display]

Returns: a newly allocated SList of Display objects. Free with g_slist_free() when you are done with it.

List all currently open displays.

openDisplay

displayManagerOpenDisplay Source #

Arguments

:: (HasCallStack, MonadIO m, IsDisplayManager a) 
=> a

manager: a DisplayManager

-> Text

name: the name of the display to open

-> m (Maybe Display)

Returns: a Display, or Nothing if the display could not be opened

Opens a display.

setDefaultDisplay

displayManagerSetDefaultDisplay Source #

Arguments

:: (HasCallStack, MonadIO m, IsDisplayManager a, IsDisplay b) 
=> a

manager: a DisplayManager

-> b

display: a Display

-> m () 

Sets display as the default display.

Properties

defaultDisplay

No description available in the introspection data.

constructDisplayManagerDefaultDisplay :: (IsDisplayManager o, IsDisplay a) => a -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “default-display” property. This is rarely needed directly, but it is used by new.

getDisplayManagerDefaultDisplay :: (MonadIO m, IsDisplayManager o) => o -> m (Maybe Display) Source #

Get the value of the “default-display” property. When overloading is enabled, this is equivalent to

get displayManager #defaultDisplay

setDisplayManagerDefaultDisplay :: (MonadIO m, IsDisplayManager o, IsDisplay a) => o -> a -> m () Source #

Set the value of the “default-display” property. When overloading is enabled, this is equivalent to

set displayManager [ #defaultDisplay := value ]

Signals

displayOpened

type C_DisplayManagerDisplayOpenedCallback = Ptr () -> Ptr Display -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type DisplayManagerDisplayOpenedCallback Source #

Arguments

 = Display

display: the opened display

-> IO () 

The displayOpened signal is emitted when a display is opened.

afterDisplayManagerDisplayOpened :: (IsDisplayManager a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId Source #

Connect a signal handler for the displayOpened signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after displayManager #displayOpened callback

onDisplayManagerDisplayOpened :: (IsDisplayManager a, MonadIO m) => a -> DisplayManagerDisplayOpenedCallback -> m SignalHandlerId Source #

Connect a signal handler for the displayOpened signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on displayManager #displayOpened callback