From 5bcdb566c69523edb1ceb857cbf6d0a676cc318d Mon Sep 17 00:00:00 2001 From: Matias Linares Date: Sun, 4 Sep 2016 14:01:37 -0300 Subject: Add Mouse drag support. This concludes the first 'release' :p. --- src/main.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index dcef752..f745e92 100644 --- a/src/main.rs +++ b/src/main.rs @@ -23,6 +23,7 @@ use event::{Event,select_event}; use socket::parser; use std::collections::HashMap; +use std::mem::uninitialized; use x11::xlib; use x11::keysym; @@ -77,12 +78,20 @@ fn main() { dotwm.remove_window(e.window); }, Event::Enter(e) => { - if let Some(idx) = dotwm.find_window(e.window) { + if let Some(idx) = dotwm.window_idx(e.window) { dotwm.change_focus_of(idx); } }, Event::Expose(_) => { }, + Event::Drag(e) => { + // We can "compress" the drag notify here. + unsafe{ + let mut new_ev = uninitialized(); + while xlib::XCheckTypedEvent(dotwm.display, xlib::MotionNotify, &mut new_ev) != 0 {}; + }; + exec_func(&mut dotwm, &mut bindings, 1, e.state, xlib::XEvent::from(e)); + }, Event::Socket(stream) => { let mut s = stream.try_clone().unwrap(); let mut buf = String::new(); -- cgit v1.2.3-54-g00ecf