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 >, andwayland::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
trueif the global has the same interface as the resource class.falsemeans 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
- 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