Решил тут попробовать поюзать сабж. Ну, и для примера выбрал ни много ни мало - window manager:-) Нашел в инете некий tinywm - пример примитивного wm, который, по идее, умеет двигать/ресайзить окошки. Вот, собственно, код: #include <X11/Xlib.h> #define MAX(a, b) ((a) > (b) ? (a) : (b)) int main() { Window root; XWindowAttributes attr; XButtonEvent start; XEvent ev; Display * dpy = XOpenDisplay(0); if(!dpy) return 1; root = DefaultRootWindow(dpy); XGrabKey(dpy, XKeysymToKeycode(dpy, XStringToKeysym("F1")), Mod1Mask, root, True, GrabModeAsync, GrabModeAsync); XGrabButton(dpy, 1, Mod1Mask, root, True, ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None); XGrabButton(dpy, 3, Mod1Mask, root, True, ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None); for(;;) { XNextEvent(dpy, &ev); if(ev.type == KeyPress && ev.xkey.subwindow != None) XRaiseWindow(dpy, ev.xkey.subwindow); else if(ev.type == ButtonPress && ev.xbutton.subwindow != None) { XGrabPointer(dpy, ev.xbutton.subwindow, True, PointerMotionMask|ButtonReleaseMask, GrabModeAsync, GrabModeAsync, None, None, CurrentTime); XGetWindowAttributes(dpy, ev.xbutton.subwindow, &attr); start = ev.xbutton; } else if(ev.type == MotionNotify) { int xdiff; int ydiff; while(XCheckTypedEvent(dpy, MotionNotify, &ev)); xdiff = ev.xbutton.x_root - start.x_root; ydiff = ev.xbutton.y_root - start.y_root; XMoveResizeWindow(dpy, ev.xmotion.window, attr.x + (start.button==1 ? xdiff : 0), attr.y + (start.button==1 ? ydiff : 0), MAX(1, attr.width + (start.button==3 ? xdiff : 0)), MAX(1, attr.height + (start.button==3 ? ydiff : 0))); } else if(ev.type == ButtonRelease) XUngrabPointer(dpy, CurrentTime); } } Компилю, запускаю - и никаких изменений, что до запуска, что после. В консоль ничего не валит. Что я делаю не так? И что сделать, чтобы оно таки заработало? PS: Пускаю это все в VirtualBox, guest os - debian etch.
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от friday
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от friday
Ответ на:
комментарий
от friday
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Valeriy_Onuchin
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум не получается в Xlib (2023)
- Форум Я, X11 и select (2009)
- Форум Выбор окна под указателем (2012)
- Форум Протоколирование сообщений иксов (2010)
- Форум Перехват событий от мышки (2014)
- Форум X11 CLIPBOARD: Параметры XChangeProperty для ответа на SelectionRequest (2017)
- Галерея Fender, проба пера (2015)
- Форум Gentoo. Проба пера (2011)
- Форум Проба пера. Не рифмуется. (2009)
- Галерея KDE 4.4.4, проба пера ) (2010)