hallo,
Code:
#include <stdio.h>
#include <X11/Xlib.h>
int main()
{
Window win;
Display *disp;
int ret;
disp = XOpenDisplay(NULL);
while(1) {
XGetInputFocus(disp,&win,&ret);
printf("Focus bei Window %x\n" ,win);
sleep(1);
}
return 1;
}
das zeigt dir welches Window momentan den focus besitzt.
(mal was mit dem Mauszeiger rumkurven auf dem Desktop wenn nötig focus durch drücken
ranholen)
Wenn du das einbaust in dein Hauptprogramm
und dam Anfang aufrufst bevor du in den SDL Thread startest
das Window abfrägst was momentan den Focus besitzt also dein Xterm,Eterm oder was auch immer.
Dann mit XSetInputFocus den Focus wieder ranholen.
Window ist ja jetzt bekannt.
Sollte eigentlich funktionieren.
Muss man halt mal ausprobieren.
Find ich natürlich persönlich sch.... diese Methode.
Die Events abfragen ist sauberer.
Aber kannst ja mal ausprobieren.
gruß
Lesezeichen