wayland::zwp_k...t_manager_v1_t(3)

πŸ’… wayland::zwp_keyboard_shortcuts_inhibit_manager_v1_t β€” no cap, the whole page

okay bestie, welcome to the Wayland++ manual page for wayland::zwp_keyboard_shortcuts_inhibit_manager_v1_t. Yes that name is a mouthful, yes we're gonna say it, and yes it's lowkey iconic. This is wayland::zwp_k...t_manager_v1_t(3) in the Wayland++ section, and I'm obsessed that you're here. πŸ’–


✨ NAME ✨

wayland::zwp_keyboard_shortcuts_inhibit_manager_v1_t β€” a context object for the keyboard grab_manager. That's literally the whole vibe: it's the manager-y object that handles the keyboard shortcut inhibiting situation. πŸŽ€


🌸 SYNOPSIS 🌸

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

It inherits from wayland::proxy_t, so it gets all the proxy bestie behaviour for free. πŸ’…

πŸ¦‹ Public Types πŸ¦‹

  • enum class wrapper_type { standard, display, foreign, proxy_wrapper } β€” the enum that tells you what kind of underlying wl_proxy you're dealing with, and how construction, destruction and event handling should go. (Details down in the enum section, don't worry 🫢)

🌈 Public Member Functions 🌈

  • zwp_keyboard_shortcuts_inhibitor_v1_t inhibit_shortcuts(surface_t const &surface, seat_t const &seat) β€” create a fresh new keyboard shortcuts inhibitor object, slay.
  • 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 β€” also check whether this wrapper actually wraps an object (yes, twice, it's giving 🫢).
  • 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 inhibit_shortcuts_since_version = 1 β€” the minimum protocol version required for the inhibit_shortcuts function. So if your composer/compositor isn't at version 1... bestie. 😭

πŸŽ€ Detailed Description πŸŽ€

Context object for keyboard grab_manager. Periodt.

It's a global interface used for inhibiting the compositor keyboard shortcuts. Definition at line 1308 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. Here are the enums, and every single one matters:

  • standard β€” C pointer is a standard type compatible with wl_proxy*. Events are dispatched and it is destructed when the proxy_t is destructed. User data is set.
  • display β€” C pointer is a wl_display*. No events are dispatched, wl_display_disconnect is called when the proxy_t is destructed. User data is set.
  • foreign β€” C pointer is a standard type compatible with wl_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_destroy is not called when the proxy_t is destructed, user data is not touched. Consequently, there is no reference counting for the proxy_t. Lifetime of such wrappers should preferably be short to minimize the chance that the owning library decides to destroy the wl_proxy. πŸ™ˆ
  • proxy_wrapper β€” C pointer is a wl_proxy* that was constructed with wl_proxy_create_wrapper. No events are dispatched, wl_proxy_wrapper_destroy is called when the proxy_t is destroyed. Reference counting is active. A reference to the proxy_t creating 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.

Returns β€” the underlying wl_proxy wrapped by this proxy_t if it exists, otherwise an exception is thrown. So like... handle that, 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. No vibes-based guessing, fr fr.

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.

zwp_keyboard_shortcuts_inhibitor_v1_t zwp_keyboard_shortcuts_inhibit_manager_v1_t::inhibit_shortcuts(surface_t const &surface, seat_t const &seat)

Create a new keyboard shortcuts inhibitor object. This is the main character function of the whole page, ngl. πŸ‘‘

Parameters

  • surface β€” the surface that inhibits the keyboard shortcuts behavior
  • seat β€” the wl_seat for which keyboard shortcuts should be disabled

Create a new keyboard shortcuts inhibitor object associated with the given surface for the given seat.

⚠️ Heads up babes: if shortcuts are already inhibited for the specified seat and surface, a protocol error "already_inhibited" is raised by the compositor. So like, don't double-inhibit. πŸ’€

Definition at line 5077 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. Literally ignored. Rude but valid.

Examples β€” foreign_display.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.


πŸ“ Member Data Documentation πŸ“

std::uint32_t wayland::zwp_keyboard_shortcuts_inhibit_manager_v1_t::inhibit_shortcuts_since_version = 1 [static], [constexpr]

Minimum protocol version required for the inhibit_shortcuts function. It's 1, bestie. Version 1 or bust. ✨

Definition at line 1345 of file wayland-client-protocol-unstable.hpp.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for Wayland++ from the source code. Like, it wrote itself, and honestly? Ate. πŸ’…


🌈 And that's the whole thing! This icon of a page is Version 1.0.1, dated Fri Mar 27 2026, brought to you by Wayland++ and generated by Doxygen. Go inhibit some shortcuts responsibly, mwah! πŸ’–πŸŽ€πŸ¦‹πŸŒΈπŸ«Ά
πŸ“¦ where this page comes from