|
@@ -107,14 +107,14 @@ impl widget::Widget for Tray {
|
|
|
}
|
|
|
match event.response_type() {
|
|
|
xcb::PROPERTY_NOTIFY if self.timestamp == 0 => {
|
|
|
- let event: &xcb::PropertyNotifyEvent = xcb::cast_event(&event);
|
|
|
+ let event: &xcb::PropertyNotifyEvent = unsafe { xcb::cast_event(&event) };
|
|
|
if !self.take_selection(event.time()) {
|
|
|
println!("Could not take ownership of tray selection. Maybe another tray is also running?");
|
|
|
return true
|
|
|
}
|
|
|
},
|
|
|
CLIENT_MESSAGE => {
|
|
|
- let event: &xcb::ClientMessageEvent = xcb::cast_event(&event);
|
|
|
+ let event: &xcb::ClientMessageEvent = unsafe { xcb::cast_event(&event) };
|
|
|
if event.type_() == self.conn.atom(x11::_NET_SYSTEM_TRAY_OPCODE) {
|
|
|
let data = event.data().data32();
|
|
|
let opcode = data[1];
|
|
@@ -125,17 +125,17 @@ impl widget::Widget for Tray {
|
|
|
}
|
|
|
},
|
|
|
xcb::REPARENT_NOTIFY => {
|
|
|
- let event: &xcb::ReparentNotifyEvent = xcb::cast_event(&event);
|
|
|
+ let event: &xcb::ReparentNotifyEvent = unsafe { xcb::cast_event(&event) };
|
|
|
if event.parent() != self.window {
|
|
|
self.forget(event.window());
|
|
|
}
|
|
|
},
|
|
|
xcb::DESTROY_NOTIFY => {
|
|
|
- let event: &xcb::DestroyNotifyEvent = xcb::cast_event(&event);
|
|
|
+ let event: &xcb::DestroyNotifyEvent = unsafe { xcb::cast_event(&event) };
|
|
|
self.forget(event.window());
|
|
|
},
|
|
|
xcb::CONFIGURE_NOTIFY => {
|
|
|
- let event: &xcb::ConfigureNotifyEvent = xcb::cast_event(&event);
|
|
|
+ let event: &xcb::ConfigureNotifyEvent = unsafe { xcb::cast_event(&event) };
|
|
|
let window = event.window();
|
|
|
if window != self.window {
|
|
|
self.force_size(window, Some((event.width(), event.height())));
|