Puncte:0

Obțineți ordinea aplicațiilor pe GUI

drapel ru

Există o comandă pentru a afișa ordinea afișărilor aplicației pe GUI?

introduceți descrierea imaginii aici

user535733 avatar
drapel cn
Soliciți o altă versiune de ALT+TAB?
王柏翔 avatar
drapel ru
Nu, cer o comandă care arată ordinea aplicațiilor pe GUI. Utilizați imaginea ca exemplu, ferestrele de comandă sunt deasupra GUI, deci ordinea este 1.
Jacob Vlijm avatar
drapel by
Ați putea explica despre cazul de utilizare?
vanadium avatar
drapel cn
Poate să nu fie posibil dacă managerul de ferestre nu expune în mod explicit o modalitate de a interoga acest lucru: consultați https://stackoverflow.com/questions/37214093/get-window-list-sorted-by-most-recent-access-bash
Jacob Vlijm avatar
drapel by
Apropo, care este managerul tău de ferestre? Wayland? Murmura?
Jacob Vlijm avatar
drapel by
Bună çæç¿ sunt curios dacă a) la asta vrei să spui și b) dacă ai nevoie de ajutor?
Puncte:0
drapel by

Privind captura de ecran, cred că cauți o modalitate de a o realiza în python.

Obțineți ordinea z a ferestrelor

Daca esti pe X, puteți folosi (în orice limbă care are legături la - ) Wnck. Totuși, Wnck nu funcționează pe Wayland. Fragmentul de mai jos arată cum se face în python. Ordinea listei de ieșire este în ordinea ferestrei z-order.
Rețineți că rezultatul Wnck.get_windows_stacked() nu trebuie modificate. Desigur, puteți lucra cu datele, preluate din ele, puteți obține ordinea ferestrelor și proprietățile acestora. În fragment, obișnuiam doar să obțin xid și numele ferestrei, dar multe sunt posibile.

Exemplu

#!/usr/bin/env python3
import gi
gi.require_version ("Wnck", "3.0")
din gi.repository import Wnck

def get_stack():
    z_order_list = []
    scr = Wnck.Screen.get_default()
    # dacă Wnck nu este apelat dintr-o buclă Gtk, avem nevoie de:
    scr.force_update()
    pentru w în scr.get_windows_stacked():
        # cel mai probabil, lucrăm doar cu ferestre normale (fără panouri sau desktop)
        dacă w.get_window_type() == Wnck.WindowType.NORMAL:
            # adăugând doar xid și nume aici, dar orice este posibil
            z_order_list.append([w.get_xid(), w.get_name()])
    z_order_list.reverse()
    returnează z_order_list

wlist = get_stack()
pentru w în wlist:
    print(w[0], w[1])

Exemplu de ieșire:

92306612 *IDLE Shell 3.8.10*
92274937 zorder.py - /home/jacob/Bureaublad/zorder.py (3.8.10)
96468995 Obțineți ordinea aplicațiilor pe GUI - Întrebați Ubuntu - Mozilla Firefox
98568913 Geen titel 1 - LibreOffice Writer
98566678 Rooster Jacob 2021-2022.ods - LibreOffice Calc
94371847 Tilix: jacob@jacob-ZN220IC-K:~

unde prima este cea mai recentă fereastră, pentru că am inversat lista.

Rețineți că Gdk are o metodă similară.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.