diff options
author | Peter Wu <lekensteyn@gmail.com> | 2012-09-28 23:21:26 +0200 |
---|---|---|
committer | Peter Wu <lekensteyn@gmail.com> | 2012-09-28 23:21:26 +0200 |
commit | 0b951d973a250bef4d67a7514aa3ad0a97d020e2 (patch) | |
tree | ecc68e152a36a70165750c0ec1908011eaf23a6b | |
parent | 6ba9b0deaed43304134c1b2f5c980ebbfff570e2 (diff) | |
download | c-files-0b951d973a250bef4d67a7514aa3ad0a97d020e2.tar.gz |
xcbviewfs: fix weird refresh issue
- moving xcb_map_window seems to fix an issue where the screen was sometimes not
fullscreen.
- destroy window... just because it is possible.
- enable all grabbing, drawing, fullscreen, cursor hiding.
-rw-r--r-- | xcbviewfs.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/xcbviewfs.c b/xcbviewfs.c index 7f1bfe0..2b1a928 100644 --- a/xcbviewfs.c +++ b/xcbviewfs.c @@ -51,8 +51,9 @@ int main(int argc, char **argv) { int hide_cursor = 0; int grab_kbd = 0; int fullscreen = 0; - int draw_picture = 1; + int draw_picture = 0; //grab_kbd = !(fullscreen = grab_pointer = hide_cursor = 0 ); + draw_picture = grab_kbd = fullscreen = grab_pointer = hide_cursor = 1; xcb_keycode_t magic_keys[] = {40, 31, 26}; /* DIE */ if (argc < 2) { @@ -88,8 +89,6 @@ int main(int argc, char **argv) { XCB_WINDOW_CLASS_INPUT_OUTPUT, /* class */ screen->root_visual, mask, valwin); - xcb_map_window(c, win); - xcb_flush(c); if (grab_pointer) { xcb_grab_pointer_cookie_t cookie; @@ -182,6 +181,9 @@ int main(int argc, char **argv) { xcb_image_destroy(img); } + xcb_map_window(c, win); + xcb_flush(c); + int magic_level = 0; size_t magic_len = sizeof(magic_keys)/sizeof(*magic_keys); @@ -213,6 +215,8 @@ int main(int argc, char **argv) { free(e); } if (pmap) xcb_free_pixmap(c, pmap); + /* if closed normally */ + if (running) xcb_destroy_window(c, win); ungrab_kbd: xcb_ungrab_keyboard(c, XCB_CURRENT_TIME); ungrab_pointer: |