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 theset_modefunction.static constexpr std::uint32_t unset_mode_since_version = 1β Minimum protocol version required for theunset_modefunction.
π¦ 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 β thexdg_toplevel_decorationobject must be destroyed before itsxdg_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 withwl_proxy*. Events are dispatched and it is destructed when theproxy_tis destructed. User data is set.displayβ C pointer is awl_display*. No events are dispatched,wl_display_disconnectis called when theproxy_tis destructed. User data is set.foreignβ C pointer is a standard type compatible withwl_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_destroyis not called when theproxy_tis destructed, user data is not touched. Consequently, there is no reference counting for theproxy_t. Lifetime of such wrappers should preferably be short to minimize the chance that the owning library decides to destroy thewl_proxy.proxy_wrapperβ C pointer is awl_proxy*that was constructed withwl_proxy_create_wrapper. No events are dispatched,wl_proxy_wrapper_destroyis called when theproxy_tis destroyed. Reference counting is active. A reference to theproxy_tcreating 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
- ubuntu stonking: waylandpp-dev 1.0.1-2 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms