Respuesta1
Al mirar tu captura de pantalla, supongo que estás buscando una manera de lograrlo en Python.
Obtener el orden z de Windows
Si estas en X, puede usar (en cualquier idioma que tenga enlaces a -) Wnck. Sin embargo, Wnck no funciona en Wayland. El siguiente fragmento muestra cómo se hace en Python. El orden de la lista de salida es el orden z de la ventana.
Tenga en cuenta que la salida deWnck.get_windows_stacked()
no debe ser modificado. Por supuesto, puede trabajar con los datos recuperados de ellos, obtener el orden de las ventanas y sus propiedades. En el fragmento, solo solía obtener el xid y el nombre de la ventana, peromucho es posible.
Ejemplo
#!/usr/bin/env python3
import gi
gi.require_version("Wnck", "3.0")
from gi.repository import Wnck
def get_stack():
z_order_list = []
scr = Wnck.Screen.get_default()
# if Wnck is not called from withing a Gtk loop, we need:
scr.force_update()
for w in scr.get_windows_stacked():
# most likely, we only work with normal windows (no panels or desktop)
if w.get_window_type() == Wnck.WindowType.NORMAL:
# only adding xid and name here, but anything is possible
z_order_list.append([w.get_xid(), w.get_name()])
z_order_list.reverse()
return z_order_list
wlist = get_stack()
for w in wlist:
print(w[0], w[1])
Salida de ejemplo:
92306612 *IDLE Shell 3.8.10*
92274937 zorder.py - /home/jacob/Bureaublad/zorder.py (3.8.10)
96468995 Get the order of applictaions on GUI - Ask Ubuntu - Mozilla Firefox
98568913 Geen titel 1 - LibreOffice Writer
98566678 Rooster Jacob 2021-2022.ods - LibreOffice Calc
94371847 Tilix: jacob@jacob-ZN220IC-K:~
donde la primera es la ventana más reciente, porque invertí la lista.
Tenga en cuenta que Gdktiene un método similar.