diff --git a/src/x11/ffi.rs b/src/x11/ffi.rs index b636b991..5caabc50 100644 --- a/src/x11/ffi.rs +++ b/src/x11/ffi.rs @@ -241,6 +241,17 @@ pub struct XClientMessageEvent { pub l: [libc::c_long, ..5], } +#[reprc(C)] +pub struct XResizeRequestEvent { + pub type_: libc::c_int, + pub serial: libc::c_ulong, + pub send_event: Bool, + pub display: *mut Display, + pub window: Window, + pub width: libc::c_int, + pub height: libc::c_int, +} + #[link(name = "GL")] #[link(name = "X11")] extern "C" { diff --git a/src/x11/mod.rs b/src/x11/mod.rs index 1c91e2d7..3f17ca48 100644 --- a/src/x11/mod.rs +++ b/src/x11/mod.rs @@ -162,6 +162,12 @@ impl Window { } }, + ffi::ResizeRequest => { + use SizeChanged; + let rs_event: &ffi::XResizeRequestEvent = unsafe { mem::transmute(&xev) }; + events.push(SizeChanged(rs_event.width as uint, rs_event.height as uint)); + }, + _ => () }