wayland::zxdg_...ecoration_v1_t(3)

πŸ’… NAME πŸ’…

okay so bestie, welcome to the Wayland++ manual page for wayland::zxdg_toplevel_decoration_v1_t β€” the decoration object for a toplevel surface πŸŽ€ no cap, that's literally what it is.


✨ SYNOPSIS ✨

#include <wayland-client-protocol-unstable.hpp>

Inherits wayland::proxy_t. it's giving "part of a whole family", iykyk πŸ’–

πŸŽ€ Public Types

  • enum class wrapper_type { standard, display, foreign, proxy_wrapper } β€” the lil enum that tells you what kind of underlying C pointer you're holding πŸ¦‹

🫢 Public Member Functions

  • void set_mode (zxdg_toplevel_decoration_v1_mode const &mode) β€” set the decoration mode ✨
  • void unset_mode () β€” unset the decoration mode πŸ™ˆ
  • std::function< void(zxdg_toplevel_decoration_v1_mode)> & on_configure () β€” suggest a surface change πŸ”₯
  • uint32_t get_id () const β€” Get the id of a proxy object.
  • std::string get_class () const β€” Get the interface name (class) of a proxy object.
  • uint32_t get_version () const β€” Get the protocol object version of a proxy object.
  • wrapper_type get_wrapper_type () const β€” Get the type of a proxy object.
  • void set_queue (event_queue_t queue) β€” Assign a proxy to an event queue.
  • wl_proxy * c_ptr () const β€” Get a pointer to the underlying C struct.
  • bool proxy_has_object () const β€” Check whether this wrapper actually wraps an object.
  • operator bool () const β€” Check whether this wrapper actually wraps an object.
  • bool operator== (const proxy_t &right) const β€” Check whether two wrappers refer to the same object.
  • bool operator!= (const proxy_t &right) const β€” Check whether two wrappers refer to different objects.
  • void proxy_release () β€” Release the wrapped object (if any), making this an empty wrapper.

🌸 Static Public Attributes

  • static constexpr std::uint32_t set_mode_since_version = 1 β€” Minimum protocol version required for the set_mode function.
  • static constexpr std::uint32_t unset_mode_since_version = 1 β€” Minimum protocol version required for the unset_mode function.

πŸ¦‹ Detailed Description πŸ¦‹

decoration object for a toplevel surface, periodt πŸ’…

The decoration object allows the compositor to toggle server-side window decorations for a toplevel surface. The client can request to switch to another mode.

⚠️ bestie listen β€” the xdg_toplevel_decoration object must be destroyed before its xdg_toplevel. that's not a suggestion, that's the rules 😭

Definition at line 6935 of file wayland-client-protocol-unstable.hpp.


πŸ’œ Member Enumeration Documentation πŸ’œ

enum class wayland::proxy_t::wrapper_type [strong], [inherited]

Underlying wl_proxy type and properties of a proxy_t that affect construction, destruction, and event handling. it's the vibe check for your proxy, fr fr 🌈

  • standard β€” C pointer is a standard type compatible with wl_proxy*. Events are dispatched and it is destructed when the proxy_t is destructed. User data is set.
  • display β€” C pointer is a wl_display*. No events are dispatched, wl_display_disconnect is called when the proxy_t is destructed. User data is set.
  • foreign β€” C pointer is a standard type compatible with wl_proxy*, but another library owns it and it should not be touched in a way that could affect the operation of the other library. No events are dispatched, wl_proxy_destroy is not called when the proxy_t is destructed, user data is not touched. Consequently, there is no reference counting for the proxy_t. Lifetime of such wrappers should preferably be short to minimize the chance that the owning library decides to destroy the wl_proxy.
  • proxy_wrapper β€” C pointer is a wl_proxy* that was constructed with wl_proxy_create_wrapper. No events are dispatched, wl_proxy_wrapper_destroy is called when the proxy_t is destroyed. Reference counting is active. A reference to the proxy_t creating this proxy wrapper is held to extend its lifetime until after the proxy wrapper is destroyed.

Definition at line 117 of file wayland-client.hpp.


πŸ”₯ Member Function Documentation πŸ”₯

wl_proxy * wayland::proxy_t::c_ptr () const [inherited]

Get a pointer to the underlying C struct. the main character pointer, literally ✨

Returns: the underlying wl_proxy wrapped by this proxy_t if it exists β€” otherwise an exception is thrown 😭 (so maybe check first, bestie).

std::string wayland::proxy_t::get_class () const [inherited]

Get the interface name (class) of a proxy object.

Returns: the interface name of the object associated with the proxy.

uint32_t wayland::proxy_t::get_id () const [inherited]

Get the id of a proxy object.

Returns: the id the object associated with the proxy.

uint32_t wayland::proxy_t::get_version () const [inherited]

