wayland::server::shell_t(3)

πŸ’… NAME πŸ’…

wayland::server::shell_t β€” okay bestie, this one's the create desktop-style surfaces thing ✨ (yes, the manpage you're reading is wayland::server::shell_t(3), and yes it's a whole vibe, buckle up πŸŽ€)


🌸 SYNOPSIS 🌸

Pull it in like this, no cap:

#include <wayland-server-protocol.hpp>

🫢 Public Member Functions 🫢

Here's the whole squad, literally each one, no gatekeeping πŸ’–

  • std::function< void(shell_surface_t, surface_t)> & on_get_shell_surface () β€” create a shell surface from a surface
  • void post_role (std::string const &msg) β€” Post error: given wl_surface has another role.
  • 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 ✨

create desktop-style surfaces πŸ”₯

So this interface? It's implemented by servers that provide desktop-style user interfaces. Periodt.

It allows clients to associate a wl_shell_surface with a basic surface. Cute, right? 🌸

⚠️ Note! This protocol is deprecated and not intended for production use 😭 For desktop-style user interfaces, use xdg_shell. Compositors and clients should not implement this interface. Like, don't do it, bestie. Not the move. πŸ’€

Definition at line 1669 of file wayland-server-protocol.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. That's it, that's the whole thing πŸ’…

πŸ¦‹ 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(shell_surface_t, surface_t)> & shell_t::on_get_shell_surface () 🌈

create a shell surface from a surface ✨ main character behavior fr fr

Parameters

  • id β€” shell surface to create
  • surface β€” surface to be given the shell surface role

Create a shell surface for an existing surface. This gives the wl_surface the role of a shell surface. If the wl_surface already has another role, it raises a protocol error 🚨 (yeah, it will absolutely call you out)

Only one shell surface can be associated with a given surface. One. Singular. Don't be greedy πŸ’€

Definition at line 2220 of file wayland-server-protocol.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 certain request of the client, this function can be called to notify the client of this circumstance. Like a lil heads-up: bestie, we're out of RAM 😭

🧚 void shell_t::post_role (std::string const & msg) 🧚

Post error: given wl_surface has another role.

Definition at line 2226 of file wayland-server-protocol.cpp.

πŸ’œ 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. Vibe check for your wrapper, basically 🌈


πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for Wayland++ from the source code. (not a human, just a robot doing its lil thing πŸ€–πŸ’–)


Okay that's the whole page! ✨ Signing off with the deets: Version 1.0.1, dated Fri Mar 27 2026 13:15:00 🫢 Go forth and please use xdg_shell instead, ily, bye! πŸ’…πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from