pub trait DisplayExt: 'static {
Show 31 methods fn beep(&self); fn close(&self); fn create_gl_context(&self) -> Result<GLContext, Error>; fn device_is_grabbed(&self, device: &impl IsA<Device>) -> bool; fn flush(&self); fn app_launch_context(&self) -> AppLaunchContext; fn clipboard(&self) -> Clipboard; fn default_seat(&self) -> Option<Seat>; fn monitor_at_surface(&self, surface: &impl IsA<Surface>) -> Monitor; fn monitors(&self) -> ListModel; fn name(&self) -> GString; fn primary_clipboard(&self) -> Clipboard; fn startup_notification_id(&self) -> Option<GString>; fn is_closed(&self) -> bool; fn is_composited(&self) -> bool; fn is_rgba(&self) -> bool; fn list_seats(&self) -> Vec<Seat>; fn notify_startup_complete(&self, startup_id: &str); fn prepare_gl(&self) -> Result<(), Error>; fn put_event(&self, event: impl AsRef<Event>); fn supports_input_shapes(&self) -> bool; fn sync(&self); fn is_input_shapes(&self) -> bool; fn connect_closed<F: Fn(&Self, bool) + 'static>(
        f: F
    ) -> SignalHandlerId; fn connect_opened<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; fn connect_seat_added<F: Fn(&Self, &Seat) + 'static>(
        f: F
    ) -> SignalHandlerId; fn connect_seat_removed<F: Fn(&Self, &Seat) + 'static>(
        f: F
    ) -> SignalHandlerId; fn connect_setting_changed<F: Fn(&Self, &str) + 'static>(
        f: F
    ) -> SignalHandlerId; fn connect_composited_notify<F: Fn(&Self) + 'static>(
        f: F
    ) -> SignalHandlerId; fn connect_input_shapes_notify<F: Fn(&Self) + 'static>(
        f: F
    ) -> SignalHandlerId; fn connect_rgba_notify<F: Fn(&Self) + 'static>(
        f: F
    ) -> SignalHandlerId;
Expand description

Trait containing all Display methods.



Required Methods

Emits a short beep on @self

Closes the connection to the windowing system for the given display.

This cleans up associated resources.

Available on crate feature v4_6 only.

Creates a new GLContext for the 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 GLContext failed, @error will be set. Before using the returned GLContext, you will need to call GLContextExt::make_current() or GLContextExt::realize().


the newly created GLContext

Returns true if there is an ongoing grab on @device for @self.


a Device


true if there is a grab in effect for @device.

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 a AppLaunchContext suitable for launching applications on the given display.


a new AppLaunchContext for @self

Gets the clipboard used for copy/paste operations.


the display’s clipboard

Returns the default Seat for this display.

Note that a display may not have a seat. In this case, this function will return None.


the default seat.

Gets the monitor in which the largest area of @surface resides.

Returns a monitor close to @surface if it is outside of all monitors.


a Surface


the monitor with the largest overlap with @surface

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.


a GListModel of Monitor

Gets the name of the display.


a string representing the display name. This string is owned by GDK and should not be modified or freed.

Gets the clipboard used for the primary selection.

On backends where the primary clipboard is not supported natively, GDK emulates this clipboard locally.


the primary clipboard

Gets the startup notification ID for a Wayland display, or None if no ID has been defined.


the startup notification ID for @self

Finds out if the display has been closed.


true if the display is closed.

Returns whether surfaces can reasonably be expected to have their alpha channel drawn correctly on the screen.

Check is_rgba() for whether the display supports an alpha channel.

On X11 this function returns whether a compositing manager is compositing on @self.

On modern displays, this value is always true.


Whether surfaces with RGBA visuals can reasonably be expected to have their alpha channels drawn correctly on the screen.

Returns whether surfaces on this @self 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 is_composited() to check if that is the case.

On modern displays, this value is always true.


true if surfaces are created with an alpha channel or false if the display does not support this functionality.

Returns the list of seats known to @self.


the list of seats known to the 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::set_auto_startup_notification() is called to disable that feature.


a startup-notification identifier, for which notification process should be completed

Available on crate feature v4_4 only.

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 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.


true if the display supports OpenGL

Appends the given event onto the front of the event queue for @self.

This function is only useful in very special situations and should not be used by applications.


a Event