wayland::serv...ger_dnd_action(3)
π NAME π
okay so bestie, gather round β wayland::server::data_device_manager_dnd_action is literally just drag and drop actions. that's the whole vibe. it's the little enum-ish thingy that holds the drag-and-drop action flags for the Wayland++ server side. periodt. β¨
ps this page lives in the Wayland++ manual, section 3 (library calls, for the uninitiated π«Ά).
πΈ SYNOPSIS πΈ
#include <wayland-server-protocol.hpp>
β¨ Static Public Attributes β¨
these are all static const, they all live in the same wayland::detail::bitfield< 3, 6 > type, and none of them are gonna change on you. iconic behavior honestly π
static const wayland::detail::bitfield< 3, 6 > noneβ no action π«static const wayland::detail::bitfield< 3, 6 > copyβ copy action πstatic const wayland::detail::bitfield< 3, 6 > moveβ move action πstatic const wayland::detail::bitfield< 3, 6 > askβ ask action β
π¦ Detailed Description π¦
drag and drop actions. yes, that's the whole description again, but here's the tea β:
this is a bitmask of the available/preferred actions in a drag-and-drop operation. so like, all the possible vibes a drag could have, packed into one cute little integer. ngl that's efficient of them.
in the compositor, the selected action is a result of matching the actions offered by the source and destination sides. so both sides gotta agree, it's giving consent-based dragging fr fr π«Ά
"action" events with a "none" action will be sent to both source and destination if there's no match. no match, no slay, everybody hears about it π. all further checks will effectively happen on (source actions β© destination actions) β that β© is a set intersection bestie, it's the overlap, the shared taste, the actual compatibility π.
in addition, compositors may also pick different actions in reaction to key modifiers being pressed. one common design that's used in major toolkits (and the behavior recommended for compositors) is:
- if no modifiers are pressed, the first match (in bit order) will be used.
- pressing Shift selects
"move", if enabled in the mask. - pressing Control selects
"copy", if enabled in the mask.
β οΈ behavior beyond that is considered implementation-dependent. do not come for me if your compositor does its own thing, that's literally allowed.
compositors may for example bind other modifiers (like Alt/Meta) or drags initiated with other buttons than BTN_LEFT to specific actions (e.g. "ask"). so yeah, the spec said "you do you bestie" on that one π
Definition at line 1639 of file wayland-server-protocol.hpp. (yes we cite our sources in this house π
)
π Member Data Documentation π
all four of these are const wayland::detail::bitfield<3, 6> and [static], so they belong to the class itself, not to any one instance. look at them go π₯Ή
const wayland::detail::bitfield<3, 6> wayland::server::data_device_manager_dnd_action::ask [static]
ask action.
Definition at line 1652 of file wayland-server-protocol.hpp.
const wayland::detail::bitfield<3, 6> wayland::server::data_device_manager_dnd_action::copy [static]
copy action.
Definition at line 1648 of file wayland-server-protocol.hpp.
const wayland::detail::bitfield<3, 6> wayland::server::data_device_manager_dnd_action::move [static]
move action.
Definition at line 1650 of file wayland-server-protocol.hpp.
const wayland::detail::bitfield<3, 6> wayland::server::data_device_manager_dnd_action::none [static]
no action.
Definition at line 1646 of file wayland-server-protocol.hpp.
π not the member docs being filed in alphabetical order while the line numbers go 1652, 1648, 1650, 1646 β the way they sorted the docs but not the lines is so unserious. anyway. all facts intact, we move. π
π Author π
Generated automatically by Doxygen for Wayland++ from the source code. so nobody wrote this by hand, a robot did it, and honestly? the robot ate π€β¨
and that's the whole page bestie!! π this one's from Wayland++, version 1.0.1, and it was dated Fri Mar 27 2026. go forth and drag responsibly, mwah π ππΈ
π¦ where this page comes from
- ubuntu stonking: waylandpp-dev 1.0.1-2 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms