1
0
Fork 0
forked from wry/wry

wire: derive message id from position

This commit is contained in:
Julian Orth 2024-04-08 12:02:12 +02:00
parent c473d63df3
commit 5e8b69c909
98 changed files with 492 additions and 499 deletions

View file

@ -53,6 +53,7 @@ struct Token<'a> {
#[derive(Debug)]
enum TokenKind<'a> {
Ident(&'a BStr),
#[allow(dead_code)]
Num(u32),
Tree {
delim: TreeDelim,
@ -231,7 +232,7 @@ struct Field {
struct Message {
name: BString,
camel_name: BString,
id: Lined<u32>,
id: u32,
fields: Vec<Lined<Field>>,
}
@ -252,12 +253,8 @@ impl<'a> Parser<'a> {
b"event" => &mut events,
_ => bail!("In line {}: Unexpected entry {:?}", line, ty),
};
let msg = self.parse_message()?;
if msg.val.id.val != *num {
bail!("{} != {}", msg.val.id.val, *num);
}
res.push(self.parse_message(*num)?);
*num += 1;
res.push(msg);
}
Ok(res)
}
@ -283,11 +280,9 @@ impl<'a> Parser<'a> {
Ok(())
}
fn parse_message(&mut self) -> Result<Lined<Message>> {
fn parse_message(&mut self, id: u32) -> Result<Lined<Message>> {
let (line, name) = self.expect_ident()?;
let res: Result<_> = (|| {
self.expect_symbol(Symbol::Equals)?;
let (num_line, val) = self.expect_number()?;
let (_, body) = self.expect_tree(TreeDelim::Brace)?;
let mut parser = Parser {
pos: 0,
@ -302,10 +297,7 @@ impl<'a> Parser<'a> {
val: Message {
name: name.to_owned(),
camel_name: to_camel(name),
id: Lined {
line: num_line,
val,
},
id,
fields,
},
})
@ -346,6 +338,7 @@ impl<'a> Parser<'a> {
}
}
#[allow(dead_code)]
fn expect_number(&mut self) -> Result<(u32, u32)> {
self.not_eof()?;
let token = &self.tokens[self.pos];
@ -596,7 +589,7 @@ fn write_message<W: Write>(f: &mut W, obj: &BStr, message: &Message) -> Result<(
let uppercase = message.name.to_ascii_uppercase();
let uppercase = uppercase.as_bstr();
writeln!(f)?;
writeln!(f, " pub const {}: u32 = {};", uppercase, message.id.val)?;
writeln!(f, " pub const {}: u32 = {};", uppercase, message.id)?;
write_message_type(f, obj, message, has_reference_type)?;
let lifetime = if has_reference_type { "<'a>" } else { "" };
let lifetime_b = if has_reference_type { "<'b>" } else { "" };
@ -615,7 +608,7 @@ fn write_message<W: Write>(f: &mut W, obj: &BStr, message: &Message) -> Result<(
" type Generic<'b> = {}{};",
message.camel_name, lifetime_b,
)?;
writeln!(f, " const ID: u32 = {};", message.id.val,)?;
writeln!(f, " const ID: u32 = {};", message.id)?;
writeln!(
f,
" fn parse({}: &mut MsgParser<'_, 'a>) -> Result<Self, MsgParserError> {{",

View file

@ -1,24 +1,24 @@
# requests
request destroy = 0 {
request destroy {
}
# events
event closed = 0 {
event closed {
}
event done = 1 {
event done {
}
event title = 2 {
event title {
title: str,
}
event app_id = 3 {
event app_id {
app_id: str,
}
event identifier = 4 {
event identifier {
identifier: str,
}

View file

@ -1,16 +1,16 @@
# requests
request stop = 0 {
request stop {
}
request destroy = 1 {
request destroy {
}
# events
event toplevel = 0 {
event toplevel {
toplevel: id(ext_foreign_toplevel_handle_v1),
}
event finished = 1 {
event finished {
}

View file

@ -1,12 +1,12 @@
# requests
request destroy = 0 {
request destroy {
}
# events
event idled = 0 {
event idled {
}
event resumed = 1 {
event resumed {
}

View file

@ -1,9 +1,9 @@
# requests
request destroy = 0 {
request destroy {
}
request get_idle_notification = 1 {
request get_idle_notification {
id: id(ext_idle_notification_v1),
timeout: u32,
seat: id(wl_seat),

View file

@ -1,8 +1,8 @@
# requests
request destroy = 0 {
request destroy {
}
request lock = 1 {
request lock {
id: id(ext_session_lock_v1),
}

View file

@ -1,16 +1,16 @@
# request
request destroy = 0 {
request destroy {
}
request ack_configure = 1 {
request ack_configure {
serial: u32,
}
# events
event configure = 0 {
event configure {
serial: u32,
width: u32,
height: u32,

View file

@ -1,25 +1,25 @@
# requests
request destroy = 0 {
request destroy {
}
request get_lock_surface = 1 {
request get_lock_surface {
id: id(ext_session_lock_surface_v1),
surface: id(wl_surface),
output: id(wl_output),
}
request unlock_and_destroy = 2 {
request unlock_and_destroy {
}
# events
event locked = 0 {
event locked {
}
event finished = 1 {
event finished {
}

View file

@ -1,90 +1,90 @@
# requests
request destroy = 0 {
request destroy {
}
request get_log_file = 1 {
request get_log_file {
id: id(jay_log_file),
}
request quit = 2 {
request quit {
}
request set_log_level = 3 {
request set_log_level {
level: u32,
}
request take_screenshot = 4 {
request take_screenshot {
id: id(jay_screenshot),
}
request get_idle = 5 {
request get_idle {
id: id(jay_idle),
}
request get_client_id = 6 {
request get_client_id {
}
request enable_symmetric_delete = 7 {
request enable_symmetric_delete {
}
request unlock = 8 {
request unlock {
}
request get_seats = 9 {
request get_seats {
}
request seat_events = 10 {
request seat_events {
id: id(jay_seat_events),
}
request get_output = 11 {
request get_output {
id: id(jay_output),
output: id(wl_output),
}
request get_pointer = 12 {
request get_pointer {
id: id(jay_pointer),
seat: id(wl_seat),
}
request get_render_ctx = 13 {
request get_render_ctx {
id: id(jay_render_ctx),
}
request watch_workspaces = 14 {
request watch_workspaces {
id: id(jay_workspace_watcher),
}
request create_screencast = 15 {
request create_screencast {
id: id(jay_screencast),
}
request get_randr = 16 {
request get_randr {
id: id(jay_randr),
}
request get_input = 17 {
request get_input {
id: id(jay_input),
}
request take_screenshot2 = 18 {
request take_screenshot2 {
id: id(jay_screenshot),
include_cursor: u32,
}
# events
event client_id = 0 {
event client_id {
client_id: pod(u64),
}
event seat = 1 {
event seat {
id: u32,
name: str,
}

View file

@ -1,19 +1,19 @@
# requests
request get_status = 0 {
request get_status {
}
request set_interval = 1 {
request set_interval {
interval: pod(u64),
}
# events
event interval = 0 {
event interval {
interval: pod(u64),
}
event inhibitor = 1 {
event inhibitor {
surface: id(wl_surface),
client_id: pod(u64),
pid: pod(u64),

View file

@ -1,75 +1,75 @@
# requests
request destroy = 0 {
request destroy {
}
request get_all = 1 {
request get_all {
}
request set_repeat_rate = 2 {
request set_repeat_rate {
seat: str,
repeat_rate: i32,
repeat_delay: i32,
}
request set_keymap = 3 {
request set_keymap {
seat: str,
keymap: fd,
keymap_len: u32,
}
request use_hardware_cursor = 4 {
request use_hardware_cursor {
seat: str,
use_hardware_cursor: u32,
}
request get_keymap = 5 {
request get_keymap {
seat: str,
}
request set_accel_profile = 6 {
request set_accel_profile {
id: u32,
profile: i32,
}
request set_accel_speed = 7 {
request set_accel_speed {
id: u32,
speed: pod(f64),
}
request set_tap_enabled = 8 {
request set_tap_enabled {
id: u32,
enabled: u32,
}
request set_tap_drag_enabled = 9 {
request set_tap_drag_enabled {
id: u32,
enabled: u32,
}
request set_tap_drag_lock_enabled = 10 {
request set_tap_drag_lock_enabled {
id: u32,
enabled: u32,
}
request set_left_handed = 11 {
request set_left_handed {
id: u32,
enabled: u32,
}
request set_natural_scrolling = 12 {
request set_natural_scrolling {
id: u32,
enabled: u32,
}
request set_px_per_wheel_scroll = 13 {
request set_px_per_wheel_scroll {
id: u32,
px: pod(f64),
}
request set_transform_matrix = 14 {
request set_transform_matrix {
id: u32,
m11: pod(f64),
m12: pod(f64),
@ -77,38 +77,38 @@ request set_transform_matrix = 14 {
m22: pod(f64),
}
request set_cursor_size = 15 {
request set_cursor_size {
seat: str,
size: u32,
}
request attach = 16 {
request attach {
id: u32,
seat: str,
}
request detach = 17 {
request detach {
id: u32,
}
request get_seat = 18 {
request get_seat {
name: str,
}
request get_device = 19 {
request get_device {
id: u32,
}
# events
event seat = 0 {
event seat {
name: str,
repeat_rate: i32,
repeat_delay: i32,
hardware_cursor: u32,
}
event input_device = 1 {
event input_device {
id: u32,
name: str,
seat: str,
@ -130,11 +130,11 @@ event input_device = 1 {
transform_matrix: array(pod(u8)),
}
event error = 2 {
event error {
msg: str,
}
event keymap = 3 {
event keymap {
keymap: fd,
keymap_len: u32,
}

View file

@ -1,10 +1,10 @@
# requests
request destroy = 0 {
request destroy {
}
# events
event path = 0 {
event path {
path: bstr,
}

View file

@ -1,19 +1,19 @@
# requests
request destroy = 0 {
request destroy {
}
# events
event linear_id = 0 {
event linear_id {
linear_id: u32,
}
event unused = 1 {
event unused {
}
event destroyed = 2 {
event destroyed {
}

View file

@ -1,9 +1,9 @@
# requests
request destroy = 0 {
request destroy {
}
request set_known_cursor = 1 {
request set_known_cursor {
idx: u32,
}

View file

@ -1,62 +1,62 @@
# requests
request destroy = 0 {
request destroy {
}
request get = 1 {
request get {
}
request set_api = 2 {
request set_api {
dev: str,
api: str,
}
request make_render_device = 3 {
request make_render_device {
dev: str,
}
request set_direct_scanout = 4 {
request set_direct_scanout {
dev: str,
enabled: u32,
}
request set_transform = 5 {
request set_transform {
output: str,
transform: i32,
}
request set_scale = 6 {
request set_scale {
output: str,
scale: u32,
}
request set_mode = 7 {
request set_mode {
output: str,
width: i32,
height: i32,
refresh_rate_millihz: u32,
}
request set_position = 8 {
request set_position {
output: str,
x: i32,
y: i32,
}
request set_enabled = 9 {
request set_enabled {
output: str,
enabled: u32,
}
# events
event global = 0 {
event global {
default_gfx_api: str,
}
event drm_device = 1 {
event drm_device {
id: pod(u64),
syspath: str,
vendor: u32,
@ -68,14 +68,14 @@ event drm_device = 1 {
render_device: u32,
}
event connector = 2 {
event connector {
id: pod(u64),
drm_device: pod(u64),
name: str,
enabled: u32,
}
event output = 3 {
event output {
scale: u32,
width: i32,
height: i32,
@ -89,13 +89,13 @@ event output = 3 {
height_mm: i32,
}
event mode = 4 {
event mode {
width: i32,
height: i32,
refresh_rate_millihz: u32,
current: u32,
}
event error = 5 {
event error {
msg: str,
}

View file

@ -1,15 +1,15 @@
# requests
request destroy = 0 {
request destroy {
}
# events
event no_device = 0 {
event no_device {
}
event device = 1 {
event device {
fd: fd,
}

View file

@ -1,99 +1,99 @@
# requests
request destroy = 0 {
request destroy {
}
request set_output = 1 {
request set_output {
output: id(jay_output),
}
request set_allow_all_workspaces = 2 {
request set_allow_all_workspaces {
allow_all: u32,
}
request allow_workspace = 3 {
request allow_workspace {
workspace: id(jay_workspace),
}
request touch_allowed_workspaces = 4 {
request touch_allowed_workspaces {
}
request set_use_linear_buffers = 5 {
request set_use_linear_buffers {
use_linear: u32,
}
request set_running = 6 {
request set_running {
running: u32,
}
request configure = 7 {
request configure {
}
request ack_buffers = 8 {
request ack_buffers {
serial: u32,
}
request ack_config = 9 {
request ack_config {
serial: u32,
}
request release_buffer = 10 {
request release_buffer {
idx: u32,
}
# events
event plane = 0 {
event plane {
fd: fd,
offset: u32,
stride: u32,
}
event buffer = 1 {
event buffer {
format: u32,
modifier: pod(u64),
width: i32,
height: i32,
}
event buffers_done = 2 {
event buffers_done {
serial: u32,
}
event ready = 3 {
event ready {
idx: u32,
}
event destroyed = 4 {
event destroyed {
}
event missed_frame = 5 {
event missed_frame {
}
event config_output = 6 {
event config_output {
linear_id: u32,
}
event config_allow_all_workspaces = 7 {
event config_allow_all_workspaces {
allow_all: u32,
}
event config_allow_workspace = 8 {
event config_allow_workspace {
linear_id: u32,
}
event config_use_linear_buffers = 9 {
event config_use_linear_buffers {
use_linear: u32,
}
event config_running = 10 {
event config_running {
running: u32,
}
event config_done = 11 {
event config_done {
serial: u32,
}

View file

@ -1,6 +1,6 @@
# events
event dmabuf = 0 {
event dmabuf {
drm_dev: fd,
fd: fd,
width: u32,
@ -11,6 +11,6 @@ event dmabuf = 0 {
modifier_hi: u32,
}
event error = 1 {
event error {
msg: str,
}

View file

@ -1,20 +1,20 @@
# events
event key = 0 {
event key {
seat: u32,
time_usec: pod(u64),
key: u32,
state: u32,
}
event pointer_abs = 1 {
event pointer_abs {
seat: u32,
time_usec: pod(u64),
x: fixed,
y: fixed,
}
event pointer_rel = 2 {
event pointer_rel {
seat: u32,
time_usec: pod(u64),
x: fixed,
@ -25,47 +25,47 @@ event pointer_rel = 2 {
dy_unaccelerated: fixed,
}
event button = 3 {
event button {
seat: u32,
time_usec: pod(u64),
button: u32,
state: u32,
}
event unused = 4 {
event unused {
}
event axis_source = 5 {
event axis_source {
source: u32,
}
event axis_px = 6 {
event axis_px {
dist: fixed,
axis: u32,
}
event axis_stop = 7 {
event axis_stop {
axis: u32,
}
event axis_120 = 8 {
event axis_120 {
dist: i32,
axis: u32,
}
event axis_frame = 9 {
event axis_frame {
seat: u32,
time_usec: pod(u64),
}
event modifiers = 10 {
event modifiers {
seat: u32,
modifiers: u32,
group: u32,
}
event axis_inverted = 11 {
event axis_inverted {
inverted: u32,
axis: u32,
}

View file

@ -1,31 +1,31 @@
# requests
request destroy = 0 {
request destroy {
}
# events
event linear_id = 0 {
event linear_id {
linear_id: u32,
}
event name = 1 {
event name {
name: str,
}
event destroyed = 2 {
event destroyed {
}
event done = 3 {
event done {
}
event output = 4 {
event output {
global_name: u32,
}
event visible = 5 {
event visible {
visible: u32,
}

View file

@ -1,12 +1,12 @@
# requests
request destroy = 0 {
request destroy {
}
# events
event new = 0 {
event new {
id: id(jay_workspace),
linear_id: u32,
}

View file

@ -1,15 +1,15 @@
# requests
request release = 0 {
request release {
}
request request_mode = 1 {
request request_mode {
mode: u32,
}
# events
event mode = 0 {
event mode {
mode: u32,
}

View file

@ -1,12 +1,12 @@
# requests
request create = 0 {
request create {
id: id(org_kde_kwin_server_decoration),
surface: id(wl_surface),
}
# events
event default_mode = 0 {
event default_mode {
mode: u32,
}

View file

@ -1,11 +1,11 @@
# requests
request destroy = 0 {
request destroy {
}
# events
event release = 0 {
event release {
}

View file

@ -1,5 +1,5 @@
# events
event done = 0 {
event done {
callback_data: u32,
}

View file

@ -1,9 +1,9 @@
# requests
request create_surface = 0 {
request create_surface {
id: id(wl_surface),
}
request create_region = 1 {
request create_region {
id: id(wl_region),
}

View file

@ -1,28 +1,28 @@
# requests
request start_drag = 0 {
request start_drag {
source: id(wl_data_source),
origin: id(wl_surface),
icon: id(wl_surface),
serial: u32,
}
request set_selection = 1 {
request set_selection {
source: id(wl_data_source),
serial: u32,
}
request release = 2 {
request release {
}
# events
event data_offer = 0 {
event data_offer {
id: id(wl_data_offer),
}
event enter = 1 {
event enter {
serial: u32,
surface: id(wl_surface),
x: fixed,
@ -30,20 +30,20 @@ event enter = 1 {
id: id(wl_data_offer),
}
event leave = 2 {
event leave {
}
event motion = 3 {
event motion {
time: u32,
x: fixed,
y: fixed,
}
event drop = 4 {
event drop {
}
event selection = 5 {
event selection {
id: id(wl_data_offer),
}

View file

@ -1,10 +1,10 @@
# requests
request create_data_source = 0 {
request create_data_source {
id: id(wl_data_source),
}
request get_data_device = 1 {
request get_data_device {
id: id(wl_data_device),
seat: id(wl_seat),
}

View file

@ -1,36 +1,36 @@
# requests
request accept = 0 {
request accept {
serial: u32,
mime_type: optstr,
}
request receive = 1 {
request receive {
mime_type: str,
fd: fd,
}
request destroy = 2 {
request destroy {
}
request finish = 3 {
request finish {
}
request set_actions = 4 {
request set_actions {
dnd_actions: u32,
preferred_action: u32,
}
# events
event offer = 0 {
event offer {
mime_type: str,
}
event source_actions = 1 {
event source_actions {
source_actions: u32,
}
event action = 2 {
event action {
dnd_action: u32,
}

View file

@ -1,40 +1,40 @@
# requests
request offer = 0 {
request offer {
mime_type: str,
}
request destroy = 1 {
request destroy {
}
request set_actions = 2 {
request set_actions {
dnd_actions: u32,
}
# events
event target = 0 {
event target {
mime_type: optstr,
}
event send = 1 {
event send {
mime_type: str,
fd: fd,
}
event cancelled = 2 {
event cancelled {
}
event dnd_drop_performed = 3 {
event dnd_drop_performed {
}
event dnd_finished = 4 {
event dnd_finished {
}
event action = 5 {
event action {
dnd_action: u32,
}

View file

@ -1,21 +1,21 @@
# requests
request sync = 0 {
request sync {
callback: id(wl_callback),
}
request get_registry = 1 {
request get_registry {
registry: id(wl_registry),
}
# events
event error = 0 {
event error {
object_id: id(object),
code: u32,
message: str,
}
event delete_id = 1 {
event delete_id {
id: u32,
}

View file

@ -1,10 +1,10 @@
# requests
request authenticate = 0 {
request authenticate {
id: u32,
}
request create_buffer = 1 {
request create_buffer {
id: id(wl_buffer),
name: u32,
width: i32,
@ -13,7 +13,7 @@ request create_buffer = 1 {
format: u32,
}
request create_planar_buffer = 2 {
request create_planar_buffer {
id: id(wl_buffer),
name: u32,
width: i32,
@ -27,7 +27,7 @@ request create_planar_buffer = 2 {
stride2: i32,
}
request create_prime_buffer = 3 {
request create_prime_buffer {
id: id(wl_buffer),
name: fd,
width : i32,
@ -43,18 +43,18 @@ request create_prime_buffer = 3 {
# events
event device = 0 {
event device {
name: bstr,
}
event format = 1 {
event format {
format: u32,
}
event authenticated = 2 {
event authenticated {
}
event capabilities = 3 {
event capabilities {
value: u32,
}

View file

@ -1,36 +1,36 @@
# requests
request release = 0 {
request release {
}
# events
event keymap = 0 {
event keymap {
format: u32,
fd: fd,
size: u32,
}
event enter = 1 {
event enter {
serial: u32,
surface: id(wl_surface),
keys: array(u32),
}
event leave = 2 {
event leave {
serial: u32,
surface: id(wl_surface),
}
event key = 3 {
event key {
serial: u32,
time: u32,
key: u32,
state: u32,
}
event modifiers = 4 {
event modifiers {
serial: u32,
mods_depressed: u32,
mods_latched: u32,
@ -38,7 +38,7 @@ event modifiers = 4 {
group: u32,
}
event repeat_info = 5 {
event repeat_info {
rate: i32,
delay: i32,
}

View file

@ -1,12 +1,12 @@
# requests
request release = 0 {
request release {
}
# events
event geometry = 0 {
event geometry {
x : i32,
y : i32,
physical_width : i32,
@ -17,25 +17,25 @@ event geometry = 0 {
transform : i32,
}
event mode = 1 {
event mode {
flags : u32,
width : i32,
height : i32,
refresh : i32,
}
event done = 2 {
event done {
}
event scale = 3 {
event scale {
factor: i32,
}
event name = 4 {
event name {
name: str,
}
event description = 5 {
event description {
description: str,
}

View file

@ -1,73 +1,73 @@
# requests
request set_cursor = 0 {
request set_cursor {
serial: u32,
surface: id(wl_surface),
hotspot_x: i32,
hotspot_y: i32,
}
request release = 1 {
request release {
}
# events
event enter = 0 {
event enter {
serial: u32,
surface: id(wl_surface),
surface_x: fixed,
surface_y: fixed,
}
event leave = 1 {
event leave {
serial: u32,
surface: id(wl_surface),
}
event motion = 2 {
event motion {
time: u32,
surface_x: fixed,
surface_y: fixed,
}
event button = 3 {
event button {
serial: u32,
time: u32,
button: u32,
state: u32,
}
event axis = 4 {
event axis {
time: u32,
axis: u32,
value: fixed,
}
event frame = 5 {
event frame {
}
event axis_source = 6 {
event axis_source {
axis_source: u32,
}
event axis_stop = 7 {
event axis_stop {
time: u32,
axis: u32,
}
event axis_discrete = 8 {
event axis_discrete {
axis: u32,
discrete: i32,
}
event axis_value120 = 9 {
event axis_value120 {
axis: u32,
value120: i32,
}
event axis_relative_direction = 10 {
event axis_relative_direction {
axis: u32,
direction: u32,
}

View file

@ -1,17 +1,17 @@
# requests
request destroy = 0 {
request destroy {
}
request add = 1 {
request add {
x: i32,
y: i32,
width: i32,
height: i32,
}
request subtract = 2 {
request subtract {
x: i32,
y: i32,
width: i32,

View file

@ -1,6 +1,6 @@
# requests
request bind = 0 {
request bind {
name: u32,
interface: str,
version: u32,
@ -9,12 +9,12 @@ request bind = 0 {
# events
event global = 0 {
event global {
name: u32,
interface: str,
version: u32,
}
event global_remove = 1 {
event global_remove {
name: u32,
}

View file

@ -1,26 +1,26 @@
# requests
request get_pointer = 0 {
request get_pointer {
id: id(wl_pointer),
}
request get_keyboard = 1 {
request get_keyboard {
id: id(wl_keyboard),
}
request get_touch = 2 {
request get_touch {
id: id(wl_touch),
}
request release = 3 {
request release {
}
# events
event capabilities = 0 {
event capabilities {
capabilities: u32,
}
event name = 1 {
event name {
name: str,
}

View file

@ -1,16 +1,16 @@
# requests
request create_pool = 0 {
request create_pool {
id: id(wl_shm_pool),
fd: fd,
size: i32,
}
request release = 1 {
request release {
}
# events
event format = 0 {
event format {
format: u32,
}

View file

@ -1,6 +1,6 @@
# requests
request create_buffer = 0 {
request create_buffer {
id: id(wl_buffer),
offset: i32,
width: i32,
@ -9,10 +9,10 @@ request create_buffer = 0 {
format: u32,
}
request destroy = 1 {
request destroy {
}
request resize = 2 {
request resize {
size: i32,
}

View file

@ -1,10 +1,10 @@
# requests
request destroy = 0 {
request destroy {
}
request get_subsurface = 1 {
request get_subsurface {
id: id(wl_subsurface),
surface: id(wl_surface),
parent: id(wl_surface),

View file

@ -1,20 +1,20 @@
# requests
request destroy = 0 { }
request destroy { }
request set_position = 1 {
request set_position {
x: i32,
y: i32,
}
request place_above = 2 {
request place_above {
sibling: id(wl_surface),
}
request place_below = 3 {
request place_below {
sibling: id(wl_surface),
}
request set_sync = 4 { }
request set_sync { }
request set_desync = 5 { }
request set_desync { }

View file

@ -1,70 +1,70 @@
# requests
request destroy = 0 {
request destroy {
}
request attach = 1 {
request attach {
buffer: id(wl_buffer),
x: i32,
y: i32,
}
request damage = 2 {
request damage {
x: i32,
y: i32,
width: i32,
height: i32,
}
request frame = 3 {
request frame {
callback: id(wl_callback),
}
request set_opaque_region = 4 {
request set_opaque_region {
region: id(wl_region),
}
request set_input_region = 5 {
request set_input_region {
region: id(wl_region),
}
request commit = 6 {
request commit {
}
request set_buffer_transform = 7 {
request set_buffer_transform {
transform: i32,
}
request set_buffer_scale = 8 {
request set_buffer_scale {
scale: i32,
}
request damage_buffer = 9 {
request damage_buffer {
x: i32,
y: i32,
width: i32,
height: i32,
}
request offset = 10 {
request offset {
x: i32,
y: i32,
}
# events
event enter = 0 {
event enter {
output: id(wl_output),
}
event leave = 1 {
event leave {
output: id(wl_output),
}
event preferred_buffer_scale = 2 {
event preferred_buffer_scale {
factor: i32,
}
event preferred_buffer_transform = 3 {
event preferred_buffer_transform {
transform: u32,
}

View file

@ -1,12 +1,12 @@
# requests
request release = 0 {
request release {
}
# events
event down = 0 {
event down {
serial: u32,
time: u32,
surface: id(wl_surface),
@ -15,34 +15,34 @@ event down = 0 {
y: fixed,
}
event up = 1 {
event up {
serial: u32,
time: u32,
id: i32,
}
event motion = 2 {
event motion {
time: u32,
id: u32,
x: fixed,
y: fixed,
}
event frame = 3 {
event frame {
}
event cancel = 4 {
event cancel {
}
event shape = 5 {
event shape {
id: i32,
major: fixed,
minor: fixed,
}
event orientation = 6 {
event orientation {
id: i32,
orientation: fixed,
}

View file

@ -1,9 +1,9 @@
# requests
request destroy = 0 {
request destroy {
}
request get_surface_content_type = 1 {
request get_surface_content_type {
id: id(wp_content_type_v1),
surface: id(wl_surface),
}

View file

@ -1,8 +1,8 @@
# requests
request destroy = 0 {
request destroy {
}
request set_content_type = 1 {
request set_content_type {
content_type: u32,
}

View file

@ -1,9 +1,9 @@
# requests
request destroy = 0 {
request destroy {
}
request set_shape = 1 {
request set_shape {
serial: u32,
shape: u32,
}

View file

@ -1,14 +1,14 @@
# requests
request destroy = 0 {
request destroy {
}
request get_pointer = 1 {
request get_pointer {
cursor_shape_device: id(wp_cursor_shape_device_v1),
pointer: id(wl_pointer),
}
request get_tablet_tool_v2 = 2 {
request get_tablet_tool_v2 {
cursor_shape_device: id(wp_cursor_shape_device_v1),
tablet_tool: id(zwp_tablet_tool_v2),
}

View file

@ -1,10 +1,10 @@
# requests
request destroy = 0 {
request destroy {
}
request get_fractional_scale = 1 {
request get_fractional_scale {
id: id(wp_fractional_scale_v1),
surface: id(wl_surface),
}

View file

@ -1,11 +1,11 @@
# requests
request destroy = 0 {
request destroy {
}
# events
event preferred_scale = 0 {
event preferred_scale {
scale: u32,
}

View file

@ -1,15 +1,15 @@
# requests
request destroy = 0 {
request destroy {
}
request get_surface = 1 {
request get_surface {
id: id(wp_linux_drm_syncobj_surface_v1),
surface: id(wl_surface),
}
request import_timeline = 2 {
request import_timeline {
id: id(wp_linux_drm_syncobj_timeline_v1),
fd: fd,
}

View file

@ -1,16 +1,16 @@
# requests
request destroy = 0 {
request destroy {
}
request set_acquire_point = 1 {
request set_acquire_point {
timeline: id(wp_linux_drm_syncobj_timeline_v1),
point_hi: u32,
point_lo: u32,
}
request set_release_point = 2 {
request set_release_point {
timeline: id(wp_linux_drm_syncobj_timeline_v1),
point_hi: u32,
point_lo: u32,

View file

@ -1,5 +1,5 @@
# requests
request destroy = 0 {
request destroy {
}

View file

@ -1,15 +1,15 @@
# requests
request destroy = 0 {
request destroy {
}
request feedback = 1 {
request feedback {
surface: id(wl_surface),
callback: id(wp_presentation_feedback),
}
# events
event clock_id = 0 {
event clock_id {
clk_id: u32,
}

View file

@ -1,10 +1,10 @@
# events
event sync_output = 0 {
event sync_output {
output: id(wl_output),
}
event presented = 1 {
event presented {
tv_sec_hi : u32,
tv_sec_lo : u32,
tv_nsec : u32,
@ -14,6 +14,6 @@ event presented = 1 {
flags : u32,
}
event discarded = 2 {
event discarded {
}

View file

@ -1,9 +1,9 @@
# requests
request destroy = 0 {
request destroy {
}
request create_u32_rgba_buffer = 1 {
request create_u32_rgba_buffer {
id: id(wl_buffer),
r: u32,
g: u32,

View file

@ -1,10 +1,10 @@
# requests
request destroy = 0 {
request destroy {
}
request get_tearing_control = 1 {
request get_tearing_control {
id: id(wp_tearing_control_v1),
surface: id(wl_surface),
}

View file

@ -1,9 +1,9 @@
# requests
request set_presentation_hint = 0 {
request set_presentation_hint {
hint: u32,
}
request destroy = 1 {
request destroy {
}

View file

@ -1,16 +1,16 @@
# requests
request destroy = 0 {
request destroy {
}
request set_source = 1 {
request set_source {
x: fixed,
y: fixed,
width: fixed,
height: fixed,
}
request set_destination = 2 {
request set_destination {
width: i32,
height: i32,
}

View file

@ -1,9 +1,9 @@
# requests
request destroy = 0 {
request destroy {
}
request get_viewport = 1 {
request get_viewport {
id: id(wp_viewport),
surface: id(wl_surface),
}

View file

@ -1,28 +1,28 @@
# requests
request set_serial = 0 {
request set_serial {
serial: u32,
seat: id(wl_seat),
}
request set_app_id = 1 {
request set_app_id {
app_id: str,
}
request set_surface = 2 {
request set_surface {
surface: id(wl_surface),
}
request commit = 3 {
request commit {
}
request destroy = 4 {
request destroy {
}
# events
event done = 0 {
event done {
token: str,
}

View file

@ -1,14 +1,14 @@
# requests
request destroy = 0 {
request destroy {
}
request get_activation_token = 1 {
request get_activation_token {
id: id(xdg_activation_token_v1),
}
request activate = 2 {
request activate {
token: str,
surface: id(wl_surface),
}

View file

@ -1,30 +1,30 @@
# requests
request destroy = 0 { }
request destroy { }
request grab = 1 {
request grab {
seat: id(wl_seat),
serial: u32,
}
request reposition = 2 {
request reposition {
positioner: id(xdg_positioner),
token: u32,
}
# events
event configure = 0 {
event configure {
x: i32,
y: i32,
width: i32,
height: i32,
}
event popup_done = 1 {
event popup_done {
}
event repositioned = 2 {
event repositioned {
token: u32,
}

View file

@ -1,45 +1,45 @@
# requests
request destroy = 0 { }
request destroy { }
request set_size = 1 {
request set_size {
width: i32,
height: i32,
}
request set_anchor_rect = 2 {
request set_anchor_rect {
x: i32,
y: i32,
width: i32,
height: i32,
}
request set_anchor = 3 {
request set_anchor {
anchor: u32,
}
request set_gravity = 4 {
request set_gravity {
gravity: u32,
}
request set_constraint_adjustment = 5 {
request set_constraint_adjustment {
constraint_adjustment: u32,
}
request set_offset = 6 {
request set_offset {
x: i32,
y: i32,
}
request set_reactive = 7 {
request set_reactive {
}
request set_parent_size = 8 {
request set_parent_size {
parent_width: i32,
parent_height: i32,
}
request set_parent_configure = 9 {
request set_parent_configure {
serial: u32,
}

View file

@ -1,30 +1,30 @@
# requests
request destroy = 0 { }
request destroy { }
request get_toplevel = 1 {
request get_toplevel {
id: id(xdg_toplevel),
}
request get_popup = 2 {
request get_popup {
id: id(xdg_popup),
parent: id(xdg_surface),
positioner: id(xdg_positioner),
}
request set_window_geometry = 3 {
request set_window_geometry {
x: i32,
y: i32,
width: i32,
height: i32,
}
request ack_configure = 4 {
request ack_configure {
serial: u32,
}
# events
event configure = 0 {
event configure {
serial: u32,
}

View file

@ -1,78 +1,78 @@
# requests
request destroy = 0 {
request destroy {
}
request set_parent = 1 {
request set_parent {
parent: id(xdg_toplevel),
}
request set_title = 2 {
request set_title {
title: str,
}
request set_app_id = 3 {
request set_app_id {
app_id: str,
}
request show_window_menu = 4 {
request show_window_menu {
seat: id(wl_seat),
serial: u32,
x: i32,
y: i32,
}
request move = 5 {
request move {
seat: id(wl_seat),
serial: u32,
}
request resize = 6 {
request resize {
seat: id(wl_seat),
serial: u32,
edges: u32,
}
request set_max_size = 7 {
request set_max_size {
width: i32,
height: i32,
}
request set_min_size = 8 {
request set_min_size {
width: i32,
height: i32,
}
request set_maximized = 9 { }
request set_maximized { }
request unset_maximized = 10 { }
request unset_maximized { }
request set_fullscreen = 11 {
request set_fullscreen {
output: id(wl_output),
}
request unset_fullscreen = 12 {
request unset_fullscreen {
}
request set_minimized = 13 { }
request set_minimized { }
# events
event configure = 0 {
event configure {
width: i32,
height: i32,
states: array(u32),
}
event close = 1 { }
event close { }
event configure_bounds = 2 {
event configure_bounds {
width: i32,
height: i32,
}
event wm_capabilities = 3 {
event wm_capabilities {
capabilities: array(u32),
}

View file

@ -1,10 +1,10 @@
# requests
request destroy = 0 {
request destroy {
}
request get_xdg_toplevel_drag = 1 {
request get_xdg_toplevel_drag {
id: id(xdg_toplevel_drag_v1),
data_source: id(wl_data_source),
}

View file

@ -1,10 +1,10 @@
# requests
request destroy = 0 {
request destroy {
}
request attach = 1 {
request attach {
toplevel: id(xdg_toplevel),
x_offset: i32,
y_offset: i32,

View file

@ -1,22 +1,22 @@
# requests
request destroy = 0 { }
request destroy { }
request create_positioner = 1 {
request create_positioner {
id: id(xdg_positioner),
}
request get_xdg_surface = 2 {
request get_xdg_surface {
id: id(xdg_surface),
surface: id(wl_surface),
}
request pong = 3 {
request pong {
serial: u32,
}
# events
event ping = 0 {
event ping {
serial: u32,
}

View file

@ -1,8 +1,8 @@
# requests
request destroy = 0 { }
request destroy { }
request get_xwayland_surface = 1 {
request get_xwayland_surface {
id: id(xwayland_surface_v1),
surface: id(wl_surface),
}

View file

@ -1,8 +1,8 @@
# requests
request set_serial = 0 {
request set_serial {
serial_lo: u32,
serial_hi: u32,
}
request destroy = 1 { }
request destroy { }

View file

@ -1,30 +1,30 @@
# requests
request set_selection = 0 {
request set_selection {
source: id(zwlr_data_control_source_v1),
}
request destroy = 1 {
request destroy {
}
request set_primary_selection = 2 {
request set_primary_selection {
source: id(zwlr_data_control_source_v1),
}
# events
event data_offer = 0 {
event data_offer {
id: id(zwlr_data_control_offer_v1),
}
event selection = 1 {
event selection {
id: id(zwlr_data_control_offer_v1),
}
event finished = 2 {
event finished {
}
event primary_selection = 3 {
event primary_selection {
id: id(zwlr_data_control_offer_v1),
}

View file

@ -1,14 +1,14 @@
# requests
request create_data_source = 0 {
request create_data_source {
id: id(zwlr_data_control_source_v1),
}
request get_data_device = 1 {
request get_data_device {
id: id(zwlr_data_control_device_v1),
seat: id(wl_seat),
}
request destroy = 2 {
request destroy {
}

View file

@ -1,16 +1,16 @@
# requests
request receive = 0 {
request receive {
mime_type: str,
fd: fd,
}
request destroy = 1 {
request destroy {
}
# events
event offer = 0 {
event offer {
mime_type: str,
}

View file

@ -1,20 +1,20 @@
# requests
request offer = 0 {
request offer {
mime_type: str,
}
request destroy = 1 {
request destroy {
}
# events
event send = 0 {
event send {
mime_type: str,
fd: fd,
}
event cancelled = 1 {
event cancelled {
}

View file

@ -1,6 +1,6 @@
# requests
request get_layer_surface = 0 {
request get_layer_surface {
id: id(zwlr_layer_surface_v1),
surface: id(wl_surface),
output: id(wl_output),
@ -8,5 +8,5 @@ request get_layer_surface = 0 {
namespace: str,
}
request destroy = 1 {
request destroy {
}

View file

@ -1,49 +1,49 @@
# requests
request set_size = 0 {
request set_size {
width: u32,
height: u32,
}
request set_anchor = 1 {
request set_anchor {
anchor: u32,
}
request set_exclusive_zone = 2 {
request set_exclusive_zone {
zone: i32,
}
request set_margin = 3 {
request set_margin {
top: i32,
right: i32,
bottom: i32,
left: i32,
}
request set_keyboard_interactivity = 4 {
request set_keyboard_interactivity {
keyboard_interactivity: u32,
}
request get_popup = 5 {
request get_popup {
popup: id(xdg_popup),
}
request ack_configure = 6 {
request ack_configure {
serial: u32,
}
request destroy = 7 { }
request destroy { }
request set_layer = 8 {
request set_layer {
layer: u32,
}
# events
event configure = 0 {
event configure {
serial: u32,
width: u32,
height: u32,
}
event closed = 1 { }
event closed { }

View file

@ -1,51 +1,51 @@
# requests
request copy = 0 {
request copy {
buffer: id(wl_buffer),
}
request destroy = 1 {
request destroy {
}
request copy_with_damage = 2 {
request copy_with_damage {
buffer: id(wl_buffer),
}
# events
event buffer = 0 {
event buffer {
format: u32,
width: u32,
height: u32,
stride: u32,
}
event flags = 1 {
event flags {
flags: u32,
}
event ready = 2 {
event ready {
tv_sec_hi: u32,
tv_sec_lo: u32,
tv_nsec: u32,
}
event failed = 3 {
event failed {
}
event damage = 4 {
event damage {
x: u32,
y: u32,
width: u32,
height: u32,
}
event linux_dmabuf = 5 {
event linux_dmabuf {
format: u32,
width: u32,
height: u32,
}
event buffer_done = 6 {
event buffer_done {
}

View file

@ -1,12 +1,12 @@
# requests
request capture_output = 0 {
request capture_output {
frame: id(zwlr_screencopy_frame_v1),
overlay_cursor: i32,
output: id(wl_output),
}
request capture_output_region = 1 {
request capture_output_region {
frame: id(zwlr_screencopy_frame_v1),
overlay_cursor: i32,
output: id(wl_output),
@ -16,5 +16,5 @@ request capture_output_region = 1 {
height: i32,
}
request destroy = 2 {
request destroy {
}

View file

@ -1,19 +1,19 @@
# requests
request destroy = 0 {
request destroy {
}
request set_region = 1 {
request set_region {
region: id(wl_region),
}
# events
event confined = 0 {
event confined {
}
event unconfined = 1 {
event unconfined {
}

View file

@ -1,8 +1,8 @@
# requests
request destroy = 0 { }
request destroy { }
request create_inhibitor = 1 {
request create_inhibitor {
id: id(zwp_idle_inhibitor_v1),
surface: id(wl_surface),
}

View file

@ -1,3 +1,3 @@
# requests
request destroy = 0 { }
request destroy { }

View file

@ -1,8 +1,8 @@
# requests
request destroy = 0 { }
request destroy { }
request add = 1 {
request add {
fd: fd,
plane_idx: u32,
offset: u32,
@ -11,14 +11,14 @@ request add = 1 {
modifier_lo: u32,
}
request create = 2 {
request create {
width: i32,
height: i32,
format: u32,
flags: u32,
}
request create_immed = 3 {
request create_immed {
buffer_id: id(wl_buffer),
width: i32,
height: i32,
@ -28,10 +28,10 @@ request create_immed = 3 {
# events
event created = 0 {
event created {
buffer: id(wl_buffer),
}
event failed = 1 {
event failed {
}

View file

@ -1,32 +1,32 @@
# requests
request destroy = 0 { }
request destroy { }
# events
event done = 0 { }
event done { }
event format_table = 1 {
event format_table {
fd: fd,
size: u32,
}
event main_device = 2 {
event main_device {
device: pod(uapi::c::dev_t),
}
event tranche_done = 3 {
event tranche_done {
}
event tranche_target_device = 4 {
event tranche_target_device {
device: pod(uapi::c::dev_t),
}
event tranche_formats = 5 {
event tranche_formats {
indices: array(pod(u16)),
}
event tranche_flags = 6 {
event tranche_flags {
flags: u32,
}

View file

@ -1,27 +1,27 @@
# requests
request destroy = 0 { }
request destroy { }
request create_params = 1 {
request create_params {
params_id: id(zwp_linux_buffer_params_v1),
}
request get_default_feedback = 2 {
request get_default_feedback {
id: id(zwp_linux_dmabuf_feedback_v1),
}
request get_surface_feedback = 3 {
request get_surface_feedback {
id: id(zwp_linux_dmabuf_feedback_v1),
surface: id(wl_surface),
}
# events
event format = 0 {
event format {
format: u32,
}
event modifier = 1 {
event modifier {
format: u32,
modifier_hi: u32,
modifier_lo: u32,

View file

@ -1,21 +1,21 @@
# requests
request destroy = 0 {
request destroy {
}
request set_cursor_position_hint = 1 {
request set_cursor_position_hint {
surface_x: fixed,
surface_y: fixed,
}
request set_region = 2 {
request set_region {
region: id(wl_region),
}
# events
event locked = 0 {
event locked {
}
event unlocked = 1 {
event unlocked {
}

View file

@ -1,10 +1,10 @@
# requests
request destroy = 0 {
request destroy {
}
request lock_pointer = 1 {
request lock_pointer {
id: id(zwp_locked_pointer_v1),
surface: id(wl_surface),
pointer: id(wl_pointer),
@ -12,7 +12,7 @@ request lock_pointer = 1 {
lifetime: u32,
}
request confine_pointer = 2 {
request confine_pointer {
id: id(zwp_confined_pointer_v1),
surface: id(wl_surface),
pointer: id(wl_pointer),

View file

@ -1,12 +1,12 @@
# requests
request create_source = 0 {
request create_source {
id: id(zwp_primary_selection_source_v1),
}
request get_device = 1 {
request get_device {
id: id(zwp_primary_selection_device_v1),
seat: id(wl_seat),
}
request destroy = 2 { }
request destroy { }

View file

@ -1,18 +1,18 @@
# requests
request set_selection = 0 {
request set_selection {
source: id(zwp_primary_selection_source_v1),
serial: u32,
}
request destroy = 1 { }
request destroy { }
# events
event data_offer = 0 {
event data_offer {
offer: id(zwp_primary_selection_offer_v1),
}
event selection = 1 {
event selection {
id: id(zwp_primary_selection_offer_v1),
}

View file

@ -1,14 +1,14 @@
# requests
request receive = 0 {
request receive {
mime_type: str,
fd: fd,
}
request destroy = 1 { }
request destroy { }
# events
event offer = 0 {
event offer {
mime_type: str,
}

View file

@ -1,18 +1,18 @@
# requests
request offer = 0 {
request offer {
mime_type: str,
}
request destroy = 1 { }
request destroy { }
# events
event send = 0 {
event send {
mime_type: str,
fd: fd,
}
event cancelled = 1 {
event cancelled {
}

View file

@ -1,10 +1,10 @@
# requests
request destroy = 0 {
request destroy {
}
request get_relative_pointer = 1 {
request get_relative_pointer {
id: id(zwp_relative_pointer_v1),
pointer: id(wl_pointer),
}

View file

@ -1,12 +1,12 @@
# requests
request destroy = 0 {
request destroy {
}
# events
event relative_motion = 0 {
event relative_motion {
utime_hi: u32,
utime_lo: u32,
dx: fixed,

View file

@ -1,11 +1,11 @@
# requests
request set_cursor = 0 {
request set_cursor {
serial: u32,
surface: id(wl_surface),
hotspot_x: i32,
hotspot_y: i32,
}
request destroy = 1 {
request destroy {
}

View file

@ -1,8 +1,8 @@
# requests
request destroy = 0 { }
request destroy { }
request get_toplevel_decoration = 1 {
request get_toplevel_decoration {
id: id(zxdg_toplevel_decoration_v1),
toplevel: id(xdg_toplevel),
}

View file

@ -1,8 +1,8 @@
# requests
request destroy = 0 { }
request destroy { }
request get_xdg_output = 1 {
request get_xdg_output {
id: id(zxdg_output_v1),
output: id(wl_output),
}

View file

@ -1,25 +1,25 @@
# requests
request destroy = 0 { }
request destroy { }
# events
event logical_position = 0 {
event logical_position {
x: i32,
y: i32,
}
event logical_size = 1 {
event logical_size {
width: i32,
height: i32,
}
event done = 2 { }
event done { }
event name = 3 {
event name {
name: str,
}
event description = 4 {
event description {
description: str,
}

View file

@ -1,18 +1,18 @@
# requests
request destroy = 0 {
request destroy {
}
request set_mode = 1 {
request set_mode {
mode: u32,
}
request unset_mode = 2 {
request unset_mode {
}
# events
event configure = 0 {
event configure {
mode: u32,
}