Compare commits

...

3 Commits

Author SHA1 Message Date
expectocode e690aa07f1 size 0 windows with their unrealistic body standards 2018-11-25 01:36:05 +00:00
expectocode b5f697d471 try again 2018-11-25 00:50:23 +00:00
expectocode e20d9cfa0c aaah backgrounds 2018-11-25 00:49:47 +00:00
1 changed files with 43 additions and 7 deletions

View File

@ -7,15 +7,22 @@ fn main() {
let window = conn.generate_id();
let width = screen.width_in_pixels();
let height = screen.height_in_pixels();
println!("width {} height {}", width, height);
let values = [
(xcb::CW_BACK_PIXEL, screen.white_pixel()),
// ?RGB. First 4 bytes appear to do nothing
(xcb::CW_BACK_PIXEL, 0x00_00_00_00),
(
xcb::CW_EVENT_MASK,
xcb::EVENT_MASK_EXPOSURE
| xcb::EVENT_MASK_KEY_PRESS // we'll need this later
| xcb::EVENT_MASK_BUTTON_PRESS
| xcb::EVENT_MASK_BUTTON_RELEASE,
// | xcb::EVENT_MASK_BUTTON_PRESS
// | xcb::EVENT_MASK_BUTTON_RELEASE,
),
(xcb::CW_OVERRIDE_REDIRECT, 1 as u32), // Don't be window managed
];
xcb::create_window(
@ -23,11 +30,11 @@ fn main() {
xcb::COPY_FROM_PARENT as u8,
window,
screen.root(),
0, // x
0, // y
0, // width
0, // height
0,
0,
150,
150,
10,
xcb::WINDOW_CLASS_INPUT_OUTPUT as u16,
screen.root_visual(),
&values,
@ -35,11 +42,38 @@ fn main() {
xcb::map_window(&conn, window);
let title = "hacksaw";
// setting title
xcb::change_property(
&conn,
xcb::PROP_MODE_REPLACE as u8,
window,
xcb::ATOM_WM_NAME,
xcb::ATOM_STRING,
8,
title.as_bytes(),
);
xcb::grab_pointer(
&conn,
true,
screen.root(),
(xcb::EVENT_MASK_BUTTON_RELEASE | xcb::EVENT_MASK_BUTTON_PRESS) as u16,
xcb::GRAB_MODE_ASYNC as u8,
xcb::GRAB_MODE_ASYNC as u8,
xcb::NONE,
xcb::NONE,
xcb::CURRENT_TIME,
).get_reply()
.unwrap();
conn.flush();
loop {
let ev = conn.wait_for_event();
match ev {
None => {
println!("Error reading events");
break;
}
Some(ev) => {
@ -63,4 +97,6 @@ fn main() {
}
};
}
// Now we have taken coordinates, we use them
// TODO
}