%20se%20coloca%20una%20ventana%3F.png)
Estoy escribiendo un script que requiere determinar en qué ventana gráfica se coloca una ventana.
Mi escritorio es 2x2 (4 ventanas gráficas); Por lo general, se piensa que son 4 escritorios virtuales, pero en compiz/unity, en realidad es una ventana gráfica y solo un escritorio, basado en xdotool get_num_desktops
.
Sólo para facilitar la explicación, vea estas ventanas gráficas (aunque no estoy seguro si estas serán realmente sus ID):
0 1
2 3
Coloque su ventana en la ventana gráfica 2, ejecute xwininfo -all
y haga clic en su ventana; Obtendrá su ID y verá que los valores "superior izquierdo" son todos pequeños, como estar en la ventana gráfica 0, pero en realidad son relativos a la ventana gráfica 2.
Además, no encuentra información sobre en qué ventana gráfica se encuentra.
Más información puedes encontrar con:
wmctrl -d
que muestra información precisa sobre en qué ventana gráfica nos encontramos.
xdotool get_desktop_viewport
no será preciso para las ventanas gráficas 2 y 3.
Respuesta1
En realidad, es muy simple: la información de posición de la ventana gráfica es relativa a la ventana gráfica actual.
Entonces, simplemente escriba xwininfo
y seleccione una ventana.
Ahora, cambie la ventana gráfica y escriba xwininfo -id 0x...
(0x... es la identificación que recopiló para la ventana), los valores de posición se mostrarán fuera de los límites de la ventana gráfica actual, con valores relativos basados en la ventana gráfica actual como:
Absolute upper-left X: -1270
Absolute upper-left Y: 62
En base a esto es posible determinar dónde está la ventana.
En este caso estaba en la ventana gráfica 1 y la ventana en la ventana gráfica 0.