HYPRWAYLAND-SCANNER(1)

πŸ“¦ version 0.4.6, in ubuntu stonking

πŸ’… HYPRWAYLAND-SCANNER(1) β€” the hyprwayland-scanner manual, but make it cute ✨

okay so bestie. this is a General Commands Manual page for hyprwayland-scanner, and if you've ever wanted to make C++ bindings for Wayland protocols without losing your entire mind, this is literally the girl for you. sit down, hydrate πŸ“, and let's go.


✨ NAME ✨

hyprwayland-scanner β€” she generates C++ Wayland protocol bindings, no cap πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

hyprwayland-scanner [OPTIONS] PROTOCOL_XML OUTPUT_DIRECTORY

that's it. that's the whole vibe. options, then your XML, then where you want the goodies to land. πŸ¦‹


🌸 DESCRIPTION 🌸

hyprwayland-scanner generates C++ bindings for Wayland protocols β€” and she'll do it for either servers or clients, whichever one you're serving today πŸ‘‘

By default? Server-side code. That's the default default. The generated files get written straight into the output directory you hand her. πŸ“βœ¨

heads up though: you need a compiler with C++23 support, and you also need pugixml. no pugixml, no bindings, no slay. πŸ’€

🫢 ARGUMENTS 🫢

  • PROTOCOL_XML β€” the path to your Wayland protocol XML file. this is the source material, the blueprint, the moment. πŸ“œ
  • OUTPUT_DIRECTORY β€” the path to the directory where all the generated files are gonna be written. make sure she exists, bestie. πŸ—‚οΈ

πŸ’… OPTIONS πŸ’…

  • -c, --client β€” generate client-side code instead of server-side code. flip the switch, become the client. πŸ’
  • --wayland-enums β€” use Wayland-style enum naming. if you like your enums looking like they came straight out of Wayland HQ, this one's for you. ⭐
  • --no-interfaces β€” do not generate wl_interface and the related interface metadata. skipping that part entirely. 🚫
  • -v, --version β€” prints the program version and then exits. quick lil "hi who am I" moment. πŸ‘‹

πŸ”₯ OUTPUT πŸ”₯

The program writes generated C++ source files into OUTPUT_DIRECTORY. Typically this means a header file and a source file, both derived from the name of the input XML filename. so like, the filename is doing a lot of the aesthetic work here. ✨


🌈 EXAMPLES 🌈

Generate server-side bindings:

hyprwayland-scanner /path/to/protocol.xml ./generated

Generate client-side bindings:

hyprwayland-scanner --client /path/to/protocol.xml ./generated

Generate client-side bindings with Wayland enum naming:

hyprwayland-scanner --client --wayland-enums /path/to/protocol.xml ./generated

look at you. three whole commands. main character energy, honestly. πŸ‘‘πŸ§š


πŸ’œ AUTHOR πŸ’œ

This manual page is maintained for Debian by the Debian Hyprland maintainers, based on the upstream code and README. so give them their flowers fr fr 🌸


and that's the whole page, bestie! this one lives in the User Commands section, and its manual name is hyprwayland-scanner β€” that's the little name tag she wears at the bottom of every page. go generate something gorgeous, ily, bye πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from