Gets the clipboard used for the primary selection.
On backends where the primary clipboard is not supported natively, GDK emulates this clipboard locally.
Gdk::Display
objects are the GDK representation of a workstation.
Their purpose are two-fold:
Most of the input device handling has been factored out into separate
Gdk::Seat
objects. Every display has a one or more seats, which
can be accessed with Gdk::Display#default_seat
and
Gdk::Display#list_seats
.
Output devices are represented by Gdk::Monitor
objects, which can
be accessed with Gdk::Display#monitor_at_surface
and similar APIs.
Initialize a new Display
.
Gets the default Gdk::Display
.
Returns the type id (GType) registered in GLib type system.
Opens a display.
Returns a Gdk::AppLaunchContext
suitable for launching applications on the given display.
Emits a short beep on @display
Gets the clipboard used for copy/paste operations.
Closes the connection to the windowing system for the given display.
Creates a new Gdk::GLContext
for the Gdk::Display
.
Returns the default Gdk::Seat
for this display.
Returns true
if there is an ongoing grab on @device for @display.
Flushes any requests queued for the windowing system.
Finds out if the display has been closed.
Returns whether surfaces can reasonably be expected to have their alpha channel drawn correctly on the screen.
Returns whether surfaces on this @display are created with an alpha channel.
Returns the list of seats known to @display.
Returns the keyvals bound to @keycode.
Obtains a list of keycode/group/level combinations that will generate @keyval.
Gets the monitor in which the largest area of @surface resides.
Gets the list of monitors associated with this display.
Gets the name of the display.
Indicates to the GUI environment that the application has finished loading, using a given identifier.
Checks that OpenGL is available for @self and ensures that it is properly initialized.
Gets the clipboard used for the primary selection.
Appends the given event onto the front of the event queue for @display.
Retrieves a desktop-wide setting such as double-click time for the @display.
Gets the startup notification ID for a Wayland display, or nil
if no ID has been defined.
Returns true
if the display supports input shapes.
Flushes any requests queued for the windowing system and waits until all requests have been handled.
Translates the contents of a Gdk::EventKey
into a keyval, effective group, and level.
GObject::Object
GObject::Object
GObject::Object
Gets the default Gdk::Display
.
This is a convenience function for:
gdk_display_manager_get_default_display (gdk_display_manager_get ())
Opens a display.
If opening the display fails, NULL
is returned.
Returns a Gdk::AppLaunchContext
suitable for launching
applications on the given display.
Closes the connection to the windowing system for the given display.
This cleans up associated resources.
Creates a new Gdk::GLContext
for the Gdk::Display
.
The context is disconnected from any particular surface or surface and cannot be used to draw to any surface. It can only be used to draw to non-surface framebuffers like textures.
If the creation of the Gdk::GLContext
failed, @error will be set.
Before using the returned Gdk::GLContext
, you will need to
call Gdk::GLContext#make_current
or Gdk::GLContext#realize
.
Returns the default Gdk::Seat
for this display.
Note that a display may not have a seat. In this case,
this function will return nil
.
Returns true
if there is an ongoing grab on @device for @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.
Returns whether surfaces can reasonably be expected to have their alpha channel drawn correctly on the screen.
Check Gdk::Display#is_rgba?
for whether 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
.
Returns whether 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.
On modern displays, this value is always true
.
Returns the keyvals bound to @keycode.
The Nth Gdk::KeymapKey
in @keys is bound to the Nth keyval in @keyvals.
When a keycode is pressed by the user, the keyval from this list of entries is selected by considering the effective keyboard group and level.
Free the returned arrays with g_free().
Obtains a list of keycode/group/level combinations that will generate @keyval.
Groups and levels are two kinds of keyboard mode; in general, the level determines whether the top or bottom symbol on a key is used, and the group determines whether the left or right symbol is used.
On US keyboards, the shift key changes the keyboard level, and there are no groups. A group switch key might convert a keyboard between Hebrew to English modes, for example.
Gdk::EventKey
contains a %group field that indicates the active
keyboard group. The level is computed from the modifier mask.
The returned array should be freed with g_free().
Gets the monitor in which the largest area of @surface resides.
Returns a monitor close to @surface if it is outside of all monitors.
Gets the list of monitors associated with this display.
Subsequent calls to this function will always return the same list for the same display.
You can listen to the GListModel::items-changed signal on this list to monitor changes to the monitor of this display.
Indicates to the GUI environment that the application has finished loading, using a given identifier.
GTK will call this function automatically for Gtk::Window
with custom startup-notification identifier unless
Gtk::Window#auto_startup_notification=
is called to disable that feature.
Checks that OpenGL is available for @self and ensures that it is
properly initialized.
When this fails, an @error will be set describing the error and this
function returns false
.
Note that even if this function succeeds, creating a Gdk::GLContext
may still fail.
This function is idempotent. Calling it multiple times will just return the same value or error.
You never need to call this function, GDK will call it automatically as needed. But you can use it as a check when setting up code that might make use of OpenGL.
Gets the clipboard used for the primary selection.
On backends where the primary clipboard is not supported natively, GDK emulates this clipboard locally.
Appends the given event onto the front of the event queue for @display.
This function is only useful in very special situations and should not be used by applications.
Retrieves a desktop-wide setting such as double-click time for the @display.
Gets the startup notification ID for a Wayland display, or nil
if no ID has been defined.
Returns true
if the display supports input shapes.
This means that Gdk::Surface#input_region=
can
be used to modify the input shape of surfaces on @display.
On modern displays, this value is always true
.
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 [method@Gdk::X11.Display.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.
Translates the contents of a Gdk::EventKey
into a keyval, effective group,
and level.
Modifiers that affected the translation and are thus unavailable for application use are returned in @consumed_modifiers.
The @effective_group is the group that was actually used for the translation; some keys such as Enter are not affected by the active keyboard group. The @level is derived from @state.
@consumed_modifiers gives modifiers that should be masked out
from @state when comparing this key press to a keyboard shortcut.
For instance, on a US keyboard, the plus
symbol is shifted, so
when comparing a key press to a <Control>plus
accelerator <Shift>
should be masked out.
This function should rarely be needed, since Gdk::EventKey
already
contains the translated keyval. It is exported for the benefit of
virtualized test environments.