wayland::server::global_base_t(3)

πŸ’… wayland::server::global_base_t β€” a Wayland++ moment

okay so bestie, welcome to wayland-server.hpp's global object base class, brought to you by the Wayland++ library (yes, that's the manual name, we're fancy now πŸ‘‘). This is the blueprint every single server-side global in the whole library inherits from. It's giving "mom of 100+ children" energy and honestly? iconic.


✨ NAME ✨

wayland::server::global_base_t β€” the base class for every global object on the server side, straight out of Wayland++. πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

#include <wayland-server.hpp>

🌸 Public Member Functions 🌸

  • template<typename resource> bool has_interface () β€” check whether this global is packing a specific interface, no cap.

πŸ’– Inherited by πŸ’–

okay so this base class has a lot of children, and I mean a LOT. Every one of these is a wayland::server::global_t< … > and every single one of them says "that's my mom" about global_base_t. Sit down, this is a long list but we're getting through it together 🫢

  • presentation & viewport crew: wayland::server::global_t< presentation_t >, wayland::server::global_t< presentation_feedback_t >, wayland::server::global_t< viewporter_t >, wayland::server::global_t< viewport_t >
  • the xdg_* besties: wayland::server::global_t< xdg_wm_base_t >, wayland::server::global_t< xdg_positioner_t >, wayland::server::global_t< xdg_surface_t >, wayland::server::global_t< xdg_toplevel_t >, wayland::server::global_t< xdg_popup_t >
  • fullscreen shell + idle inhibit: wayland::server::global_t< zwp_fullscreen_shell_v1_t >, wayland::server::global_t< zwp_fullscreen_shell_mode_feedback_v1_t >, wayland::server::global_t< zwp_idle_inhibit_manager_v1_t >, wayland::server::global_t< zwp_idle_inhibitor_v1_t >
  • input method / input panel / timestamps: wayland::server::global_t< zwp_input_method_context_v1_t >, wayland::server::global_t< zwp_input_method_v1_t >, wayland::server::global_t< zwp_input_panel_v1_t >, wayland::server::global_t< zwp_input_panel_surface_v1_t >, wayland::server::global_t< zwp_input_timestamps_manager_v1_t >, wayland::server::global_t< zwp_input_timestamps_v1_t >
  • keyboard shortcuts inhibit: wayland::server::global_t< zwp_keyboard_shortcuts_inhibit_manager_v1_t >, wayland::server::global_t< zwp_keyboard_shortcuts_inhibitor_v1_t >
  • linux dmabuf + explicit sync: wayland::server::global_t< zwp_linux_dmabuf_v1_t >, wayland::server::global_t< zwp_linux_buffer_params_v1_t >, wayland::server::global_t< zwp_linux_dmabuf_feedback_v1_t >, wayland::server::global_t< zwp_linux_explicit_synchronization_v1_t >, wayland::server::global_t< zwp_linux_surface_synchronization_v1_t >, wayland::server::global_t< zwp_linux_buffer_release_v1_t >
  • pointer constraints + gestures: wayland::server::global_t< zwp_pointer_constraints_v1_t >, wayland::server::global_t< zwp_locked_pointer_v1_t >, wayland::server::global_t< zwp_confined_pointer_v1_t >, wayland::server::global_t< zwp_pointer_gestures_v1_t >, wayland::server::global_t< zwp_pointer_gesture_swipe_v1_t >, wayland::server::global_t< zwp_pointer_gesture_pinch_v1_t >, wayland::server::global_t< zwp_pointer_gesture_hold_v1_t >
  • primary selection: wayland::server::global_t< zwp_primary_selection_device_manager_v1_t >, wayland::server::global_t< zwp_primary_selection_device_v1_t >, wayland::server::global_t< zwp_primary_selection_offer_v1_t >, wayland::server::global_t< zwp_primary_selection_source_v1_t >
  • relative pointer: wayland::server::global_t< zwp_relative_pointer_manager_v1_t >, wayland::server::global_t< zwp_relative_pointer_v1_t >
  • tablet v1 squad: wayland::server::global_t< zwp_tablet_manager_v1_t >, wayland::server::global_t< zwp_tablet_seat_v1_t >, wayland::server::global_t< zwp_tablet_tool_v1_t >, wayland::server::global_t< zwp_tablet_v1_t >
  • tablet v2 squad (the glow-up): wayland::server::global_t< zwp_tablet_manager_v2_t >, wayland::server::global_t< zwp_tablet_seat_v2_t >, wayland::server::global_t< zwp_tablet_tool_v2_t >, wayland::server::global_t< zwp_tablet_v2_t >, wayland::server::global_t< zwp_tablet_pad_ring_v2_t >, wayland::server::global_t< zwp_tablet_pad_strip_v2_t >, wayland::server::global_t< zwp_tablet_pad_group_v2_t >, wayland::server::global_t< zwp_tablet_pad_v2_t >
  • text input: wayland::server::global_t< zwp_text_input_v1_t >, wayland::server::global_t< zwp_text_input_manager_v1_t >, wayland::server::global_t< zwp_text_input_v3_t >, wayland::server::global_t< zwp_text_input_manager_v3_t >
  • xdg activation: wayland::server::global_t< xdg_activation_v1_t >, wayland::server::global_t< xdg_activation_token_v1_t >
  • decoration: wayland::server::global_t< zxdg_decoration_manager_v1_t >, wayland::server::global_t< zxdg_toplevel_decoration_v1_t >
  • exporter / importer v1: wayland::server::global_t< zxdg_exporter_v1_t >, wayland::server::global_t< zxdg_importer_v1_t >, wayland::server::global_t< zxdg_exported_v1_t >, wayland::server::global_t< zxdg_imported_v1_t >
  • exporter / importer v2: wayland::server::global_t< zxdg_exporter_v2_t >, wayland::server::global_t< zxdg_importer_v2_t >, wayland::server::global_t< zxdg_exported_v2_t >, wayland::server::global_t< zxdg_imported_v2_t >
  • zxdg output: wayland::server::global_t< zxdg_output_manager_v1_t >, wayland::server::global_t< zxdg_output_v1_t >
  • zxdg shell v6 era: wayland::server::global_t< zxdg_shell_v6_t >, wayland::server::global_t< zxdg_positioner_v6_t >, wayland::server::global_t< zxdg_surface_v6_t >, wayland::server::global_t< zxdg_toplevel_v6_t >, wayland::server::global_t< zxdg_popup_v6_t >
  • xwayland keyboard grab: wayland::server::global_t< zwp_xwayland_keyboard_grab_manager_v1_t >, wayland::server::global_t< zwp_xwayland_keyboard_grab_v1_t >
  • the core protocol OGs: wayland::server::global_t< registry_t >, wayland::server::global_t< callback_t >, wayland::server::global_t< compositor_t >, wayland::server::global_t< shm_pool_t >, wayland::server::global_t< shm_t >, wayland::server::global_t< buffer_t >, wayland::server::global_t< data_offer_t >, wayland::server::global_t< data_source_t >, wayland::server::global_t< data_device_t >, wayland::server::global_t< data_device_manager_t >, wayland::server::global_t< shell_t >, wayland::server::global_t< shell_surface_t >, wayland::server::global_t< surface_t >, wayland::server::global_t< seat_t >, wayland::server::global_t< pointer_t >, wayland::server::global_t< keyboard_t >, wayland::server::global_t< touch_t >, wayland::server::global_t< output_t >, wayland::server::global_t< region_t >, wayland::server::global_t< subcompositor_t >, wayland::server::global_t< subsurface_t >, and wayland::server::global_t< resource >.

and that's the whole family reunion 😭 literally everybody showed up.


πŸ’œ Detailed Description πŸ’œ

Global object base class. that's it, that's the description β€” she's short, she's mysterious, she's the foundation everything else is built on πŸŽ€

For the record: defined at line 580 of file wayland-server.hpp.

πŸ”₯ Member Function Documentation πŸ”₯

⭐ template<typename resource> bool wayland::server::global_base_t::has_interface () [inline]

Check for specific interface. you hand it a resource class and it's like "do I know her? πŸ‘€" β€” vibe check for globals, basically.

Template Parameters

  • resource β€” the resource class you're comparing against πŸ’…

Returns

  • true if the global has the same interface as the resource class. false means not today bestie πŸ™ˆ
Heads up: this one lives at line 614 of file wayland-server.hpp.

🧚 Author 🧚

Generated automatically by Doxygen for Wayland++ from the source code. yes, a robot wrote this, and she ate πŸ”₯


and that's the page!! no cap, every flag, every class, every line number made it πŸ’–

Version 1.0.1 Β· Fri Mar 27 2026 β€” mwah, go build something iconic with it πŸ¦‹βœ¨πŸ’…
πŸ“¦ where this page comes from