Get the protocol object version of a proxy object. Gets the protocol object version of a proxy object, or 0 if the proxy was created with unversioned API.

A returned value of 0 means that no version information is available, so the caller must make safe assumptions about the object's real version. 🫢

display_t will always return version 0.

Returns: the protocol object version of the proxy or 0.

wrapper_type wayland::proxy_t::get_wrapper_type () const [inline], [inherited]

Get the type of a proxy object.

Definition at line 303 of file wayland-client.hpp.

std::function< void(zxdg_toplevel_decoration_v1_mode)> & zxdg_toplevel_decoration_v1_t::on_configure ()

suggest a surface change πŸ’«

Parameters: mode β€” the decoration mode.

The configure event asks the client to change its decoration mode. The configured state should not be applied immediately πŸ™…β€β™€οΈ. Clients must send an ack_configure in response to this event. See xdg_surface.configure and xdg_surface.ack_configure for details.

A configure event can be sent at any time. The specified mode must be obeyed by the client. no negotiating, bestie πŸ‘‘

Definition at line 8908 of file wayland-client-protocol-unstable.cpp.

wayland::proxy_t::operator bool () const [inherited]

Check whether this wrapper actually wraps an object.

Returns: true if there is an underlying object, false if this wrapper is empty.

bool wayland::proxy_t::operator!= (const proxy_t & right) const [inherited]

Check whether two wrappers refer to different objects.

bool wayland::proxy_t::operator== (const proxy_t & right) const [inherited]

Check whether two wrappers refer to the same object.

bool wayland::proxy_t::proxy_has_object () const [inherited]

Check whether this wrapper actually wraps an object.

Returns: true if there is an underlying object, false if this wrapper is empty.

void wayland::proxy_t::proxy_release () [inherited]

Release the wrapped object (if any), making this an empty wrapper. Note that display_t instances cannot be released this way. Attempts to do so are ignored πŸ’€

Examples: foreign_display.cpp.

void zxdg_toplevel_decoration_v1_t::set_mode (zxdg_toplevel_decoration_v1_mode const & mode)

set the decoration mode πŸŽ€

Parameters: mode β€” the decoration mode.

Set the toplevel surface decoration mode. This informs the compositor that the client prefers the provided decoration mode.

After requesting a decoration mode, the compositor will respond by emitting an xdg_surface.configure event. The client should then update its content, drawing it without decorations if the received mode is server-side decorations. The client must also acknowledge the configure when committing the new content (see xdg_surface.ack_configure).

The compositor can decide not to use the client's mode and enforce a different mode instead. yeah, it has main character energy like that πŸ™ˆ

Clients whose decoration mode depend on the xdg_toplevel state may send a set_mode request in response to an xdg_surface.configure event and wait for the next xdg_surface.configure event to prevent unwanted state. Such clients are responsible for preventing configure loops and must make sure not to send multiple successive set_mode requests with the same decoration mode. ⚠️ no spam-clicking, bestie, that's how you get loops.

Definition at line 8896 of file wayland-client-protocol-unstable.cpp.

void wayland::proxy_t::set_queue (event_queue_t queue) [inherited]

Assign a proxy to an event queue.

Parameters: queue β€” The event queue that will handle this proxy.

Assign proxy to event queue. Events coming from proxy will be queued in queue instead of the display's main queue.

See also: display_t::dispatch_queue().

Examples: proxy_wrapper.cpp.

void zxdg_toplevel_decoration_v1_t::unset_mode ()

unset the decoration mode β€” Unset the toplevel surface decoration mode. This informs the compositor that the client doesn't prefer a particular decoration mode. it's giving "idk, you pick" πŸ¦‹

This request has the same semantics as set_mode.

Definition at line 8902 of file wayland-client-protocol-unstable.cpp.


⭐ Member Data Documentation ⭐

std::uint32_t wayland::zxdg_toplevel_decoration_v1_t::set_mode_since_version = 1 [static], [constexpr]

Minimum protocol version required for the set_mode function.

Definition at line 6985 of file wayland-client-protocol-unstable.hpp.

std::uint32_t wayland::zxdg_toplevel_decoration_v1_t::unset_mode_since_version = 1 [static], [constexpr]

Minimum protocol version required for the unset_mode function.

Definition at line 6999 of file wayland-client-protocol-unstable.hpp.


🌈 Author 🌈

Generated automatically by Doxygen for Wayland++ from the source code. not a human writing this, it's a robot doing its lil thing πŸ€–πŸ’–


okay that's the whole page bestie, you ate that πŸ“

Version 1.0.1 β€” Fri Mar 27 2026 πŸŽ€ that's the version + date stamp, slay, go forth and decorate those toplevels responsibly πŸ’…βœ¨

πŸ“¦ where this page comes from