diff options
author | Matias Linares <matiaslina@openmailbox.org> | 2015-11-22 02:58:41 -0300 |
---|---|---|
committer | Matias Linares <matiaslina@openmailbox.org> | 2015-11-22 02:58:41 -0300 |
commit | 5da38341bc54f24c8cad41f1b63405d8cc955fe7 (patch) | |
tree | debe4dda2dd02cc23ed64b54df768a0f584938d2 /src/main.rs | |
parent | a21473f60c6cfad6335db3b0b45cdff23f8b3a89 (diff) | |
download | dotwm-5da38341bc54f24c8cad41f1b63405d8cc955fe7.tar.gz |
next_xevent don't block anymore!
Now the next_xevent (from the safex11) will not block forever. So we
can listen the socket without doing some thread stuff.
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs index e652dca..8bf3caa 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,6 +14,7 @@ use dotwm::DotWM; use command::*; use event::{Event,next_event}; use socket::{configure_wm, listen_socket}; +use safe_x11::event as x11_event; use std::collections::HashMap; @@ -29,6 +30,7 @@ fn main() { println!("Creating dotwm"); let mut dotwm = DotWM::new(); let mut bindings: BindingHash = HashMap::new(); + let x11_fd = x11_event::x11_fd(dotwm.display); add_binding(&mut dotwm,&mut bindings, keysym::XK_Return, xlib::Mod4Mask, exec, &["xterm"]); @@ -65,14 +67,15 @@ fn main() { } } }); - configure_wm(&mut dotwm, &receiver); // Main loop loop { + println!("Listening socket"); listen_socket(&mut dotwm, &receiver); // Event handling. - let event = next_event(dotwm.display); + println!("Waiting event"); + let event = next_event(dotwm.display, x11_fd); println!("Event {:?}", event); match event { Event::Key(mut e, true) => { @@ -100,7 +103,7 @@ fn main() { dotwm.change_focus_of(idx); } }, - _ => (), + _ => println!("Unknown event"), } collect_zombies(); } |