Me gustaría saber cómo puedo preguntarle a X11 qué ventanas tienen foco. Y si por alguna razón mi propia aplicación (que puede ser visible o no) obtuvo el foco, quiero permitir que las ventanas anteriores se vuelvan a enfocar.¿Cómo saber qué ventana tiene foco y cómo cambiarla?
Por ejemplo, mi aplicación se está ejecutando con muchos otros (por ejemplo, Firefox, gvim, Nautilus, ...)
Supongamos que en un principio Firefox tiene el foco y que el usuario hizo clic en mi aplicación que ahora tiene el foco . Quiero que mi aplicación vuelva a centrarse en Firefox.
¿Alguien sabe cómo lograr esto? Las recomendaciones de libros serían muy buenas.
Muchas gracias.
Aiden, muchas gracias. Este código me ayudará. Lo he intentado e informa qué ventana está debajo del puntero del mouse, incluso si esta ventana no tiene foco. Quiero saber la ventana que realmente tiene foco. ¿Hay alguna manera en que mi aplicación se registre como oyente para estar informado al respecto? ¿O hay una función que puede proporcionar esta información sin la necesidad de usar la posición del mouse? Gracias de nuevo. –
@Marcio - Bien puede valer la pena revisar el archivo de origen xprop.c del paquete xprop con respecto a qué funciones en libx11 usa para obtener esa información :) –
Vi xprop.c ans xsnoop.c. Creo que podré adaptar ese código para usar con XSetInputFocus y obtener el comportamiento que quiero. Atentamente. –