Portál AbcLinuxu, 12. května 2025 12:42
xwininfo
, která dělá přesně to, co požadujete.
Vytvoril som nieco taketo, ale zasekne sa to na while a netusim preco.
#include <X11/Xlib.h>
#include <assert.h>
#include <unistd.h>
#include <iostream>
#define NIL (0)
int selectWindow() {
Display *dpy = XOpenDisplay(NIL);
if (!dpy) { return 1; }
XEvent e;
do
{
XNextEvent( dpy, &e);
}
while (e.type != ButtonPress);
XWindowAttributes selWin;
XGetWindowAttributes(dpy, e.xbutton.window, &selWin);
std::cout << selWin.width << std::endl;
std::cout << selWin.height << std::endl;
return 0;
}
QX11Info::display()
místo XOpenDisplay()
, protože Qt pochopitelně už otevřené spojení s X má. A pokud bys chtěl číst nějaké eventy od X, je imho lepší podědit QApplication
a reimplementovat x11EventFilter()
...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.