LINUX.ORG.RU

Выбор окна под указателем

 


0

1

Суть такова: нужно получить id окна, жмахнув по нему мышкой. Возможно ли? Я пробовал код который использует transset, но id окна возвращается некорректный (не совпадает с выводом xlsclients -l), хотя сам transset работает правильно (?!).

XEvent xev;
Window target = None;
int buttons   = 0;

XGrabPointer(...);
while((target == None) || (buttons != 0))
{

    XAllowEvents(dpy, SyncPointer, CurrentTime);
    XWindowEvent(dpy, root, ButtonPressMask|ButtonReleaseMask, &xev);
    switch(xev.type)
    {
    case ButtonPress:
        if(target == None) target = xev.xbutton.subwindow;
        buttons++;
        break;

    case ButtonRelease:
        if(buttons > 0) buttons--;
        break;
    }
}
XUngrabPointer(...);

Все что нужно это послать указанному окну сообщение с переключением в фуллскрин.

Кури исходники xprop.

unfo ★★★★★ ()

вот так работает нормально вроде =)

if(target == None)
{
    target = xev.xbutton.subwindow;
    target = XmuClientWindow(dpy, target);
}
oh-la-la ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.