Top |
Description
The purpose of the GdkDisplayManager singleton object is to offer notification when displays appear or disappear or the default display changes.
You can use gdk_display_manager_get()
to obtain the GdkDisplayManager
singleton, but that should be rarely necessary. Typically, initializing
GTK opens a display that you can work with without ever accessing the
GdkDisplayManager.
The GDK library can be built with support for multiple backends. The GdkDisplayManager 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 code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#ifdef GDK_WINDOWING_X11 if (GDK_IS_X11_DISPLAY (display)) { // make X11-specific calls here } else #endif #ifdef GDK_WINDOWING_MACOS if (GDK_IS_MACOS_DISPLAY (display)) { // make Quartz-specific calls here } else #endif g_error ("Unsupported GDK backend"); |
Functions
gdk_display_manager_get ()
GdkDisplayManager *
gdk_display_manager_get (void
);
Gets the singleton GdkDisplayManager 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 gdk_set_allowed_backends()
to limit what backends can be used.
gdk_display_manager_get_default_display ()
GdkDisplay *
gdk_display_manager_get_default_display
(GdkDisplayManager *manager
);
Gets the default GdkDisplay.
gdk_display_manager_set_default_display ()
void gdk_display_manager_set_default_display (GdkDisplayManager *manager
,GdkDisplay *display
);
Sets display
as the default display.
gdk_display_manager_list_displays ()
GSList *
gdk_display_manager_list_displays (GdkDisplayManager *manager
);
List all currently open displays.
Returns
a newly
allocated GSList of GdkDisplay objects. Free with g_slist_free()
when you are done with it.
[transfer container][element-type GdkDisplay]
gdk_display_manager_open_display ()
GdkDisplay * gdk_display_manager_open_display (GdkDisplayManager *manager
,const char *name
);
Opens a display.
gdk_set_allowed_backends ()
void
gdk_set_allowed_backends (const char *backends
);
Sets a list of backends that GDK should try to use.
This can be useful if your application does not work with certain GDK backends.
By default, GDK tries all included backends.
For example,
1 |
gdk_set_allowed_backends ("wayland,quartz,*"); |
instructs GDK to try the Wayland backend first, followed by the Quartz backend, and then all others.
If the GDK_BACKEND
environment variable
is set, it determines what backends are tried in what
order, while still respecting the set of allowed backends
that are specified by this function.
The possible backend names are x11, win32, quartz, broadway, wayland. You can also include a * in the list to try all remaining backends.
This call must happen prior to gdk_display_open()
,
gtk_init()
, or gtk_init_check()
in order to take effect.
Property Details
The “default-display”
property
“default-display” GdkDisplay *
The default display for GDK.
Owner: GdkDisplayManager
Flags: Read / Write
Signal Details
The “display-opened”
signal
void user_function (GdkDisplayManager *manager, GdkDisplay *display, gpointer user_data)
The ::display-opened signal is emitted when a display is opened.
Parameters
manager |
the object on which the signal is emitted |
|
display |
the opened display |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last