![]() |
![]() |
![]() |
![]() |
GdkDisplay objects are the GDK representation of a workstation.
Their purpose are two-fold:
To manage and provide information about input devices (pointers, keyboards, etc)
To manage and provide information about output devices (monitors, projectors, etc)
Most of the input device handling has been factored out into separate GdkSeat
objects. Every display has a one or more seats, which can be accessed with
gdk_display_get_default_seat()
and gdk_display_list_seats()
.
Output devices are represented by GdkMonitor objects, which can be accessed
with gdk_display_get_monitor()
and similar APIs.
GdkDisplay *
gdk_display_get_default (void
);
Gets the default GdkDisplay. This is a convenience
function for:
gdk_display_manager_get_default_display (
.gdk_display_manager_get()
)
const gchar *
gdk_display_get_name (GdkDisplay *display
);
Gets the name of the display.
gboolean gdk_display_device_is_grabbed (GdkDisplay *display
,GdkDevice *device
);
Returns TRUE
if there is an ongoing grab on device
for display
.
void
gdk_display_sync (GdkDisplay *display
);
Flushes any requests queued for the windowing system and waits until all
requests have been handled. This is often used for making sure that the
display is synchronized with the current state of the program. Calling
gdk_display_sync()
before gdk_error_trap_pop()
makes sure that any errors
generated from earlier requests are handled before the error trap is
removed.
This is most useful for X11. On windowing systems where requests are handled synchronously, this function will do nothing.
void
gdk_display_flush (GdkDisplay *display
);
Flushes any requests queued for the windowing system; this happens automatically when the main loop blocks waiting for new events, but if your application is drawing without returning control to the main loop, you may need to call this function explicitly. A common case where this function needs to be called is when an application is executing drawing commands from a thread other than the thread where the main loop is running.
This is most useful for X11. On windowing systems where requests are handled synchronously, this function will do nothing.
void
gdk_display_close (GdkDisplay *display
);
Closes the connection to the windowing system for the given display, and cleans up associated resources.
gboolean
gdk_display_is_closed (GdkDisplay *display
);
Finds out if the display has been closed.
GdkEvent *
gdk_display_get_event (GdkDisplay *display
);
Gets the next GdkEvent to be processed for display
, fetching events from the
windowing system if necessary.
GdkEvent *
gdk_display_peek_event (GdkDisplay *display
);
Gets a copy of the first GdkEvent in the display
’s event queue, without
removing the event from the queue. (Note that this function will
not get more events from the windowing system. It only checks the events
that have already been moved to the GDK event queue.)
void gdk_display_put_event (GdkDisplay *display
,const GdkEvent *event
);
Appends a copy of the given event onto the front of the event
queue for display
.
gboolean
gdk_display_has_pending (GdkDisplay *display
);
Returns whether the display has events that are waiting to be processed.
gboolean
gdk_display_is_rgba (GdkDisplay *display
);
Returns wether surfaces on this display
are created with an
alpha channel.
Even if a TRUE
is returned, it is possible that the
surface’s alpha channel won’t be honored when displaying the
surface on the screen: in particular, for X an appropriate
windowing manager and compositing manager must be running to
provide appropriate display. Use gdk_display_is_composited()
to check if that is the case.
For setting an overall opacity for a top-level surface, see
gdk_surface_set_opacity()
.
On modern displays, this value is always TRUE
.
gboolean
gdk_display_is_composited (GdkDisplay *display
);
Returns whether surfaces can reasonably be expected to have
their alpha channel drawn correctly on the screen. Check
gdk_display_is_rgba()
for wether the display supports an
alpha channel.
On X11 this function returns whether a compositing manager is
compositing on display
.
On modern displays, this value is always TRUE
.
GdkSurface *
gdk_display_get_default_group (GdkDisplay *display
);
Returns the default group leader surface for all toplevel surfaces
on display
. This surface is implicitly created by GDK.
See gdk_surface_set_group()
.
gboolean
gdk_display_supports_shapes (GdkDisplay *display
);
Returns TRUE
if gdk_surface_shape_combine_mask()
can
be used to create shaped windows on display
.
gboolean
gdk_display_supports_input_shapes (GdkDisplay *display
);
Returns TRUE
if gdk_surface_input_shape_combine_mask()
can
be used to modify the input shape of surfaces on display
.
GdkAppLaunchContext *
gdk_display_get_app_launch_context (GdkDisplay *display
);
Returns a GdkAppLaunchContext suitable for launching applications on the given display.
a new GdkAppLaunchContext for display
.
Free with g_object_unref()
when done.
[transfer full]
void gdk_display_notify_startup_complete (GdkDisplay *display
,const gchar *startup_id
);
Indicates to the GUI environment that the application has finished loading, using a given identifier.
GTK+ will call this function automatically for GtkWindow
with custom startup-notification identifier unless
gtk_window_set_auto_startup_notification()
is called to
disable that feature.
GdkSeat *
gdk_display_get_default_seat (GdkDisplay *display
);
Returns the default GdkSeat for this display.
GList *
gdk_display_list_seats (GdkDisplay *display
);
Returns the list of seats known to display
.
int
gdk_display_get_n_monitors (GdkDisplay *display
);
Gets the number of monitors that belong to display
.
The returned number is valid until the next emission of the “monitor-added” or “monitor-removed” signal.
GdkMonitor * gdk_display_get_monitor (GdkDisplay *display
,int monitor_num
);
Gets a monitor associated with this display.
the GdkMonitor, or NULL
if
monitor_num
is not a valid monitor number.
[nullable][transfer none]
GdkMonitor *
gdk_display_get_primary_monitor (GdkDisplay *display
);
Gets the primary monitor for the display.
The primary monitor is considered the monitor where the “main desktop” lives. While normal application surfaces typically allow the window manager to place the surfaces, specialized desktop applications such as panels should place themselves on the primary monitor.
If no monitor is the designated primary monitor, any monitor
(usually the first) may be returned. To make sure there is a dedicated
primary monitor, use gdk_monitor_is_primary()
on the returned monitor.
GdkMonitor * gdk_display_get_monitor_at_point (GdkDisplay *display
,int x
,int y
);
Gets the monitor in which the point (x
, y
) is located,
or a nearby monitor if the point is not in any monitor.
GdkMonitor * gdk_display_get_monitor_at_surface (GdkDisplay *display
,GdkSurface *surface
);
Gets the monitor in which the largest area of surface
resides, or a monitor close to surface
if it is outside
of all monitors.
GdkClipboard *
gdk_display_get_clipboard (GdkDisplay *display
);
Gets the clipboard used for copy/paste operations.
GdkClipboard *
gdk_display_get_primary_clipboard (GdkDisplay *display
);
Gets the clipboard used for the primary selection. On backends where the primary clipboard is not supported natively, GDK emulates this clipboard locally.
gboolean gdk_display_get_setting (GdkDisplay *display
,const char *name
,GValue *value
);
Retrieves a desktop-wide setting such as double-click time
for the display
.
GdkKeymap *
gdk_display_get_keymap (GdkDisplay *display
);
Returns the GdkKeymap attached to display
.
“composited”
property“composited” gboolean
TRUE
if the display properly composits the alpha channel.
See gdk_display_is_composited()
for details.
Owner: GdkDisplay
Flags: Read
Default value: TRUE
“rgba”
property“rgba” gboolean
TRUE
if the display supports an alpha channel. See gdk_display_is_rgba()
for details.
Owner: GdkDisplay
Flags: Read
Default value: TRUE
“closed”
signalvoid user_function (GdkDisplay *display, gboolean is_error, gpointer user_data)
The ::closed signal is emitted when the connection to the windowing
system for display
is closed.
display |
the object on which the signal is emitted |
|
is_error |
|
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“monitor-added”
signalvoid user_function (GdkDisplay *display, GdkMonitor *monitor, gpointer user_data)
The ::monitor-added signal is emitted whenever a monitor is added.
display |
the objedct on which the signal is emitted |
|
monitor |
the monitor that was just added |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“monitor-removed”
signalvoid user_function (GdkDisplay *display, GdkMonitor *monitor, gpointer user_data)
The ::monitor-removed signal is emitted whenever a monitor is removed.
display |
the object on which the signal is emitted |
|
monitor |
the monitor that was just removed |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“opened”
signalvoid user_function (GdkDisplay *display, gpointer user_data)
The ::opened signal is emitted when the connection to the windowing
system for display
is opened.
display |
the object on which the signal is emitted |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“seat-added”
signalvoid user_function (GdkDisplay *display, GdkSeat *seat, gpointer user_data)
The ::seat-added signal is emitted whenever a new seat is made known to the windowing system.
display |
the object on which the signal is emitted |
|
seat |
the seat that was just added |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“seat-removed”
signalvoid user_function (GdkDisplay *display, GdkSeat *seat, gpointer user_data)
The ::seat-removed signal is emitted whenever a seat is removed by the windowing system.
display |
the object on which the signal is emitted |
|
seat |
the seat that was just removed |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
“setting-changed”
signalvoid user_function (GdkDisplay *display, gchar *setting, gpointer user_data)
The ::setting-changed signal is emitted whenever a setting changes its value.
display |
the object on which the signal is emitted |
|
setting |
the name of the setting that changed |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last