lib/wayland/src/protocol/generated/desktop.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

   1 const protocol = @import("../root.zig");
   2 
   3 const schema = protocol.schema;
   4 
   5 pub const xdg_wm_base = struct {
   6     pub const requests = struct {
   7         pub const destroy: schema.Message = .{
   8             .name = "destroy",
   9             .opcode = 0,
  10             .since = 1,
  11             .deprecated_since = null,
  12             .destructor = true,
  13             .signature = "",
  14             .descriptor_count = 0,
  15             .minimum_payload_size = 0,
  16             .arguments = &.{},
  17         };
  18         pub const create_positioner: schema.Message = .{
  19             .name = "create_positioner",
  20             .opcode = 1,
  21             .since = 1,
  22             .deprecated_since = null,
  23             .destructor = false,
  24             .signature = "n",
  25             .descriptor_count = 0,
  26             .minimum_payload_size = 4,
  27             .arguments = &.{
  28                 .{ .name = "id", .kind = .new_id, .interface = "xdg_positioner", .enumeration = null, .nullable = false },
  29             },
  30         };
  31         pub const get_xdg_surface: schema.Message = .{
  32             .name = "get_xdg_surface",
  33             .opcode = 2,
  34             .since = 1,
  35             .deprecated_since = null,
  36             .destructor = false,
  37             .signature = "no",
  38             .descriptor_count = 0,
  39             .minimum_payload_size = 8,
  40             .arguments = &.{
  41                 .{ .name = "id", .kind = .new_id, .interface = "xdg_surface", .enumeration = null, .nullable = false },
  42                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
  43             },
  44         };
  45         pub const pong: schema.Message = .{
  46             .name = "pong",
  47             .opcode = 3,
  48             .since = 1,
  49             .deprecated_since = null,
  50             .destructor = false,
  51             .signature = "u",
  52             .descriptor_count = 0,
  53             .minimum_payload_size = 4,
  54             .arguments = &.{
  55                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
  56             },
  57         };
  58         pub const all = [_]schema.Message{ destroy, create_positioner, get_xdg_surface, pong };
  59     };
  60     pub const events = struct {
  61         pub const ping: schema.Message = .{
  62             .name = "ping",
  63             .opcode = 0,
  64             .since = 1,
  65             .deprecated_since = null,
  66             .destructor = false,
  67             .signature = "u",
  68             .descriptor_count = 0,
  69             .minimum_payload_size = 4,
  70             .arguments = &.{
  71                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
  72             },
  73         };
  74         pub const all = [_]schema.Message{ping};
  75     };
  76     pub const enumerations = struct {
  77         pub const @"error": schema.Enumeration = .{
  78             .name = "error",
  79             .since = 1,
  80             .bitfield = false,
  81             .entries = &.{
  82                 .{ .name = "role", .value = 0, .since = 1, .deprecated_since = null },
  83                 .{ .name = "defunct_surfaces", .value = 1, .since = 1, .deprecated_since = null },
  84                 .{ .name = "not_the_topmost_popup", .value = 2, .since = 1, .deprecated_since = null },
  85                 .{ .name = "invalid_popup_parent", .value = 3, .since = 1, .deprecated_since = null },
  86                 .{ .name = "invalid_surface_state", .value = 4, .since = 1, .deprecated_since = null },
  87                 .{ .name = "invalid_positioner", .value = 5, .since = 1, .deprecated_since = null },
  88                 .{ .name = "unresponsive", .value = 6, .since = 1, .deprecated_since = null },
  89             },
  90         };
  91         pub const all = [_]schema.Enumeration{@"error"};
  92     };
  93     pub const metadata: schema.Interface = .{
  94         .name = "xdg_wm_base",
  95         .version = 7,
  96         .requests = &requests.all,
  97         .events = &events.all,
  98         .enumerations = &enumerations.all,
  99     };
 100 };
 101 
 102 pub const xdg_positioner = struct {
 103     pub const requests = struct {
 104         pub const destroy: schema.Message = .{
 105             .name = "destroy",
 106             .opcode = 0,
 107             .since = 1,
 108             .deprecated_since = null,
 109             .destructor = true,
 110             .signature = "",
 111             .descriptor_count = 0,
 112             .minimum_payload_size = 0,
 113             .arguments = &.{},
 114         };
 115         pub const set_size: schema.Message = .{
 116             .name = "set_size",
 117             .opcode = 1,
 118             .since = 1,
 119             .deprecated_since = null,
 120             .destructor = false,
 121             .signature = "ii",
 122             .descriptor_count = 0,
 123             .minimum_payload_size = 8,
 124             .arguments = &.{
 125                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 126                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 127             },
 128         };
 129         pub const set_anchor_rect: schema.Message = .{
 130             .name = "set_anchor_rect",
 131             .opcode = 2,
 132             .since = 1,
 133             .deprecated_since = null,
 134             .destructor = false,
 135             .signature = "iiii",
 136             .descriptor_count = 0,
 137             .minimum_payload_size = 16,
 138             .arguments = &.{
 139                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 140                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 141                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 142                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 143             },
 144         };
 145         pub const set_anchor: schema.Message = .{
 146             .name = "set_anchor",
 147             .opcode = 3,
 148             .since = 1,
 149             .deprecated_since = null,
 150             .destructor = false,
 151             .signature = "u",
 152             .descriptor_count = 0,
 153             .minimum_payload_size = 4,
 154             .arguments = &.{
 155                 .{ .name = "anchor", .kind = .uint, .interface = null, .enumeration = "anchor", .nullable = false },
 156             },
 157         };
 158         pub const set_gravity: schema.Message = .{
 159             .name = "set_gravity",
 160             .opcode = 4,
 161             .since = 1,
 162             .deprecated_since = null,
 163             .destructor = false,
 164             .signature = "u",
 165             .descriptor_count = 0,
 166             .minimum_payload_size = 4,
 167             .arguments = &.{
 168                 .{ .name = "gravity", .kind = .uint, .interface = null, .enumeration = "gravity", .nullable = false },
 169             },
 170         };
 171         pub const set_constraint_adjustment: schema.Message = .{
 172             .name = "set_constraint_adjustment",
 173             .opcode = 5,
 174             .since = 1,
 175             .deprecated_since = null,
 176             .destructor = false,
 177             .signature = "u",
 178             .descriptor_count = 0,
 179             .minimum_payload_size = 4,
 180             .arguments = &.{
 181                 .{ .name = "constraint_adjustment", .kind = .uint, .interface = null, .enumeration = "constraint_adjustment", .nullable = false },
 182             },
 183         };
 184         pub const set_offset: schema.Message = .{
 185             .name = "set_offset",
 186             .opcode = 6,
 187             .since = 1,
 188             .deprecated_since = null,
 189             .destructor = false,
 190             .signature = "ii",
 191             .descriptor_count = 0,
 192             .minimum_payload_size = 8,
 193             .arguments = &.{
 194                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 195                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 196             },
 197         };
 198         pub const set_reactive: schema.Message = .{
 199             .name = "set_reactive",
 200             .opcode = 7,
 201             .since = 3,
 202             .deprecated_since = null,
 203             .destructor = false,
 204             .signature = "3",
 205             .descriptor_count = 0,
 206             .minimum_payload_size = 0,
 207             .arguments = &.{},
 208         };
 209         pub const set_parent_size: schema.Message = .{
 210             .name = "set_parent_size",
 211             .opcode = 8,
 212             .since = 3,
 213             .deprecated_since = null,
 214             .destructor = false,
 215             .signature = "3ii",
 216             .descriptor_count = 0,
 217             .minimum_payload_size = 8,
 218             .arguments = &.{
 219                 .{ .name = "parent_width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 220                 .{ .name = "parent_height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 221             },
 222         };
 223         pub const set_parent_configure: schema.Message = .{
 224             .name = "set_parent_configure",
 225             .opcode = 9,
 226             .since = 3,
 227             .deprecated_since = null,
 228             .destructor = false,
 229             .signature = "3u",
 230             .descriptor_count = 0,
 231             .minimum_payload_size = 4,
 232             .arguments = &.{
 233                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 234             },
 235         };
 236         pub const all = [_]schema.Message{ destroy, set_size, set_anchor_rect, set_anchor, set_gravity, set_constraint_adjustment, set_offset, set_reactive, set_parent_size, set_parent_configure };
 237     };
 238     pub const events = struct {
 239         pub const all = [_]schema.Message{};
 240     };
 241     pub const enumerations = struct {
 242         pub const @"error": schema.Enumeration = .{
 243             .name = "error",
 244             .since = 1,
 245             .bitfield = false,
 246             .entries = &.{
 247                 .{ .name = "invalid_input", .value = 0, .since = 1, .deprecated_since = null },
 248             },
 249         };
 250         pub const anchor: schema.Enumeration = .{
 251             .name = "anchor",
 252             .since = 1,
 253             .bitfield = false,
 254             .entries = &.{
 255                 .{ .name = "none", .value = 0, .since = 1, .deprecated_since = null },
 256                 .{ .name = "top", .value = 1, .since = 1, .deprecated_since = null },
 257                 .{ .name = "bottom", .value = 2, .since = 1, .deprecated_since = null },
 258                 .{ .name = "left", .value = 3, .since = 1, .deprecated_since = null },
 259                 .{ .name = "right", .value = 4, .since = 1, .deprecated_since = null },
 260                 .{ .name = "top_left", .value = 5, .since = 1, .deprecated_since = null },
 261                 .{ .name = "bottom_left", .value = 6, .since = 1, .deprecated_since = null },
 262                 .{ .name = "top_right", .value = 7, .since = 1, .deprecated_since = null },
 263                 .{ .name = "bottom_right", .value = 8, .since = 1, .deprecated_since = null },
 264             },
 265         };
 266         pub const gravity: schema.Enumeration = .{
 267             .name = "gravity",
 268             .since = 1,
 269             .bitfield = false,
 270             .entries = &.{
 271                 .{ .name = "none", .value = 0, .since = 1, .deprecated_since = null },
 272                 .{ .name = "top", .value = 1, .since = 1, .deprecated_since = null },
 273                 .{ .name = "bottom", .value = 2, .since = 1, .deprecated_since = null },
 274                 .{ .name = "left", .value = 3, .since = 1, .deprecated_since = null },
 275                 .{ .name = "right", .value = 4, .since = 1, .deprecated_since = null },
 276                 .{ .name = "top_left", .value = 5, .since = 1, .deprecated_since = null },
 277                 .{ .name = "bottom_left", .value = 6, .since = 1, .deprecated_since = null },
 278                 .{ .name = "top_right", .value = 7, .since = 1, .deprecated_since = null },
 279                 .{ .name = "bottom_right", .value = 8, .since = 1, .deprecated_since = null },
 280             },
 281         };
 282         pub const constraint_adjustment: schema.Enumeration = .{
 283             .name = "constraint_adjustment",
 284             .since = 1,
 285             .bitfield = true,
 286             .entries = &.{
 287                 .{ .name = "none", .value = 0, .since = 1, .deprecated_since = null },
 288                 .{ .name = "slide_x", .value = 1, .since = 1, .deprecated_since = null },
 289                 .{ .name = "slide_y", .value = 2, .since = 1, .deprecated_since = null },
 290                 .{ .name = "flip_x", .value = 4, .since = 1, .deprecated_since = null },
 291                 .{ .name = "flip_y", .value = 8, .since = 1, .deprecated_since = null },
 292                 .{ .name = "resize_x", .value = 16, .since = 1, .deprecated_since = null },
 293                 .{ .name = "resize_y", .value = 32, .since = 1, .deprecated_since = null },
 294             },
 295         };
 296         pub const all = [_]schema.Enumeration{ @"error", anchor, gravity, constraint_adjustment };
 297     };
 298     pub const metadata: schema.Interface = .{
 299         .name = "xdg_positioner",
 300         .version = 7,
 301         .requests = &requests.all,
 302         .events = &events.all,
 303         .enumerations = &enumerations.all,
 304     };
 305 };
 306 
 307 pub const xdg_surface = struct {
 308     pub const requests = struct {
 309         pub const destroy: schema.Message = .{
 310             .name = "destroy",
 311             .opcode = 0,
 312             .since = 1,
 313             .deprecated_since = null,
 314             .destructor = true,
 315             .signature = "",
 316             .descriptor_count = 0,
 317             .minimum_payload_size = 0,
 318             .arguments = &.{},
 319         };
 320         pub const get_toplevel: schema.Message = .{
 321             .name = "get_toplevel",
 322             .opcode = 1,
 323             .since = 1,
 324             .deprecated_since = null,
 325             .destructor = false,
 326             .signature = "n",
 327             .descriptor_count = 0,
 328             .minimum_payload_size = 4,
 329             .arguments = &.{
 330                 .{ .name = "id", .kind = .new_id, .interface = "xdg_toplevel", .enumeration = null, .nullable = false },
 331             },
 332         };
 333         pub const get_popup: schema.Message = .{
 334             .name = "get_popup",
 335             .opcode = 2,
 336             .since = 1,
 337             .deprecated_since = null,
 338             .destructor = false,
 339             .signature = "n?oo",
 340             .descriptor_count = 0,
 341             .minimum_payload_size = 12,
 342             .arguments = &.{
 343                 .{ .name = "id", .kind = .new_id, .interface = "xdg_popup", .enumeration = null, .nullable = false },
 344                 .{ .name = "parent", .kind = .object, .interface = "xdg_surface", .enumeration = null, .nullable = true },
 345                 .{ .name = "positioner", .kind = .object, .interface = "xdg_positioner", .enumeration = null, .nullable = false },
 346             },
 347         };
 348         pub const set_window_geometry: schema.Message = .{
 349             .name = "set_window_geometry",
 350             .opcode = 3,
 351             .since = 1,
 352             .deprecated_since = null,
 353             .destructor = false,
 354             .signature = "iiii",
 355             .descriptor_count = 0,
 356             .minimum_payload_size = 16,
 357             .arguments = &.{
 358                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 359                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 360                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 361                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 362             },
 363         };
 364         pub const ack_configure: schema.Message = .{
 365             .name = "ack_configure",
 366             .opcode = 4,
 367             .since = 1,
 368             .deprecated_since = null,
 369             .destructor = false,
 370             .signature = "u",
 371             .descriptor_count = 0,
 372             .minimum_payload_size = 4,
 373             .arguments = &.{
 374                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 375             },
 376         };
 377         pub const all = [_]schema.Message{ destroy, get_toplevel, get_popup, set_window_geometry, ack_configure };
 378     };
 379     pub const events = struct {
 380         pub const configure: schema.Message = .{
 381             .name = "configure",
 382             .opcode = 0,
 383             .since = 1,
 384             .deprecated_since = null,
 385             .destructor = false,
 386             .signature = "u",
 387             .descriptor_count = 0,
 388             .minimum_payload_size = 4,
 389             .arguments = &.{
 390                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 391             },
 392         };
 393         pub const all = [_]schema.Message{configure};
 394     };
 395     pub const enumerations = struct {
 396         pub const @"error": schema.Enumeration = .{
 397             .name = "error",
 398             .since = 1,
 399             .bitfield = false,
 400             .entries = &.{
 401                 .{ .name = "not_constructed", .value = 1, .since = 1, .deprecated_since = null },
 402                 .{ .name = "already_constructed", .value = 2, .since = 1, .deprecated_since = null },
 403                 .{ .name = "unconfigured_buffer", .value = 3, .since = 1, .deprecated_since = null },
 404                 .{ .name = "invalid_serial", .value = 4, .since = 1, .deprecated_since = null },
 405                 .{ .name = "invalid_size", .value = 5, .since = 1, .deprecated_since = null },
 406                 .{ .name = "defunct_role_object", .value = 6, .since = 1, .deprecated_since = null },
 407             },
 408         };
 409         pub const all = [_]schema.Enumeration{@"error"};
 410     };
 411     pub const metadata: schema.Interface = .{
 412         .name = "xdg_surface",
 413         .version = 7,
 414         .requests = &requests.all,
 415         .events = &events.all,
 416         .enumerations = &enumerations.all,
 417     };
 418 };
 419 
 420 pub const xdg_toplevel = struct {
 421     pub const requests = struct {
 422         pub const destroy: schema.Message = .{
 423             .name = "destroy",
 424             .opcode = 0,
 425             .since = 1,
 426             .deprecated_since = null,
 427             .destructor = true,
 428             .signature = "",
 429             .descriptor_count = 0,
 430             .minimum_payload_size = 0,
 431             .arguments = &.{},
 432         };
 433         pub const set_parent: schema.Message = .{
 434             .name = "set_parent",
 435             .opcode = 1,
 436             .since = 1,
 437             .deprecated_since = null,
 438             .destructor = false,
 439             .signature = "?o",
 440             .descriptor_count = 0,
 441             .minimum_payload_size = 4,
 442             .arguments = &.{
 443                 .{ .name = "parent", .kind = .object, .interface = "xdg_toplevel", .enumeration = null, .nullable = true },
 444             },
 445         };
 446         pub const set_title: schema.Message = .{
 447             .name = "set_title",
 448             .opcode = 2,
 449             .since = 1,
 450             .deprecated_since = null,
 451             .destructor = false,
 452             .signature = "s",
 453             .descriptor_count = 0,
 454             .minimum_payload_size = 8,
 455             .arguments = &.{
 456                 .{ .name = "title", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
 457             },
 458         };
 459         pub const set_app_id: schema.Message = .{
 460             .name = "set_app_id",
 461             .opcode = 3,
 462             .since = 1,
 463             .deprecated_since = null,
 464             .destructor = false,
 465             .signature = "s",
 466             .descriptor_count = 0,
 467             .minimum_payload_size = 8,
 468             .arguments = &.{
 469                 .{ .name = "app_id", .kind = .string, .interface = null, .enumeration = null, .nullable = false },
 470             },
 471         };
 472         pub const show_window_menu: schema.Message = .{
 473             .name = "show_window_menu",
 474             .opcode = 4,
 475             .since = 1,
 476             .deprecated_since = null,
 477             .destructor = false,
 478             .signature = "ouii",
 479             .descriptor_count = 0,
 480             .minimum_payload_size = 16,
 481             .arguments = &.{
 482                 .{ .name = "seat", .kind = .object, .interface = "wl_seat", .enumeration = null, .nullable = false },
 483                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 484                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 485                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 486             },
 487         };
 488         pub const move: schema.Message = .{
 489             .name = "move",
 490             .opcode = 5,
 491             .since = 1,
 492             .deprecated_since = null,
 493             .destructor = false,
 494             .signature = "ou",
 495             .descriptor_count = 0,
 496             .minimum_payload_size = 8,
 497             .arguments = &.{
 498                 .{ .name = "seat", .kind = .object, .interface = "wl_seat", .enumeration = null, .nullable = false },
 499                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 500             },
 501         };
 502         pub const resize: schema.Message = .{
 503             .name = "resize",
 504             .opcode = 6,
 505             .since = 1,
 506             .deprecated_since = null,
 507             .destructor = false,
 508             .signature = "ouu",
 509             .descriptor_count = 0,
 510             .minimum_payload_size = 12,
 511             .arguments = &.{
 512                 .{ .name = "seat", .kind = .object, .interface = "wl_seat", .enumeration = null, .nullable = false },
 513                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 514                 .{ .name = "edges", .kind = .uint, .interface = null, .enumeration = "resize_edge", .nullable = false },
 515             },
 516         };
 517         pub const set_max_size: schema.Message = .{
 518             .name = "set_max_size",
 519             .opcode = 7,
 520             .since = 1,
 521             .deprecated_since = null,
 522             .destructor = false,
 523             .signature = "ii",
 524             .descriptor_count = 0,
 525             .minimum_payload_size = 8,
 526             .arguments = &.{
 527                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 528                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 529             },
 530         };
 531         pub const set_min_size: schema.Message = .{
 532             .name = "set_min_size",
 533             .opcode = 8,
 534             .since = 1,
 535             .deprecated_since = null,
 536             .destructor = false,
 537             .signature = "ii",
 538             .descriptor_count = 0,
 539             .minimum_payload_size = 8,
 540             .arguments = &.{
 541                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 542                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 543             },
 544         };
 545         pub const set_maximized: schema.Message = .{
 546             .name = "set_maximized",
 547             .opcode = 9,
 548             .since = 1,
 549             .deprecated_since = null,
 550             .destructor = false,
 551             .signature = "",
 552             .descriptor_count = 0,
 553             .minimum_payload_size = 0,
 554             .arguments = &.{},
 555         };
 556         pub const unset_maximized: schema.Message = .{
 557             .name = "unset_maximized",
 558             .opcode = 10,
 559             .since = 1,
 560             .deprecated_since = null,
 561             .destructor = false,
 562             .signature = "",
 563             .descriptor_count = 0,
 564             .minimum_payload_size = 0,
 565             .arguments = &.{},
 566         };
 567         pub const set_fullscreen: schema.Message = .{
 568             .name = "set_fullscreen",
 569             .opcode = 11,
 570             .since = 1,
 571             .deprecated_since = null,
 572             .destructor = false,
 573             .signature = "?o",
 574             .descriptor_count = 0,
 575             .minimum_payload_size = 4,
 576             .arguments = &.{
 577                 .{ .name = "output", .kind = .object, .interface = "wl_output", .enumeration = null, .nullable = true },
 578             },
 579         };
 580         pub const unset_fullscreen: schema.Message = .{
 581             .name = "unset_fullscreen",
 582             .opcode = 12,
 583             .since = 1,
 584             .deprecated_since = null,
 585             .destructor = false,
 586             .signature = "",
 587             .descriptor_count = 0,
 588             .minimum_payload_size = 0,
 589             .arguments = &.{},
 590         };
 591         pub const set_minimized: schema.Message = .{
 592             .name = "set_minimized",
 593             .opcode = 13,
 594             .since = 1,
 595             .deprecated_since = null,
 596             .destructor = false,
 597             .signature = "",
 598             .descriptor_count = 0,
 599             .minimum_payload_size = 0,
 600             .arguments = &.{},
 601         };
 602         pub const all = [_]schema.Message{ destroy, set_parent, set_title, set_app_id, show_window_menu, move, resize, set_max_size, set_min_size, set_maximized, unset_maximized, set_fullscreen, unset_fullscreen, set_minimized };
 603     };
 604     pub const events = struct {
 605         pub const configure: schema.Message = .{
 606             .name = "configure",
 607             .opcode = 0,
 608             .since = 1,
 609             .deprecated_since = null,
 610             .destructor = false,
 611             .signature = "iia",
 612             .descriptor_count = 0,
 613             .minimum_payload_size = 12,
 614             .arguments = &.{
 615                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 616                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 617                 .{ .name = "states", .kind = .array, .interface = null, .enumeration = null, .nullable = false },
 618             },
 619         };
 620         pub const close: schema.Message = .{
 621             .name = "close",
 622             .opcode = 1,
 623             .since = 1,
 624             .deprecated_since = null,
 625             .destructor = false,
 626             .signature = "",
 627             .descriptor_count = 0,
 628             .minimum_payload_size = 0,
 629             .arguments = &.{},
 630         };
 631         pub const configure_bounds: schema.Message = .{
 632             .name = "configure_bounds",
 633             .opcode = 2,
 634             .since = 4,
 635             .deprecated_since = null,
 636             .destructor = false,
 637             .signature = "4ii",
 638             .descriptor_count = 0,
 639             .minimum_payload_size = 8,
 640             .arguments = &.{
 641                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 642                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 643             },
 644         };
 645         pub const wm_capabilities: schema.Message = .{
 646             .name = "wm_capabilities",
 647             .opcode = 3,
 648             .since = 5,
 649             .deprecated_since = null,
 650             .destructor = false,
 651             .signature = "5a",
 652             .descriptor_count = 0,
 653             .minimum_payload_size = 4,
 654             .arguments = &.{
 655                 .{ .name = "capabilities", .kind = .array, .interface = null, .enumeration = null, .nullable = false },
 656             },
 657         };
 658         pub const all = [_]schema.Message{ configure, close, configure_bounds, wm_capabilities };
 659     };
 660     pub const enumerations = struct {
 661         pub const @"error": schema.Enumeration = .{
 662             .name = "error",
 663             .since = 1,
 664             .bitfield = false,
 665             .entries = &.{
 666                 .{ .name = "invalid_resize_edge", .value = 0, .since = 1, .deprecated_since = null },
 667                 .{ .name = "invalid_parent", .value = 1, .since = 1, .deprecated_since = null },
 668                 .{ .name = "invalid_size", .value = 2, .since = 1, .deprecated_since = null },
 669             },
 670         };
 671         pub const resize_edge: schema.Enumeration = .{
 672             .name = "resize_edge",
 673             .since = 1,
 674             .bitfield = false,
 675             .entries = &.{
 676                 .{ .name = "none", .value = 0, .since = 1, .deprecated_since = null },
 677                 .{ .name = "top", .value = 1, .since = 1, .deprecated_since = null },
 678                 .{ .name = "bottom", .value = 2, .since = 1, .deprecated_since = null },
 679                 .{ .name = "left", .value = 4, .since = 1, .deprecated_since = null },
 680                 .{ .name = "top_left", .value = 5, .since = 1, .deprecated_since = null },
 681                 .{ .name = "bottom_left", .value = 6, .since = 1, .deprecated_since = null },
 682                 .{ .name = "right", .value = 8, .since = 1, .deprecated_since = null },
 683                 .{ .name = "top_right", .value = 9, .since = 1, .deprecated_since = null },
 684                 .{ .name = "bottom_right", .value = 10, .since = 1, .deprecated_since = null },
 685             },
 686         };
 687         pub const state: schema.Enumeration = .{
 688             .name = "state",
 689             .since = 1,
 690             .bitfield = false,
 691             .entries = &.{
 692                 .{ .name = "maximized", .value = 1, .since = 1, .deprecated_since = null },
 693                 .{ .name = "fullscreen", .value = 2, .since = 1, .deprecated_since = null },
 694                 .{ .name = "resizing", .value = 3, .since = 1, .deprecated_since = null },
 695                 .{ .name = "activated", .value = 4, .since = 1, .deprecated_since = null },
 696                 .{ .name = "tiled_left", .value = 5, .since = 2, .deprecated_since = null },
 697                 .{ .name = "tiled_right", .value = 6, .since = 2, .deprecated_since = null },
 698                 .{ .name = "tiled_top", .value = 7, .since = 2, .deprecated_since = null },
 699                 .{ .name = "tiled_bottom", .value = 8, .since = 2, .deprecated_since = null },
 700                 .{ .name = "suspended", .value = 9, .since = 6, .deprecated_since = null },
 701                 .{ .name = "constrained_left", .value = 10, .since = 7, .deprecated_since = null },
 702                 .{ .name = "constrained_right", .value = 11, .since = 7, .deprecated_since = null },
 703                 .{ .name = "constrained_top", .value = 12, .since = 7, .deprecated_since = null },
 704                 .{ .name = "constrained_bottom", .value = 13, .since = 7, .deprecated_since = null },
 705             },
 706         };
 707         pub const wm_capabilities: schema.Enumeration = .{
 708             .name = "wm_capabilities",
 709             .since = 5,
 710             .bitfield = false,
 711             .entries = &.{
 712                 .{ .name = "window_menu", .value = 1, .since = 1, .deprecated_since = null },
 713                 .{ .name = "maximize", .value = 2, .since = 1, .deprecated_since = null },
 714                 .{ .name = "fullscreen", .value = 3, .since = 1, .deprecated_since = null },
 715                 .{ .name = "minimize", .value = 4, .since = 1, .deprecated_since = null },
 716             },
 717         };
 718         pub const all = [_]schema.Enumeration{ @"error", resize_edge, state, wm_capabilities };
 719     };
 720     pub const metadata: schema.Interface = .{
 721         .name = "xdg_toplevel",
 722         .version = 7,
 723         .requests = &requests.all,
 724         .events = &events.all,
 725         .enumerations = &enumerations.all,
 726     };
 727 };
 728 
 729 pub const xdg_popup = struct {
 730     pub const requests = struct {
 731         pub const destroy: schema.Message = .{
 732             .name = "destroy",
 733             .opcode = 0,
 734             .since = 1,
 735             .deprecated_since = null,
 736             .destructor = true,
 737             .signature = "",
 738             .descriptor_count = 0,
 739             .minimum_payload_size = 0,
 740             .arguments = &.{},
 741         };
 742         pub const grab: schema.Message = .{
 743             .name = "grab",
 744             .opcode = 1,
 745             .since = 1,
 746             .deprecated_since = null,
 747             .destructor = false,
 748             .signature = "ou",
 749             .descriptor_count = 0,
 750             .minimum_payload_size = 8,
 751             .arguments = &.{
 752                 .{ .name = "seat", .kind = .object, .interface = "wl_seat", .enumeration = null, .nullable = false },
 753                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 754             },
 755         };
 756         pub const reposition: schema.Message = .{
 757             .name = "reposition",
 758             .opcode = 2,
 759             .since = 3,
 760             .deprecated_since = null,
 761             .destructor = false,
 762             .signature = "3ou",
 763             .descriptor_count = 0,
 764             .minimum_payload_size = 8,
 765             .arguments = &.{
 766                 .{ .name = "positioner", .kind = .object, .interface = "xdg_positioner", .enumeration = null, .nullable = false },
 767                 .{ .name = "token", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 768             },
 769         };
 770         pub const all = [_]schema.Message{ destroy, grab, reposition };
 771     };
 772     pub const events = struct {
 773         pub const configure: schema.Message = .{
 774             .name = "configure",
 775             .opcode = 0,
 776             .since = 1,
 777             .deprecated_since = null,
 778             .destructor = false,
 779             .signature = "iiii",
 780             .descriptor_count = 0,
 781             .minimum_payload_size = 16,
 782             .arguments = &.{
 783                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 784                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 785                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 786                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 787             },
 788         };
 789         pub const popup_done: schema.Message = .{
 790             .name = "popup_done",
 791             .opcode = 1,
 792             .since = 1,
 793             .deprecated_since = null,
 794             .destructor = false,
 795             .signature = "",
 796             .descriptor_count = 0,
 797             .minimum_payload_size = 0,
 798             .arguments = &.{},
 799         };
 800         pub const repositioned: schema.Message = .{
 801             .name = "repositioned",
 802             .opcode = 2,
 803             .since = 3,
 804             .deprecated_since = null,
 805             .destructor = false,
 806             .signature = "3u",
 807             .descriptor_count = 0,
 808             .minimum_payload_size = 4,
 809             .arguments = &.{
 810                 .{ .name = "token", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
 811             },
 812         };
 813         pub const all = [_]schema.Message{ configure, popup_done, repositioned };
 814     };
 815     pub const enumerations = struct {
 816         pub const @"error": schema.Enumeration = .{
 817             .name = "error",
 818             .since = 1,
 819             .bitfield = false,
 820             .entries = &.{
 821                 .{ .name = "invalid_grab", .value = 0, .since = 1, .deprecated_since = null },
 822             },
 823         };
 824         pub const all = [_]schema.Enumeration{@"error"};
 825     };
 826     pub const metadata: schema.Interface = .{
 827         .name = "xdg_popup",
 828         .version = 7,
 829         .requests = &requests.all,
 830         .events = &events.all,
 831         .enumerations = &enumerations.all,
 832     };
 833 };
 834 
 835 pub const wp_viewporter = struct {
 836     pub const requests = struct {
 837         pub const destroy: schema.Message = .{
 838             .name = "destroy",
 839             .opcode = 0,
 840             .since = 1,
 841             .deprecated_since = null,
 842             .destructor = true,
 843             .signature = "",
 844             .descriptor_count = 0,
 845             .minimum_payload_size = 0,
 846             .arguments = &.{},
 847         };
 848         pub const get_viewport: schema.Message = .{
 849             .name = "get_viewport",
 850             .opcode = 1,
 851             .since = 1,
 852             .deprecated_since = null,
 853             .destructor = false,
 854             .signature = "no",
 855             .descriptor_count = 0,
 856             .minimum_payload_size = 8,
 857             .arguments = &.{
 858                 .{ .name = "id", .kind = .new_id, .interface = "wp_viewport", .enumeration = null, .nullable = false },
 859                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
 860             },
 861         };
 862         pub const all = [_]schema.Message{ destroy, get_viewport };
 863     };
 864     pub const events = struct {
 865         pub const all = [_]schema.Message{};
 866     };
 867     pub const enumerations = struct {
 868         pub const @"error": schema.Enumeration = .{
 869             .name = "error",
 870             .since = 1,
 871             .bitfield = false,
 872             .entries = &.{
 873                 .{ .name = "viewport_exists", .value = 0, .since = 1, .deprecated_since = null },
 874             },
 875         };
 876         pub const all = [_]schema.Enumeration{@"error"};
 877     };
 878     pub const metadata: schema.Interface = .{
 879         .name = "wp_viewporter",
 880         .version = 1,
 881         .requests = &requests.all,
 882         .events = &events.all,
 883         .enumerations = &enumerations.all,
 884     };
 885 };
 886 
 887 pub const wp_viewport = struct {
 888     pub const requests = struct {
 889         pub const destroy: schema.Message = .{
 890             .name = "destroy",
 891             .opcode = 0,
 892             .since = 1,
 893             .deprecated_since = null,
 894             .destructor = true,
 895             .signature = "",
 896             .descriptor_count = 0,
 897             .minimum_payload_size = 0,
 898             .arguments = &.{},
 899         };
 900         pub const set_source: schema.Message = .{
 901             .name = "set_source",
 902             .opcode = 1,
 903             .since = 1,
 904             .deprecated_since = null,
 905             .destructor = false,
 906             .signature = "ffff",
 907             .descriptor_count = 0,
 908             .minimum_payload_size = 16,
 909             .arguments = &.{
 910                 .{ .name = "x", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
 911                 .{ .name = "y", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
 912                 .{ .name = "width", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
 913                 .{ .name = "height", .kind = .fixed, .interface = null, .enumeration = null, .nullable = false },
 914             },
 915         };
 916         pub const set_destination: schema.Message = .{
 917             .name = "set_destination",
 918             .opcode = 2,
 919             .since = 1,
 920             .deprecated_since = null,
 921             .destructor = false,
 922             .signature = "ii",
 923             .descriptor_count = 0,
 924             .minimum_payload_size = 8,
 925             .arguments = &.{
 926                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 927                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
 928             },
 929         };
 930         pub const all = [_]schema.Message{ destroy, set_source, set_destination };
 931     };
 932     pub const events = struct {
 933         pub const all = [_]schema.Message{};
 934     };
 935     pub const enumerations = struct {
 936         pub const @"error": schema.Enumeration = .{
 937             .name = "error",
 938             .since = 1,
 939             .bitfield = false,
 940             .entries = &.{
 941                 .{ .name = "bad_value", .value = 0, .since = 1, .deprecated_since = null },
 942                 .{ .name = "bad_size", .value = 1, .since = 1, .deprecated_since = null },
 943                 .{ .name = "out_of_buffer", .value = 2, .since = 1, .deprecated_since = null },
 944                 .{ .name = "no_surface", .value = 3, .since = 1, .deprecated_since = null },
 945             },
 946         };
 947         pub const all = [_]schema.Enumeration{@"error"};
 948     };
 949     pub const metadata: schema.Interface = .{
 950         .name = "wp_viewport",
 951         .version = 1,
 952         .requests = &requests.all,
 953         .events = &events.all,
 954         .enumerations = &enumerations.all,
 955     };
 956 };
 957 
 958 pub const wp_fractional_scale_manager_v1 = struct {
 959     pub const requests = struct {
 960         pub const destroy: schema.Message = .{
 961             .name = "destroy",
 962             .opcode = 0,
 963             .since = 1,
 964             .deprecated_since = null,
 965             .destructor = true,
 966             .signature = "",
 967             .descriptor_count = 0,
 968             .minimum_payload_size = 0,
 969             .arguments = &.{},
 970         };
 971         pub const get_fractional_scale: schema.Message = .{
 972             .name = "get_fractional_scale",
 973             .opcode = 1,
 974             .since = 1,
 975             .deprecated_since = null,
 976             .destructor = false,
 977             .signature = "no",
 978             .descriptor_count = 0,
 979             .minimum_payload_size = 8,
 980             .arguments = &.{
 981                 .{ .name = "id", .kind = .new_id, .interface = "wp_fractional_scale_v1", .enumeration = null, .nullable = false },
 982                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
 983             },
 984         };
 985         pub const all = [_]schema.Message{ destroy, get_fractional_scale };
 986     };
 987     pub const events = struct {
 988         pub const all = [_]schema.Message{};
 989     };
 990     pub const enumerations = struct {
 991         pub const @"error": schema.Enumeration = .{
 992             .name = "error",
 993             .since = 1,
 994             .bitfield = false,
 995             .entries = &.{
 996                 .{ .name = "fractional_scale_exists", .value = 0, .since = 1, .deprecated_since = null },
 997             },
 998         };
 999         pub const all = [_]schema.Enumeration{@"error"};
1000     };
1001     pub const metadata: schema.Interface = .{
1002         .name = "wp_fractional_scale_manager_v1",
1003         .version = 1,
1004         .requests = &requests.all,
1005         .events = &events.all,
1006         .enumerations = &enumerations.all,
1007     };
1008 };
1009 
1010 pub const wp_fractional_scale_v1 = struct {
1011     pub const requests = struct {
1012         pub const destroy: schema.Message = .{
1013             .name = "destroy",
1014             .opcode = 0,
1015             .since = 1,
1016             .deprecated_since = null,
1017             .destructor = true,
1018             .signature = "",
1019             .descriptor_count = 0,
1020             .minimum_payload_size = 0,
1021             .arguments = &.{},
1022         };
1023         pub const all = [_]schema.Message{destroy};
1024     };
1025     pub const events = struct {
1026         pub const preferred_scale: schema.Message = .{
1027             .name = "preferred_scale",
1028             .opcode = 0,
1029             .since = 1,
1030             .deprecated_since = null,
1031             .destructor = false,
1032             .signature = "u",
1033             .descriptor_count = 0,
1034             .minimum_payload_size = 4,
1035             .arguments = &.{
1036                 .{ .name = "scale", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1037             },
1038         };
1039         pub const all = [_]schema.Message{preferred_scale};
1040     };
1041     pub const enumerations = struct {
1042         pub const all = [_]schema.Enumeration{};
1043     };
1044     pub const metadata: schema.Interface = .{
1045         .name = "wp_fractional_scale_v1",
1046         .version = 1,
1047         .requests = &requests.all,
1048         .events = &events.all,
1049         .enumerations = &enumerations.all,
1050     };
1051 };
1052 
1053 pub const zxdg_decoration_manager_v1 = struct {
1054     pub const requests = struct {
1055         pub const destroy: schema.Message = .{
1056             .name = "destroy",
1057             .opcode = 0,
1058             .since = 1,
1059             .deprecated_since = null,
1060             .destructor = true,
1061             .signature = "",
1062             .descriptor_count = 0,
1063             .minimum_payload_size = 0,
1064             .arguments = &.{},
1065         };
1066         pub const get_toplevel_decoration: schema.Message = .{
1067             .name = "get_toplevel_decoration",
1068             .opcode = 1,
1069             .since = 1,
1070             .deprecated_since = null,
1071             .destructor = false,
1072             .signature = "no",
1073             .descriptor_count = 0,
1074             .minimum_payload_size = 8,
1075             .arguments = &.{
1076                 .{ .name = "id", .kind = .new_id, .interface = "zxdg_toplevel_decoration_v1", .enumeration = null, .nullable = false },
1077                 .{ .name = "toplevel", .kind = .object, .interface = "xdg_toplevel", .enumeration = null, .nullable = false },
1078             },
1079         };
1080         pub const all = [_]schema.Message{ destroy, get_toplevel_decoration };
1081     };
1082     pub const events = struct {
1083         pub const all = [_]schema.Message{};
1084     };
1085     pub const enumerations = struct {
1086         pub const all = [_]schema.Enumeration{};
1087     };
1088     pub const metadata: schema.Interface = .{
1089         .name = "zxdg_decoration_manager_v1",
1090         .version = 2,
1091         .requests = &requests.all,
1092         .events = &events.all,
1093         .enumerations = &enumerations.all,
1094     };
1095 };
1096 
1097 pub const zxdg_toplevel_decoration_v1 = struct {
1098     pub const requests = struct {
1099         pub const destroy: schema.Message = .{
1100             .name = "destroy",
1101             .opcode = 0,
1102             .since = 1,
1103             .deprecated_since = null,
1104             .destructor = true,
1105             .signature = "",
1106             .descriptor_count = 0,
1107             .minimum_payload_size = 0,
1108             .arguments = &.{},
1109         };
1110         pub const set_mode: schema.Message = .{
1111             .name = "set_mode",
1112             .opcode = 1,
1113             .since = 1,
1114             .deprecated_since = null,
1115             .destructor = false,
1116             .signature = "u",
1117             .descriptor_count = 0,
1118             .minimum_payload_size = 4,
1119             .arguments = &.{
1120                 .{ .name = "mode", .kind = .uint, .interface = null, .enumeration = "mode", .nullable = false },
1121             },
1122         };
1123         pub const unset_mode: schema.Message = .{
1124             .name = "unset_mode",
1125             .opcode = 2,
1126             .since = 1,
1127             .deprecated_since = null,
1128             .destructor = false,
1129             .signature = "",
1130             .descriptor_count = 0,
1131             .minimum_payload_size = 0,
1132             .arguments = &.{},
1133         };
1134         pub const all = [_]schema.Message{ destroy, set_mode, unset_mode };
1135     };
1136     pub const events = struct {
1137         pub const configure: schema.Message = .{
1138             .name = "configure",
1139             .opcode = 0,
1140             .since = 1,
1141             .deprecated_since = null,
1142             .destructor = false,
1143             .signature = "u",
1144             .descriptor_count = 0,
1145             .minimum_payload_size = 4,
1146             .arguments = &.{
1147                 .{ .name = "mode", .kind = .uint, .interface = null, .enumeration = "mode", .nullable = false },
1148             },
1149         };
1150         pub const all = [_]schema.Message{configure};
1151     };
1152     pub const enumerations = struct {
1153         pub const @"error": schema.Enumeration = .{
1154             .name = "error",
1155             .since = 1,
1156             .bitfield = false,
1157             .entries = &.{
1158                 .{ .name = "unconfigured_buffer", .value = 0, .since = 1, .deprecated_since = null },
1159                 .{ .name = "already_constructed", .value = 1, .since = 1, .deprecated_since = null },
1160                 .{ .name = "orphaned", .value = 2, .since = 1, .deprecated_since = null },
1161                 .{ .name = "invalid_mode", .value = 3, .since = 1, .deprecated_since = null },
1162             },
1163         };
1164         pub const mode: schema.Enumeration = .{
1165             .name = "mode",
1166             .since = 1,
1167             .bitfield = false,
1168             .entries = &.{
1169                 .{ .name = "client_side", .value = 1, .since = 1, .deprecated_since = null },
1170                 .{ .name = "server_side", .value = 2, .since = 1, .deprecated_since = null },
1171             },
1172         };
1173         pub const all = [_]schema.Enumeration{ @"error", mode };
1174     };
1175     pub const metadata: schema.Interface = .{
1176         .name = "zxdg_toplevel_decoration_v1",
1177         .version = 2,
1178         .requests = &requests.all,
1179         .events = &events.all,
1180         .enumerations = &enumerations.all,
1181     };
1182 };
1183 
1184 pub const wp_cursor_shape_manager_v1 = struct {
1185     pub const requests = struct {
1186         pub const destroy: schema.Message = .{
1187             .name = "destroy",
1188             .opcode = 0,
1189             .since = 1,
1190             .deprecated_since = null,
1191             .destructor = true,
1192             .signature = "",
1193             .descriptor_count = 0,
1194             .minimum_payload_size = 0,
1195             .arguments = &.{},
1196         };
1197         pub const get_pointer: schema.Message = .{
1198             .name = "get_pointer",
1199             .opcode = 1,
1200             .since = 1,
1201             .deprecated_since = null,
1202             .destructor = false,
1203             .signature = "no",
1204             .descriptor_count = 0,
1205             .minimum_payload_size = 8,
1206             .arguments = &.{
1207                 .{ .name = "cursor_shape_device", .kind = .new_id, .interface = "wp_cursor_shape_device_v1", .enumeration = null, .nullable = false },
1208                 .{ .name = "pointer", .kind = .object, .interface = "wl_pointer", .enumeration = null, .nullable = false },
1209             },
1210         };
1211         pub const get_tablet_tool_v2: schema.Message = .{
1212             .name = "get_tablet_tool_v2",
1213             .opcode = 2,
1214             .since = 1,
1215             .deprecated_since = null,
1216             .destructor = false,
1217             .signature = "no",
1218             .descriptor_count = 0,
1219             .minimum_payload_size = 8,
1220             .arguments = &.{
1221                 .{ .name = "cursor_shape_device", .kind = .new_id, .interface = "wp_cursor_shape_device_v1", .enumeration = null, .nullable = false },
1222                 .{ .name = "tablet_tool", .kind = .object, .interface = "zwp_tablet_tool_v2", .enumeration = null, .nullable = false },
1223             },
1224         };
1225         pub const all = [_]schema.Message{ destroy, get_pointer, get_tablet_tool_v2 };
1226     };
1227     pub const events = struct {
1228         pub const all = [_]schema.Message{};
1229     };
1230     pub const enumerations = struct {
1231         pub const all = [_]schema.Enumeration{};
1232     };
1233     pub const metadata: schema.Interface = .{
1234         .name = "wp_cursor_shape_manager_v1",
1235         .version = 2,
1236         .requests = &requests.all,
1237         .events = &events.all,
1238         .enumerations = &enumerations.all,
1239     };
1240 };
1241 
1242 pub const wp_cursor_shape_device_v1 = struct {
1243     pub const requests = struct {
1244         pub const destroy: schema.Message = .{
1245             .name = "destroy",
1246             .opcode = 0,
1247             .since = 1,
1248             .deprecated_since = null,
1249             .destructor = true,
1250             .signature = "",
1251             .descriptor_count = 0,
1252             .minimum_payload_size = 0,
1253             .arguments = &.{},
1254         };
1255         pub const set_shape: schema.Message = .{
1256             .name = "set_shape",
1257             .opcode = 1,
1258             .since = 1,
1259             .deprecated_since = null,
1260             .destructor = false,
1261             .signature = "uu",
1262             .descriptor_count = 0,
1263             .minimum_payload_size = 8,
1264             .arguments = &.{
1265                 .{ .name = "serial", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1266                 .{ .name = "shape", .kind = .uint, .interface = null, .enumeration = "shape", .nullable = false },
1267             },
1268         };
1269         pub const all = [_]schema.Message{ destroy, set_shape };
1270     };
1271     pub const events = struct {
1272         pub const all = [_]schema.Message{};
1273     };
1274     pub const enumerations = struct {
1275         pub const shape: schema.Enumeration = .{
1276             .name = "shape",
1277             .since = 1,
1278             .bitfield = false,
1279             .entries = &.{
1280                 .{ .name = "default", .value = 1, .since = 1, .deprecated_since = null },
1281                 .{ .name = "context_menu", .value = 2, .since = 1, .deprecated_since = null },
1282                 .{ .name = "help", .value = 3, .since = 1, .deprecated_since = null },
1283                 .{ .name = "pointer", .value = 4, .since = 1, .deprecated_since = null },
1284                 .{ .name = "progress", .value = 5, .since = 1, .deprecated_since = null },
1285                 .{ .name = "wait", .value = 6, .since = 1, .deprecated_since = null },
1286                 .{ .name = "cell", .value = 7, .since = 1, .deprecated_since = null },
1287                 .{ .name = "crosshair", .value = 8, .since = 1, .deprecated_since = null },
1288                 .{ .name = "text", .value = 9, .since = 1, .deprecated_since = null },
1289                 .{ .name = "vertical_text", .value = 10, .since = 1, .deprecated_since = null },
1290                 .{ .name = "alias", .value = 11, .since = 1, .deprecated_since = null },
1291                 .{ .name = "copy", .value = 12, .since = 1, .deprecated_since = null },
1292                 .{ .name = "move", .value = 13, .since = 1, .deprecated_since = null },
1293                 .{ .name = "no_drop", .value = 14, .since = 1, .deprecated_since = null },
1294                 .{ .name = "not_allowed", .value = 15, .since = 1, .deprecated_since = null },
1295                 .{ .name = "grab", .value = 16, .since = 1, .deprecated_since = null },
1296                 .{ .name = "grabbing", .value = 17, .since = 1, .deprecated_since = null },
1297                 .{ .name = "e_resize", .value = 18, .since = 1, .deprecated_since = null },
1298                 .{ .name = "n_resize", .value = 19, .since = 1, .deprecated_since = null },
1299                 .{ .name = "ne_resize", .value = 20, .since = 1, .deprecated_since = null },
1300                 .{ .name = "nw_resize", .value = 21, .since = 1, .deprecated_since = null },
1301                 .{ .name = "s_resize", .value = 22, .since = 1, .deprecated_since = null },
1302                 .{ .name = "se_resize", .value = 23, .since = 1, .deprecated_since = null },
1303                 .{ .name = "sw_resize", .value = 24, .since = 1, .deprecated_since = null },
1304                 .{ .name = "w_resize", .value = 25, .since = 1, .deprecated_since = null },
1305                 .{ .name = "ew_resize", .value = 26, .since = 1, .deprecated_since = null },
1306                 .{ .name = "ns_resize", .value = 27, .since = 1, .deprecated_since = null },
1307                 .{ .name = "nesw_resize", .value = 28, .since = 1, .deprecated_since = null },
1308                 .{ .name = "nwse_resize", .value = 29, .since = 1, .deprecated_since = null },
1309                 .{ .name = "col_resize", .value = 30, .since = 1, .deprecated_since = null },
1310                 .{ .name = "row_resize", .value = 31, .since = 1, .deprecated_since = null },
1311                 .{ .name = "all_scroll", .value = 32, .since = 1, .deprecated_since = null },
1312                 .{ .name = "zoom_in", .value = 33, .since = 1, .deprecated_since = null },
1313                 .{ .name = "zoom_out", .value = 34, .since = 1, .deprecated_since = null },
1314                 .{ .name = "dnd_ask", .value = 35, .since = 2, .deprecated_since = null },
1315                 .{ .name = "all_resize", .value = 36, .since = 2, .deprecated_since = null },
1316             },
1317         };
1318         pub const @"error": schema.Enumeration = .{
1319             .name = "error",
1320             .since = 1,
1321             .bitfield = false,
1322             .entries = &.{
1323                 .{ .name = "invalid_shape", .value = 1, .since = 1, .deprecated_since = null },
1324             },
1325         };
1326         pub const all = [_]schema.Enumeration{ shape, @"error" };
1327     };
1328     pub const metadata: schema.Interface = .{
1329         .name = "wp_cursor_shape_device_v1",
1330         .version = 2,
1331         .requests = &requests.all,
1332         .events = &events.all,
1333         .enumerations = &enumerations.all,
1334     };
1335 };
1336 
1337 pub const wp_presentation = struct {
1338     pub const requests = struct {
1339         pub const destroy: schema.Message = .{
1340             .name = "destroy",
1341             .opcode = 0,
1342             .since = 1,
1343             .deprecated_since = null,
1344             .destructor = true,
1345             .signature = "",
1346             .descriptor_count = 0,
1347             .minimum_payload_size = 0,
1348             .arguments = &.{},
1349         };
1350         pub const feedback: schema.Message = .{
1351             .name = "feedback",
1352             .opcode = 1,
1353             .since = 1,
1354             .deprecated_since = null,
1355             .destructor = false,
1356             .signature = "on",
1357             .descriptor_count = 0,
1358             .minimum_payload_size = 8,
1359             .arguments = &.{
1360                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
1361                 .{ .name = "callback", .kind = .new_id, .interface = "wp_presentation_feedback", .enumeration = null, .nullable = false },
1362             },
1363         };
1364         pub const all = [_]schema.Message{ destroy, feedback };
1365     };
1366     pub const events = struct {
1367         pub const clock_id: schema.Message = .{
1368             .name = "clock_id",
1369             .opcode = 0,
1370             .since = 1,
1371             .deprecated_since = null,
1372             .destructor = false,
1373             .signature = "u",
1374             .descriptor_count = 0,
1375             .minimum_payload_size = 4,
1376             .arguments = &.{
1377                 .{ .name = "clk_id", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1378             },
1379         };
1380         pub const all = [_]schema.Message{clock_id};
1381     };
1382     pub const enumerations = struct {
1383         pub const @"error": schema.Enumeration = .{
1384             .name = "error",
1385             .since = 1,
1386             .bitfield = false,
1387             .entries = &.{
1388                 .{ .name = "invalid_timestamp", .value = 0, .since = 1, .deprecated_since = null },
1389                 .{ .name = "invalid_flag", .value = 1, .since = 1, .deprecated_since = null },
1390             },
1391         };
1392         pub const all = [_]schema.Enumeration{@"error"};
1393     };
1394     pub const metadata: schema.Interface = .{
1395         .name = "wp_presentation",
1396         .version = 2,
1397         .requests = &requests.all,
1398         .events = &events.all,
1399         .enumerations = &enumerations.all,
1400     };
1401 };
1402 
1403 pub const wp_presentation_feedback = struct {
1404     pub const requests = struct {
1405         pub const all = [_]schema.Message{};
1406     };
1407     pub const events = struct {
1408         pub const sync_output: schema.Message = .{
1409             .name = "sync_output",
1410             .opcode = 0,
1411             .since = 1,
1412             .deprecated_since = null,
1413             .destructor = false,
1414             .signature = "o",
1415             .descriptor_count = 0,
1416             .minimum_payload_size = 4,
1417             .arguments = &.{
1418                 .{ .name = "output", .kind = .object, .interface = "wl_output", .enumeration = null, .nullable = false },
1419             },
1420         };
1421         pub const presented: schema.Message = .{
1422             .name = "presented",
1423             .opcode = 1,
1424             .since = 1,
1425             .deprecated_since = null,
1426             .destructor = true,
1427             .signature = "uuuuuuu",
1428             .descriptor_count = 0,
1429             .minimum_payload_size = 28,
1430             .arguments = &.{
1431                 .{ .name = "tv_sec_hi", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1432                 .{ .name = "tv_sec_lo", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1433                 .{ .name = "tv_nsec", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1434                 .{ .name = "refresh", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1435                 .{ .name = "seq_hi", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1436                 .{ .name = "seq_lo", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1437                 .{ .name = "flags", .kind = .uint, .interface = null, .enumeration = "kind", .nullable = false },
1438             },
1439         };
1440         pub const discarded: schema.Message = .{
1441             .name = "discarded",
1442             .opcode = 2,
1443             .since = 1,
1444             .deprecated_since = null,
1445             .destructor = true,
1446             .signature = "",
1447             .descriptor_count = 0,
1448             .minimum_payload_size = 0,
1449             .arguments = &.{},
1450         };
1451         pub const all = [_]schema.Message{ sync_output, presented, discarded };
1452     };
1453     pub const enumerations = struct {
1454         pub const kind: schema.Enumeration = .{
1455             .name = "kind",
1456             .since = 1,
1457             .bitfield = true,
1458             .entries = &.{
1459                 .{ .name = "vsync", .value = 1, .since = 1, .deprecated_since = null },
1460                 .{ .name = "hw_clock", .value = 2, .since = 1, .deprecated_since = null },
1461                 .{ .name = "hw_completion", .value = 4, .since = 1, .deprecated_since = null },
1462                 .{ .name = "zero_copy", .value = 8, .since = 1, .deprecated_since = null },
1463             },
1464         };
1465         pub const all = [_]schema.Enumeration{kind};
1466     };
1467     pub const metadata: schema.Interface = .{
1468         .name = "wp_presentation_feedback",
1469         .version = 2,
1470         .requests = &requests.all,
1471         .events = &events.all,
1472         .enumerations = &enumerations.all,
1473     };
1474 };
1475 
1476 pub const ext_image_capture_source_v1 = struct {
1477     pub const requests = struct {
1478         pub const destroy: schema.Message = .{
1479             .name = "destroy",
1480             .opcode = 0,
1481             .since = 1,
1482             .deprecated_since = null,
1483             .destructor = true,
1484             .signature = "",
1485             .descriptor_count = 0,
1486             .minimum_payload_size = 0,
1487             .arguments = &.{},
1488         };
1489         pub const all = [_]schema.Message{destroy};
1490     };
1491     pub const events = struct {
1492         pub const all = [_]schema.Message{};
1493     };
1494     pub const enumerations = struct {
1495         pub const all = [_]schema.Enumeration{};
1496     };
1497     pub const metadata: schema.Interface = .{
1498         .name = "ext_image_capture_source_v1",
1499         .version = 1,
1500         .requests = &requests.all,
1501         .events = &events.all,
1502         .enumerations = &enumerations.all,
1503     };
1504 };
1505 
1506 pub const ext_output_image_capture_source_manager_v1 = struct {
1507     pub const requests = struct {
1508         pub const create_source: schema.Message = .{
1509             .name = "create_source",
1510             .opcode = 0,
1511             .since = 1,
1512             .deprecated_since = null,
1513             .destructor = false,
1514             .signature = "no",
1515             .descriptor_count = 0,
1516             .minimum_payload_size = 8,
1517             .arguments = &.{
1518                 .{ .name = "source", .kind = .new_id, .interface = "ext_image_capture_source_v1", .enumeration = null, .nullable = false },
1519                 .{ .name = "output", .kind = .object, .interface = "wl_output", .enumeration = null, .nullable = false },
1520             },
1521         };
1522         pub const destroy: schema.Message = .{
1523             .name = "destroy",
1524             .opcode = 1,
1525             .since = 1,
1526             .deprecated_since = null,
1527             .destructor = true,
1528             .signature = "",
1529             .descriptor_count = 0,
1530             .minimum_payload_size = 0,
1531             .arguments = &.{},
1532         };
1533         pub const all = [_]schema.Message{ create_source, destroy };
1534     };
1535     pub const events = struct {
1536         pub const all = [_]schema.Message{};
1537     };
1538     pub const enumerations = struct {
1539         pub const all = [_]schema.Enumeration{};
1540     };
1541     pub const metadata: schema.Interface = .{
1542         .name = "ext_output_image_capture_source_manager_v1",
1543         .version = 1,
1544         .requests = &requests.all,
1545         .events = &events.all,
1546         .enumerations = &enumerations.all,
1547     };
1548 };
1549 
1550 pub const ext_foreign_toplevel_image_capture_source_manager_v1 = struct {
1551     pub const requests = struct {
1552         pub const create_source: schema.Message = .{
1553             .name = "create_source",
1554             .opcode = 0,
1555             .since = 1,
1556             .deprecated_since = null,
1557             .destructor = false,
1558             .signature = "no",
1559             .descriptor_count = 0,
1560             .minimum_payload_size = 8,
1561             .arguments = &.{
1562                 .{ .name = "source", .kind = .new_id, .interface = "ext_image_capture_source_v1", .enumeration = null, .nullable = false },
1563                 .{ .name = "toplevel_handle", .kind = .object, .interface = "ext_foreign_toplevel_handle_v1", .enumeration = null, .nullable = false },
1564             },
1565         };
1566         pub const destroy: schema.Message = .{
1567             .name = "destroy",
1568             .opcode = 1,
1569             .since = 1,
1570             .deprecated_since = null,
1571             .destructor = true,
1572             .signature = "",
1573             .descriptor_count = 0,
1574             .minimum_payload_size = 0,
1575             .arguments = &.{},
1576         };
1577         pub const all = [_]schema.Message{ create_source, destroy };
1578     };
1579     pub const events = struct {
1580         pub const all = [_]schema.Message{};
1581     };
1582     pub const enumerations = struct {
1583         pub const all = [_]schema.Enumeration{};
1584     };
1585     pub const metadata: schema.Interface = .{
1586         .name = "ext_foreign_toplevel_image_capture_source_manager_v1",
1587         .version = 1,
1588         .requests = &requests.all,
1589         .events = &events.all,
1590         .enumerations = &enumerations.all,
1591     };
1592 };
1593 
1594 pub const ext_image_copy_capture_manager_v1 = struct {
1595     pub const requests = struct {
1596         pub const create_session: schema.Message = .{
1597             .name = "create_session",
1598             .opcode = 0,
1599             .since = 1,
1600             .deprecated_since = null,
1601             .destructor = false,
1602             .signature = "nou",
1603             .descriptor_count = 0,
1604             .minimum_payload_size = 12,
1605             .arguments = &.{
1606                 .{ .name = "session", .kind = .new_id, .interface = "ext_image_copy_capture_session_v1", .enumeration = null, .nullable = false },
1607                 .{ .name = "source", .kind = .object, .interface = "ext_image_capture_source_v1", .enumeration = null, .nullable = false },
1608                 .{ .name = "options", .kind = .uint, .interface = null, .enumeration = "options", .nullable = false },
1609             },
1610         };
1611         pub const create_pointer_cursor_session: schema.Message = .{
1612             .name = "create_pointer_cursor_session",
1613             .opcode = 1,
1614             .since = 1,
1615             .deprecated_since = null,
1616             .destructor = false,
1617             .signature = "noo",
1618             .descriptor_count = 0,
1619             .minimum_payload_size = 12,
1620             .arguments = &.{
1621                 .{ .name = "session", .kind = .new_id, .interface = "ext_image_copy_capture_cursor_session_v1", .enumeration = null, .nullable = false },
1622                 .{ .name = "source", .kind = .object, .interface = "ext_image_capture_source_v1", .enumeration = null, .nullable = false },
1623                 .{ .name = "pointer", .kind = .object, .interface = "wl_pointer", .enumeration = null, .nullable = false },
1624             },
1625         };
1626         pub const destroy: schema.Message = .{
1627             .name = "destroy",
1628             .opcode = 2,
1629             .since = 1,
1630             .deprecated_since = null,
1631             .destructor = true,
1632             .signature = "",
1633             .descriptor_count = 0,
1634             .minimum_payload_size = 0,
1635             .arguments = &.{},
1636         };
1637         pub const all = [_]schema.Message{ create_session, create_pointer_cursor_session, destroy };
1638     };
1639     pub const events = struct {
1640         pub const all = [_]schema.Message{};
1641     };
1642     pub const enumerations = struct {
1643         pub const @"error": schema.Enumeration = .{
1644             .name = "error",
1645             .since = 1,
1646             .bitfield = false,
1647             .entries = &.{
1648                 .{ .name = "invalid_option", .value = 1, .since = 1, .deprecated_since = null },
1649             },
1650         };
1651         pub const options: schema.Enumeration = .{
1652             .name = "options",
1653             .since = 1,
1654             .bitfield = true,
1655             .entries = &.{
1656                 .{ .name = "paint_cursors", .value = 1, .since = 1, .deprecated_since = null },
1657             },
1658         };
1659         pub const all = [_]schema.Enumeration{ @"error", options };
1660     };
1661     pub const metadata: schema.Interface = .{
1662         .name = "ext_image_copy_capture_manager_v1",
1663         .version = 1,
1664         .requests = &requests.all,
1665         .events = &events.all,
1666         .enumerations = &enumerations.all,
1667     };
1668 };
1669 
1670 pub const ext_image_copy_capture_session_v1 = struct {
1671     pub const requests = struct {
1672         pub const create_frame: schema.Message = .{
1673             .name = "create_frame",
1674             .opcode = 0,
1675             .since = 1,
1676             .deprecated_since = null,
1677             .destructor = false,
1678             .signature = "n",
1679             .descriptor_count = 0,
1680             .minimum_payload_size = 4,
1681             .arguments = &.{
1682                 .{ .name = "frame", .kind = .new_id, .interface = "ext_image_copy_capture_frame_v1", .enumeration = null, .nullable = false },
1683             },
1684         };
1685         pub const destroy: schema.Message = .{
1686             .name = "destroy",
1687             .opcode = 1,
1688             .since = 1,
1689             .deprecated_since = null,
1690             .destructor = true,
1691             .signature = "",
1692             .descriptor_count = 0,
1693             .minimum_payload_size = 0,
1694             .arguments = &.{},
1695         };
1696         pub const all = [_]schema.Message{ create_frame, destroy };
1697     };
1698     pub const events = struct {
1699         pub const buffer_size: schema.Message = .{
1700             .name = "buffer_size",
1701             .opcode = 0,
1702             .since = 1,
1703             .deprecated_since = null,
1704             .destructor = false,
1705             .signature = "uu",
1706             .descriptor_count = 0,
1707             .minimum_payload_size = 8,
1708             .arguments = &.{
1709                 .{ .name = "width", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1710                 .{ .name = "height", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1711             },
1712         };
1713         pub const shm_format: schema.Message = .{
1714             .name = "shm_format",
1715             .opcode = 1,
1716             .since = 1,
1717             .deprecated_since = null,
1718             .destructor = false,
1719             .signature = "u",
1720             .descriptor_count = 0,
1721             .minimum_payload_size = 4,
1722             .arguments = &.{
1723                 .{ .name = "format", .kind = .uint, .interface = null, .enumeration = "wl_shm.format", .nullable = false },
1724             },
1725         };
1726         pub const dmabuf_device: schema.Message = .{
1727             .name = "dmabuf_device",
1728             .opcode = 2,
1729             .since = 1,
1730             .deprecated_since = null,
1731             .destructor = false,
1732             .signature = "a",
1733             .descriptor_count = 0,
1734             .minimum_payload_size = 4,
1735             .arguments = &.{
1736                 .{ .name = "device", .kind = .array, .interface = null, .enumeration = null, .nullable = false },
1737             },
1738         };
1739         pub const dmabuf_format: schema.Message = .{
1740             .name = "dmabuf_format",
1741             .opcode = 3,
1742             .since = 1,
1743             .deprecated_since = null,
1744             .destructor = false,
1745             .signature = "ua",
1746             .descriptor_count = 0,
1747             .minimum_payload_size = 8,
1748             .arguments = &.{
1749                 .{ .name = "format", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1750                 .{ .name = "modifiers", .kind = .array, .interface = null, .enumeration = null, .nullable = false },
1751             },
1752         };
1753         pub const done: schema.Message = .{
1754             .name = "done",
1755             .opcode = 4,
1756             .since = 1,
1757             .deprecated_since = null,
1758             .destructor = false,
1759             .signature = "",
1760             .descriptor_count = 0,
1761             .minimum_payload_size = 0,
1762             .arguments = &.{},
1763         };
1764         pub const stopped: schema.Message = .{
1765             .name = "stopped",
1766             .opcode = 5,
1767             .since = 1,
1768             .deprecated_since = null,
1769             .destructor = false,
1770             .signature = "",
1771             .descriptor_count = 0,
1772             .minimum_payload_size = 0,
1773             .arguments = &.{},
1774         };
1775         pub const all = [_]schema.Message{ buffer_size, shm_format, dmabuf_device, dmabuf_format, done, stopped };
1776     };
1777     pub const enumerations = struct {
1778         pub const @"error": schema.Enumeration = .{
1779             .name = "error",
1780             .since = 1,
1781             .bitfield = false,
1782             .entries = &.{
1783                 .{ .name = "duplicate_frame", .value = 1, .since = 1, .deprecated_since = null },
1784             },
1785         };
1786         pub const all = [_]schema.Enumeration{@"error"};
1787     };
1788     pub const metadata: schema.Interface = .{
1789         .name = "ext_image_copy_capture_session_v1",
1790         .version = 1,
1791         .requests = &requests.all,
1792         .events = &events.all,
1793         .enumerations = &enumerations.all,
1794     };
1795 };
1796 
1797 pub const ext_image_copy_capture_frame_v1 = struct {
1798     pub const requests = struct {
1799         pub const destroy: schema.Message = .{
1800             .name = "destroy",
1801             .opcode = 0,
1802             .since = 1,
1803             .deprecated_since = null,
1804             .destructor = true,
1805             .signature = "",
1806             .descriptor_count = 0,
1807             .minimum_payload_size = 0,
1808             .arguments = &.{},
1809         };
1810         pub const attach_buffer: schema.Message = .{
1811             .name = "attach_buffer",
1812             .opcode = 1,
1813             .since = 1,
1814             .deprecated_since = null,
1815             .destructor = false,
1816             .signature = "o",
1817             .descriptor_count = 0,
1818             .minimum_payload_size = 4,
1819             .arguments = &.{
1820                 .{ .name = "buffer", .kind = .object, .interface = "wl_buffer", .enumeration = null, .nullable = false },
1821             },
1822         };
1823         pub const damage_buffer: schema.Message = .{
1824             .name = "damage_buffer",
1825             .opcode = 2,
1826             .since = 1,
1827             .deprecated_since = null,
1828             .destructor = false,
1829             .signature = "iiii",
1830             .descriptor_count = 0,
1831             .minimum_payload_size = 16,
1832             .arguments = &.{
1833                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1834                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1835                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1836                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1837             },
1838         };
1839         pub const capture: schema.Message = .{
1840             .name = "capture",
1841             .opcode = 3,
1842             .since = 1,
1843             .deprecated_since = null,
1844             .destructor = false,
1845             .signature = "",
1846             .descriptor_count = 0,
1847             .minimum_payload_size = 0,
1848             .arguments = &.{},
1849         };
1850         pub const all = [_]schema.Message{ destroy, attach_buffer, damage_buffer, capture };
1851     };
1852     pub const events = struct {
1853         pub const transform: schema.Message = .{
1854             .name = "transform",
1855             .opcode = 0,
1856             .since = 1,
1857             .deprecated_since = null,
1858             .destructor = false,
1859             .signature = "u",
1860             .descriptor_count = 0,
1861             .minimum_payload_size = 4,
1862             .arguments = &.{
1863                 .{ .name = "transform", .kind = .uint, .interface = null, .enumeration = "wl_output.transform", .nullable = false },
1864             },
1865         };
1866         pub const damage: schema.Message = .{
1867             .name = "damage",
1868             .opcode = 1,
1869             .since = 1,
1870             .deprecated_since = null,
1871             .destructor = false,
1872             .signature = "iiii",
1873             .descriptor_count = 0,
1874             .minimum_payload_size = 16,
1875             .arguments = &.{
1876                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1877                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1878                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1879                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
1880             },
1881         };
1882         pub const presentation_time: schema.Message = .{
1883             .name = "presentation_time",
1884             .opcode = 2,
1885             .since = 1,
1886             .deprecated_since = null,
1887             .destructor = false,
1888             .signature = "uuu",
1889             .descriptor_count = 0,
1890             .minimum_payload_size = 12,
1891             .arguments = &.{
1892                 .{ .name = "tv_sec_hi", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1893                 .{ .name = "tv_sec_lo", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1894                 .{ .name = "tv_nsec", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
1895             },
1896         };
1897         pub const ready: schema.Message = .{
1898             .name = "ready",
1899             .opcode = 3,
1900             .since = 1,
1901             .deprecated_since = null,
1902             .destructor = false,
1903             .signature = "",
1904             .descriptor_count = 0,
1905             .minimum_payload_size = 0,
1906             .arguments = &.{},
1907         };
1908         pub const failed: schema.Message = .{
1909             .name = "failed",
1910             .opcode = 4,
1911             .since = 1,
1912             .deprecated_since = null,
1913             .destructor = false,
1914             .signature = "u",
1915             .descriptor_count = 0,
1916             .minimum_payload_size = 4,
1917             .arguments = &.{
1918                 .{ .name = "reason", .kind = .uint, .interface = null, .enumeration = "failure_reason", .nullable = false },
1919             },
1920         };
1921         pub const all = [_]schema.Message{ transform, damage, presentation_time, ready, failed };
1922     };
1923     pub const enumerations = struct {
1924         pub const @"error": schema.Enumeration = .{
1925             .name = "error",
1926             .since = 1,
1927             .bitfield = false,
1928             .entries = &.{
1929                 .{ .name = "no_buffer", .value = 1, .since = 1, .deprecated_since = null },
1930                 .{ .name = "invalid_buffer_damage", .value = 2, .since = 1, .deprecated_since = null },
1931                 .{ .name = "already_captured", .value = 3, .since = 1, .deprecated_since = null },
1932             },
1933         };
1934         pub const failure_reason: schema.Enumeration = .{
1935             .name = "failure_reason",
1936             .since = 1,
1937             .bitfield = false,
1938             .entries = &.{
1939                 .{ .name = "unknown", .value = 0, .since = 1, .deprecated_since = null },
1940                 .{ .name = "buffer_constraints", .value = 1, .since = 1, .deprecated_since = null },
1941                 .{ .name = "stopped", .value = 2, .since = 1, .deprecated_since = null },
1942             },
1943         };
1944         pub const all = [_]schema.Enumeration{ @"error", failure_reason };
1945     };
1946     pub const metadata: schema.Interface = .{
1947         .name = "ext_image_copy_capture_frame_v1",
1948         .version = 1,
1949         .requests = &requests.all,
1950         .events = &events.all,
1951         .enumerations = &enumerations.all,
1952     };
1953 };
1954 
1955 pub const ext_image_copy_capture_cursor_session_v1 = struct {
1956     pub const requests = struct {
1957         pub const destroy: schema.Message = .{
1958             .name = "destroy",
1959             .opcode = 0,
1960             .since = 1,
1961             .deprecated_since = null,
1962             .destructor = true,
1963             .signature = "",
1964             .descriptor_count = 0,
1965             .minimum_payload_size = 0,
1966             .arguments = &.{},
1967         };
1968         pub const get_capture_session: schema.Message = .{
1969             .name = "get_capture_session",
1970             .opcode = 1,
1971             .since = 1,
1972             .deprecated_since = null,
1973             .destructor = false,
1974             .signature = "n",
1975             .descriptor_count = 0,
1976             .minimum_payload_size = 4,
1977             .arguments = &.{
1978                 .{ .name = "session", .kind = .new_id, .interface = "ext_image_copy_capture_session_v1", .enumeration = null, .nullable = false },
1979             },
1980         };
1981         pub const all = [_]schema.Message{ destroy, get_capture_session };
1982     };
1983     pub const events = struct {
1984         pub const enter: schema.Message = .{
1985             .name = "enter",
1986             .opcode = 0,
1987             .since = 1,
1988             .deprecated_since = null,
1989             .destructor = false,
1990             .signature = "",
1991             .descriptor_count = 0,
1992             .minimum_payload_size = 0,
1993             .arguments = &.{},
1994         };
1995         pub const leave: schema.Message = .{
1996             .name = "leave",
1997             .opcode = 1,
1998             .since = 1,
1999             .deprecated_since = null,
2000             .destructor = false,
2001             .signature = "",
2002             .descriptor_count = 0,
2003             .minimum_payload_size = 0,
2004             .arguments = &.{},
2005         };
2006         pub const position: schema.Message = .{
2007             .name = "position",
2008             .opcode = 2,
2009             .since = 1,
2010             .deprecated_since = null,
2011             .destructor = false,
2012             .signature = "ii",
2013             .descriptor_count = 0,
2014             .minimum_payload_size = 8,
2015             .arguments = &.{
2016                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2017                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2018             },
2019         };
2020         pub const hotspot: schema.Message = .{
2021             .name = "hotspot",
2022             .opcode = 3,
2023             .since = 1,
2024             .deprecated_since = null,
2025             .destructor = false,
2026             .signature = "ii",
2027             .descriptor_count = 0,
2028             .minimum_payload_size = 8,
2029             .arguments = &.{
2030                 .{ .name = "x", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2031                 .{ .name = "y", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2032             },
2033         };
2034         pub const all = [_]schema.Message{ enter, leave, position, hotspot };
2035     };
2036     pub const enumerations = struct {
2037         pub const @"error": schema.Enumeration = .{
2038             .name = "error",
2039             .since = 1,
2040             .bitfield = false,
2041             .entries = &.{
2042                 .{ .name = "duplicate_session", .value = 1, .since = 1, .deprecated_since = null },
2043             },
2044         };
2045         pub const all = [_]schema.Enumeration{@"error"};
2046     };
2047     pub const metadata: schema.Interface = .{
2048         .name = "ext_image_copy_capture_cursor_session_v1",
2049         .version = 1,
2050         .requests = &requests.all,
2051         .events = &events.all,
2052         .enumerations = &enumerations.all,
2053     };
2054 };
2055 
2056 pub const zwp_linux_dmabuf_v1 = struct {
2057     pub const requests = struct {
2058         pub const destroy: schema.Message = .{
2059             .name = "destroy",
2060             .opcode = 0,
2061             .since = 1,
2062             .deprecated_since = null,
2063             .destructor = true,
2064             .signature = "",
2065             .descriptor_count = 0,
2066             .minimum_payload_size = 0,
2067             .arguments = &.{},
2068         };
2069         pub const create_params: schema.Message = .{
2070             .name = "create_params",
2071             .opcode = 1,
2072             .since = 1,
2073             .deprecated_since = null,
2074             .destructor = false,
2075             .signature = "n",
2076             .descriptor_count = 0,
2077             .minimum_payload_size = 4,
2078             .arguments = &.{
2079                 .{ .name = "params_id", .kind = .new_id, .interface = "zwp_linux_buffer_params_v1", .enumeration = null, .nullable = false },
2080             },
2081         };
2082         pub const get_default_feedback: schema.Message = .{
2083             .name = "get_default_feedback",
2084             .opcode = 2,
2085             .since = 4,
2086             .deprecated_since = null,
2087             .destructor = false,
2088             .signature = "4n",
2089             .descriptor_count = 0,
2090             .minimum_payload_size = 4,
2091             .arguments = &.{
2092                 .{ .name = "id", .kind = .new_id, .interface = "zwp_linux_dmabuf_feedback_v1", .enumeration = null, .nullable = false },
2093             },
2094         };
2095         pub const get_surface_feedback: schema.Message = .{
2096             .name = "get_surface_feedback",
2097             .opcode = 3,
2098             .since = 4,
2099             .deprecated_since = null,
2100             .destructor = false,
2101             .signature = "4no",
2102             .descriptor_count = 0,
2103             .minimum_payload_size = 8,
2104             .arguments = &.{
2105                 .{ .name = "id", .kind = .new_id, .interface = "zwp_linux_dmabuf_feedback_v1", .enumeration = null, .nullable = false },
2106                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
2107             },
2108         };
2109         pub const all = [_]schema.Message{ destroy, create_params, get_default_feedback, get_surface_feedback };
2110     };
2111     pub const events = struct {
2112         pub const format: schema.Message = .{
2113             .name = "format",
2114             .opcode = 0,
2115             .since = 1,
2116             .deprecated_since = 4,
2117             .destructor = false,
2118             .signature = "u",
2119             .descriptor_count = 0,
2120             .minimum_payload_size = 4,
2121             .arguments = &.{
2122                 .{ .name = "format", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2123             },
2124         };
2125         pub const modifier: schema.Message = .{
2126             .name = "modifier",
2127             .opcode = 1,
2128             .since = 3,
2129             .deprecated_since = 4,
2130             .destructor = false,
2131             .signature = "3uuu",
2132             .descriptor_count = 0,
2133             .minimum_payload_size = 12,
2134             .arguments = &.{
2135                 .{ .name = "format", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2136                 .{ .name = "modifier_hi", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2137                 .{ .name = "modifier_lo", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2138             },
2139         };
2140         pub const all = [_]schema.Message{ format, modifier };
2141     };
2142     pub const enumerations = struct {
2143         pub const all = [_]schema.Enumeration{};
2144     };
2145     pub const metadata: schema.Interface = .{
2146         .name = "zwp_linux_dmabuf_v1",
2147         .version = 6,
2148         .requests = &requests.all,
2149         .events = &events.all,
2150         .enumerations = &enumerations.all,
2151     };
2152 };
2153 
2154 pub const zwp_linux_buffer_params_v1 = struct {
2155     pub const requests = struct {
2156         pub const destroy: schema.Message = .{
2157             .name = "destroy",
2158             .opcode = 0,
2159             .since = 1,
2160             .deprecated_since = null,
2161             .destructor = true,
2162             .signature = "",
2163             .descriptor_count = 0,
2164             .minimum_payload_size = 0,
2165             .arguments = &.{},
2166         };
2167         pub const add: schema.Message = .{
2168             .name = "add",
2169             .opcode = 1,
2170             .since = 1,
2171             .deprecated_since = null,
2172             .destructor = false,
2173             .signature = "huuuuu",
2174             .descriptor_count = 1,
2175             .minimum_payload_size = 20,
2176             .arguments = &.{
2177                 .{ .name = "fd", .kind = .fd, .interface = null, .enumeration = null, .nullable = false },
2178                 .{ .name = "plane_idx", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2179                 .{ .name = "offset", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2180                 .{ .name = "stride", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2181                 .{ .name = "modifier_hi", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2182                 .{ .name = "modifier_lo", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2183             },
2184         };
2185         pub const create: schema.Message = .{
2186             .name = "create",
2187             .opcode = 2,
2188             .since = 1,
2189             .deprecated_since = null,
2190             .destructor = false,
2191             .signature = "iiuu",
2192             .descriptor_count = 0,
2193             .minimum_payload_size = 16,
2194             .arguments = &.{
2195                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2196                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2197                 .{ .name = "format", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2198                 .{ .name = "flags", .kind = .uint, .interface = null, .enumeration = "flags", .nullable = false },
2199             },
2200         };
2201         pub const create_immed: schema.Message = .{
2202             .name = "create_immed",
2203             .opcode = 3,
2204             .since = 2,
2205             .deprecated_since = null,
2206             .destructor = false,
2207             .signature = "2niiuu",
2208             .descriptor_count = 0,
2209             .minimum_payload_size = 20,
2210             .arguments = &.{
2211                 .{ .name = "buffer_id", .kind = .new_id, .interface = "wl_buffer", .enumeration = null, .nullable = false },
2212                 .{ .name = "width", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2213                 .{ .name = "height", .kind = .int, .interface = null, .enumeration = null, .nullable = false },
2214                 .{ .name = "format", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2215                 .{ .name = "flags", .kind = .uint, .interface = null, .enumeration = "flags", .nullable = false },
2216             },
2217         };
2218         pub const set_sampling_device: schema.Message = .{
2219             .name = "set_sampling_device",
2220             .opcode = 4,
2221             .since = 6,
2222             .deprecated_since = null,
2223             .destructor = false,
2224             .signature = "6a",
2225             .descriptor_count = 0,
2226             .minimum_payload_size = 4,
2227             .arguments = &.{
2228                 .{ .name = "device", .kind = .array, .interface = null, .enumeration = null, .nullable = false },
2229             },
2230         };
2231         pub const all = [_]schema.Message{ destroy, add, create, create_immed, set_sampling_device };
2232     };
2233     pub const events = struct {
2234         pub const created: schema.Message = .{
2235             .name = "created",
2236             .opcode = 0,
2237             .since = 1,
2238             .deprecated_since = null,
2239             .destructor = false,
2240             .signature = "n",
2241             .descriptor_count = 0,
2242             .minimum_payload_size = 4,
2243             .arguments = &.{
2244                 .{ .name = "buffer", .kind = .new_id, .interface = "wl_buffer", .enumeration = null, .nullable = false },
2245             },
2246         };
2247         pub const failed: schema.Message = .{
2248             .name = "failed",
2249             .opcode = 1,
2250             .since = 1,
2251             .deprecated_since = null,
2252             .destructor = false,
2253             .signature = "",
2254             .descriptor_count = 0,
2255             .minimum_payload_size = 0,
2256             .arguments = &.{},
2257         };
2258         pub const all = [_]schema.Message{ created, failed };
2259     };
2260     pub const enumerations = struct {
2261         pub const @"error": schema.Enumeration = .{
2262             .name = "error",
2263             .since = 1,
2264             .bitfield = false,
2265             .entries = &.{
2266                 .{ .name = "already_used", .value = 0, .since = 1, .deprecated_since = null },
2267                 .{ .name = "plane_idx", .value = 1, .since = 1, .deprecated_since = null },
2268                 .{ .name = "plane_set", .value = 2, .since = 1, .deprecated_since = null },
2269                 .{ .name = "incomplete", .value = 3, .since = 1, .deprecated_since = null },
2270                 .{ .name = "invalid_format", .value = 4, .since = 1, .deprecated_since = null },
2271                 .{ .name = "invalid_dimensions", .value = 5, .since = 1, .deprecated_since = null },
2272                 .{ .name = "out_of_bounds", .value = 6, .since = 1, .deprecated_since = null },
2273                 .{ .name = "invalid_wl_buffer", .value = 7, .since = 1, .deprecated_since = null },
2274                 .{ .name = "invalid_dev_t_size", .value = 8, .since = 1, .deprecated_since = null },
2275             },
2276         };
2277         pub const flags: schema.Enumeration = .{
2278             .name = "flags",
2279             .since = 1,
2280             .bitfield = true,
2281             .entries = &.{
2282                 .{ .name = "y_invert", .value = 1, .since = 1, .deprecated_since = null },
2283                 .{ .name = "interlaced", .value = 2, .since = 1, .deprecated_since = null },
2284                 .{ .name = "bottom_first", .value = 4, .since = 1, .deprecated_since = null },
2285             },
2286         };
2287         pub const all = [_]schema.Enumeration{ @"error", flags };
2288     };
2289     pub const metadata: schema.Interface = .{
2290         .name = "zwp_linux_buffer_params_v1",
2291         .version = 6,
2292         .requests = &requests.all,
2293         .events = &events.all,
2294         .enumerations = &enumerations.all,
2295     };
2296 };
2297 
2298 pub const zwp_linux_dmabuf_feedback_v1 = struct {
2299     pub const requests = struct {
2300         pub const destroy: schema.Message = .{
2301             .name = "destroy",
2302             .opcode = 0,
2303             .since = 1,
2304             .deprecated_since = null,
2305             .destructor = true,
2306             .signature = "",
2307             .descriptor_count = 0,
2308             .minimum_payload_size = 0,
2309             .arguments = &.{},
2310         };
2311         pub const all = [_]schema.Message{destroy};
2312     };
2313     pub const events = struct {
2314         pub const done: schema.Message = .{
2315             .name = "done",
2316             .opcode = 0,
2317             .since = 1,
2318             .deprecated_since = null,
2319             .destructor = false,
2320             .signature = "",
2321             .descriptor_count = 0,
2322             .minimum_payload_size = 0,
2323             .arguments = &.{},
2324         };
2325         pub const format_table: schema.Message = .{
2326             .name = "format_table",
2327             .opcode = 1,
2328             .since = 1,
2329             .deprecated_since = null,
2330             .destructor = false,
2331             .signature = "hu",
2332             .descriptor_count = 1,
2333             .minimum_payload_size = 4,
2334             .arguments = &.{
2335                 .{ .name = "fd", .kind = .fd, .interface = null, .enumeration = null, .nullable = false },
2336                 .{ .name = "size", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2337             },
2338         };
2339         pub const main_device: schema.Message = .{
2340             .name = "main_device",
2341             .opcode = 2,
2342             .since = 1,
2343             .deprecated_since = 6,
2344             .destructor = false,
2345             .signature = "a",
2346             .descriptor_count = 0,
2347             .minimum_payload_size = 4,
2348             .arguments = &.{
2349                 .{ .name = "device", .kind = .array, .interface = null, .enumeration = null, .nullable = false },
2350             },
2351         };
2352         pub const tranche_done: schema.Message = .{
2353             .name = "tranche_done",
2354             .opcode = 3,
2355             .since = 1,
2356             .deprecated_since = null,
2357             .destructor = false,
2358             .signature = "",
2359             .descriptor_count = 0,
2360             .minimum_payload_size = 0,
2361             .arguments = &.{},
2362         };
2363         pub const tranche_target_device: schema.Message = .{
2364             .name = "tranche_target_device",
2365             .opcode = 4,
2366             .since = 1,
2367             .deprecated_since = null,
2368             .destructor = false,
2369             .signature = "a",
2370             .descriptor_count = 0,
2371             .minimum_payload_size = 4,
2372             .arguments = &.{
2373                 .{ .name = "device", .kind = .array, .interface = null, .enumeration = null, .nullable = false },
2374             },
2375         };
2376         pub const tranche_formats: schema.Message = .{
2377             .name = "tranche_formats",
2378             .opcode = 5,
2379             .since = 1,
2380             .deprecated_since = null,
2381             .destructor = false,
2382             .signature = "a",
2383             .descriptor_count = 0,
2384             .minimum_payload_size = 4,
2385             .arguments = &.{
2386                 .{ .name = "indices", .kind = .array, .interface = null, .enumeration = null, .nullable = false },
2387             },
2388         };
2389         pub const tranche_flags: schema.Message = .{
2390             .name = "tranche_flags",
2391             .opcode = 6,
2392             .since = 1,
2393             .deprecated_since = null,
2394             .destructor = false,
2395             .signature = "u",
2396             .descriptor_count = 0,
2397             .minimum_payload_size = 4,
2398             .arguments = &.{
2399                 .{ .name = "flags", .kind = .uint, .interface = null, .enumeration = "tranche_flags", .nullable = false },
2400             },
2401         };
2402         pub const all = [_]schema.Message{ done, format_table, main_device, tranche_done, tranche_target_device, tranche_formats, tranche_flags };
2403     };
2404     pub const enumerations = struct {
2405         pub const tranche_flags: schema.Enumeration = .{
2406             .name = "tranche_flags",
2407             .since = 1,
2408             .bitfield = true,
2409             .entries = &.{
2410                 .{ .name = "scanout", .value = 1, .since = 4, .deprecated_since = null },
2411                 .{ .name = "sampling", .value = 2, .since = 6, .deprecated_since = null },
2412             },
2413         };
2414         pub const all = [_]schema.Enumeration{tranche_flags};
2415     };
2416     pub const metadata: schema.Interface = .{
2417         .name = "zwp_linux_dmabuf_feedback_v1",
2418         .version = 6,
2419         .requests = &requests.all,
2420         .events = &events.all,
2421         .enumerations = &enumerations.all,
2422     };
2423 };
2424 
2425 pub const wp_linux_drm_syncobj_manager_v1 = struct {
2426     pub const requests = struct {
2427         pub const destroy: schema.Message = .{
2428             .name = "destroy",
2429             .opcode = 0,
2430             .since = 1,
2431             .deprecated_since = null,
2432             .destructor = true,
2433             .signature = "",
2434             .descriptor_count = 0,
2435             .minimum_payload_size = 0,
2436             .arguments = &.{},
2437         };
2438         pub const get_surface: schema.Message = .{
2439             .name = "get_surface",
2440             .opcode = 1,
2441             .since = 1,
2442             .deprecated_since = null,
2443             .destructor = false,
2444             .signature = "no",
2445             .descriptor_count = 0,
2446             .minimum_payload_size = 8,
2447             .arguments = &.{
2448                 .{ .name = "id", .kind = .new_id, .interface = "wp_linux_drm_syncobj_surface_v1", .enumeration = null, .nullable = false },
2449                 .{ .name = "surface", .kind = .object, .interface = "wl_surface", .enumeration = null, .nullable = false },
2450             },
2451         };
2452         pub const import_timeline: schema.Message = .{
2453             .name = "import_timeline",
2454             .opcode = 2,
2455             .since = 1,
2456             .deprecated_since = null,
2457             .destructor = false,
2458             .signature = "nh",
2459             .descriptor_count = 1,
2460             .minimum_payload_size = 4,
2461             .arguments = &.{
2462                 .{ .name = "id", .kind = .new_id, .interface = "wp_linux_drm_syncobj_timeline_v1", .enumeration = null, .nullable = false },
2463                 .{ .name = "fd", .kind = .fd, .interface = null, .enumeration = null, .nullable = false },
2464             },
2465         };
2466         pub const all = [_]schema.Message{ destroy, get_surface, import_timeline };
2467     };
2468     pub const events = struct {
2469         pub const all = [_]schema.Message{};
2470     };
2471     pub const enumerations = struct {
2472         pub const @"error": schema.Enumeration = .{
2473             .name = "error",
2474             .since = 1,
2475             .bitfield = false,
2476             .entries = &.{
2477                 .{ .name = "surface_exists", .value = 0, .since = 1, .deprecated_since = null },
2478                 .{ .name = "invalid_timeline", .value = 1, .since = 1, .deprecated_since = null },
2479             },
2480         };
2481         pub const all = [_]schema.Enumeration{@"error"};
2482     };
2483     pub const metadata: schema.Interface = .{
2484         .name = "wp_linux_drm_syncobj_manager_v1",
2485         .version = 1,
2486         .requests = &requests.all,
2487         .events = &events.all,
2488         .enumerations = &enumerations.all,
2489     };
2490 };
2491 
2492 pub const wp_linux_drm_syncobj_timeline_v1 = struct {
2493     pub const requests = struct {
2494         pub const destroy: schema.Message = .{
2495             .name = "destroy",
2496             .opcode = 0,
2497             .since = 1,
2498             .deprecated_since = null,
2499             .destructor = true,
2500             .signature = "",
2501             .descriptor_count = 0,
2502             .minimum_payload_size = 0,
2503             .arguments = &.{},
2504         };
2505         pub const all = [_]schema.Message{destroy};
2506     };
2507     pub const events = struct {
2508         pub const all = [_]schema.Message{};
2509     };
2510     pub const enumerations = struct {
2511         pub const all = [_]schema.Enumeration{};
2512     };
2513     pub const metadata: schema.Interface = .{
2514         .name = "wp_linux_drm_syncobj_timeline_v1",
2515         .version = 1,
2516         .requests = &requests.all,
2517         .events = &events.all,
2518         .enumerations = &enumerations.all,
2519     };
2520 };
2521 
2522 pub const wp_linux_drm_syncobj_surface_v1 = struct {
2523     pub const requests = struct {
2524         pub const destroy: schema.Message = .{
2525             .name = "destroy",
2526             .opcode = 0,
2527             .since = 1,
2528             .deprecated_since = null,
2529             .destructor = true,
2530             .signature = "",
2531             .descriptor_count = 0,
2532             .minimum_payload_size = 0,
2533             .arguments = &.{},
2534         };
2535         pub const set_acquire_point: schema.Message = .{
2536             .name = "set_acquire_point",
2537             .opcode = 1,
2538             .since = 1,
2539             .deprecated_since = null,
2540             .destructor = false,
2541             .signature = "ouu",
2542             .descriptor_count = 0,
2543             .minimum_payload_size = 12,
2544             .arguments = &.{
2545                 .{ .name = "timeline", .kind = .object, .interface = "wp_linux_drm_syncobj_timeline_v1", .enumeration = null, .nullable = false },
2546                 .{ .name = "point_hi", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2547                 .{ .name = "point_lo", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2548             },
2549         };
2550         pub const set_release_point: schema.Message = .{
2551             .name = "set_release_point",
2552             .opcode = 2,
2553             .since = 1,
2554             .deprecated_since = null,
2555             .destructor = false,
2556             .signature = "ouu",
2557             .descriptor_count = 0,
2558             .minimum_payload_size = 12,
2559             .arguments = &.{
2560                 .{ .name = "timeline", .kind = .object, .interface = "wp_linux_drm_syncobj_timeline_v1", .enumeration = null, .nullable = false },
2561                 .{ .name = "point_hi", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2562                 .{ .name = "point_lo", .kind = .uint, .interface = null, .enumeration = null, .nullable = false },
2563             },
2564         };
2565         pub const all = [_]schema.Message{ destroy, set_acquire_point, set_release_point };
2566     };
2567     pub const events = struct {
2568         pub const all = [_]schema.Message{};
2569     };
2570     pub const enumerations = struct {
2571         pub const @"error": schema.Enumeration = .{
2572             .name = "error",
2573             .since = 1,
2574             .bitfield = false,
2575             .entries = &.{
2576                 .{ .name = "no_surface", .value = 1, .since = 1, .deprecated_since = null },
2577                 .{ .name = "unsupported_buffer", .value = 2, .since = 1, .deprecated_since = null },
2578                 .{ .name = "no_buffer", .value = 3, .since = 1, .deprecated_since = null },
2579                 .{ .name = "no_acquire_point", .value = 4, .since = 1, .deprecated_since = null },
2580                 .{ .name = "no_release_point", .value = 5, .since = 1, .deprecated_since = null },
2581                 .{ .name = "conflicting_points", .value = 6, .since = 1, .deprecated_since = null },
2582             },
2583         };
2584         pub const all = [_]schema.Enumeration{@"error"};
2585     };
2586     pub const metadata: schema.Interface = .{
2587         .name = "wp_linux_drm_syncobj_surface_v1",
2588         .version = 1,
2589         .requests = &requests.all,
2590         .events = &events.all,
2591         .enumerations = &enumerations.all,
2592     };
2593 };
2594 
2595 pub const interfaces = [_]schema.Interface{ xdg_wm_base.metadata, xdg_positioner.metadata, xdg_surface.metadata, xdg_toplevel.metadata, xdg_popup.metadata, wp_viewporter.metadata, wp_viewport.metadata, wp_fractional_scale_manager_v1.metadata, wp_fractional_scale_v1.metadata, zxdg_decoration_manager_v1.metadata, zxdg_toplevel_decoration_v1.metadata, wp_cursor_shape_manager_v1.metadata, wp_cursor_shape_device_v1.metadata, wp_presentation.metadata, wp_presentation_feedback.metadata, ext_image_capture_source_v1.metadata, ext_output_image_capture_source_manager_v1.metadata, ext_foreign_toplevel_image_capture_source_manager_v1.metadata, ext_image_copy_capture_manager_v1.metadata, ext_image_copy_capture_session_v1.metadata, ext_image_copy_capture_frame_v1.metadata, ext_image_copy_capture_cursor_session_v1.metadata, zwp_linux_dmabuf_v1.metadata, zwp_linux_buffer_params_v1.metadata, zwp_linux_dmabuf_feedback_v1.metadata, wp_linux_drm_syncobj_manager_v1.metadata, wp_linux_drm_syncobj_timeline_v1.metadata, wp_linux_drm_syncobj_surface_v1.metadata };