Здравствуйте. Пытаюсь сделать простенькое Х-окно. Использую функцию XCreateSimpleWindow. Почему-то окно появляется не по тем координатам, которые я передал в функцию, а в центре экрана :(
Подскажите, пожалуйста, что я делаю не так.
Вот код:
| Код | #include <X11/Xlib.h> #include <stdio.h> int main() { Display* main_display; main_display = XOpenDisplay( NULL ); if( !main_display ) { printf( "Cannot open main display!\n" ); return 1; } int display_num = XDefaultScreen( main_display ); Window main_wnd = XCreateSimpleWindow( main_display, RootWindow( main_display, display_num ), 0, 0, 100, 100, 1, BlackPixel(main_display, display_num), WhitePixel(main_display, display_num ) ); Atom wm_delete_window = XInternAtom( main_display, "WM_DELETE_WINDOW", False ); Atom wm_protocols = XInternAtom( main_display, "WM_PROTOCOLS", False ); XSetWMProtocols( main_display, main_wnd, &wm_delete_window, 1 ); XMapWindow( main_display, main_wnd ); XEvent e; bool done = false; while( !done ) { XNextEvent( main_display, &e ); switch( e.type ) { case ClientMessage: if( e.xclient.message_type == wm_protocols && e.xclient.data.l[0] == (long)wm_delete_window ) { printf( "WM_DELETE_WINDOW\n" ); done = true; } break; default : printf( "Unknown event #%d\n", e.type ); } } XDestroyWindow( main_display, main_wnd ); XCloseDisplay( main_display ); printf( "done\n" ); return 0; }
|
|