wayland::serv..._exporter_v2_t(3)

πŸ’… NAME

okay so bestie, this page is all about wayland::server::zxdg_exporter_v2_t β€” literally the interface for exporting surfaces ✨ (yes, that's the whole name, no cap). it lives in the Wayland++ manual, section 3, and the title got truncated to wayland::serv..._exporter_v2_t(3) because man pages are dramatic like that πŸŽ€


✨ SYNOPSIS ✨

first things first, you gotta pull it in:

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

🌸 Public Member Functions 🌸

here's the whole roster, bestie β€” every single one, i'm not skipping anybody πŸ’–

  • std::function< void()> & on_destroy () β€” destroy the xdg_exporter object
  • std::function< void(zxdg_exported_v2_t, surface_t)> & on_export_toplevel () β€” export a toplevel surface
  • void post_invalid_surface (std::string const &msg) β€” Post error: surface is not an xdg_toplevel.
  • bool proxy_has_object () const β€” Check whether this wrapper actually wraps an object.
  • void post_no_memory () const
  • uint32_t get_id () const
  • client_t get_client () const
  • unsigned int get_version () const
  • std::string get_class ()

πŸ¦‹ Detailed Description πŸ¦‹

interface for exporting surfaces 😭🫢

okay so picture this: it's a global interface used for exporting surfaces that can later be imported using xdg_importer. that's the whole vibe. it's giving "hand off a surface so somebody else can pick it up later" energy, and honestly? iconic πŸ‘‘

oh and for the record-keeping girlies: Definition at line 8208 of file wayland-server-protocol-unstable.hpp. πŸ“


πŸ”₯ Member Function Documentation πŸ”₯

πŸ’œ std::string wayland::server::resource_t::get_class () [inherited]

Retrieve the interface name (class) of a resource object.

Returns β€” Interface name of the resource object. 🏷️

πŸ’œ client_t wayland::server::resource_t::get_client () const [inherited]

Get the associated client

Returns β€” the client that owns the resource. 🫢

πŸ’œ uint32_t wayland::server::resource_t::get_id () const [inherited]

Get the internal ID of the resource

Returns β€” the internal ID of the resource πŸ”’

πŸ’œ unsigned int wayland::server::resource_t::get_version () const [inherited]

Get interface version

Returns β€” Interface version this resource has been constructed with. ⭐

πŸ’œ std::function< void()> & zxdg_exporter_v2_t::on_destroy ()

destroy the xdg_exporter object β€” Notify the compositor that the xdg_exporter object will no longer be used. bye bestie πŸ‘‹πŸ’€

Definition at line 7870 of file wayland-server-protocol-unstable.cpp.

πŸ’œ std::function< void(zxdg_exported_v2_t, surface_t)> & zxdg_exporter_v2_t::on_export_toplevel ()

export a toplevel surface ✨

Parameters

  • id β€” the new xdg_exported object
  • surface β€” the surface to export

The export_toplevel request exports the passed surface so that it can later be imported via xdg_importer. When called, a new xdg_exported object will be created and xdg_exported.handle will be sent immediately. See the corresponding interface and event for details. πŸ‘€

A surface may be exported multiple times, and each exported handle may be used to create an xdg_imported multiple times. Only xdg_toplevel equivalent surfaces may be exported, otherwise an invalid_surface protocol error is sent.

⚠️ fr fr read that last bit again β€” only xdg_toplevel-equivalent surfaces are allowed through. anything else gets an invalid_surface protocol error, no exceptions, no vibes-based exceptions, nothing πŸ™ˆ

Definition at line 7876 of file wayland-server-protocol-unstable.cpp.

πŸ’œ void zxdg_exporter_v2_t::post_invalid_surface (std::string const & msg)

Post error: surface is not an xdg_toplevel. 😭 the surface failed the vibe check

Definition at line 7882 of file wayland-server-protocol-unstable.cpp.

πŸ’œ void wayland::server::resource_t::post_no_memory () const [inherited]

Post "not enough memory" error to the client

If the compositor has not enough memory to fulfill a certail request of the client, this function can be called to notify the client of this circumstance. 🫠 (and yes, "certail" is exactly how it's spelled in the original β€” i'm not touching that, it's canon now πŸŽ€)

πŸ’œ bool wayland::server::resource_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 πŸ”


πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for Wayland++ from the source code. the robots did this one, i just gave it a glow-up πŸ’…βœ¨


and that's a wrap, bestie!! 🌈 this page dropped as Version 1.0.1, dated Fri Mar 27 2026 β€” go forth and export those surfaces responsibly, mwah πŸ“πŸ’–

πŸ“¦ where this page comes from