Score:0

รับลำดับของแอปพลิเคชันบน GUI

ธง ru

มีคำสั่งแสดงลำดับการแสดงบน GUI หรือไม่?

ป้อนคำอธิบายรูปภาพที่นี่

user535733 avatar
cn flag
คุณกำลังขอ ALT+TAB เวอร์ชันอื่นหรือไม่
王柏翔 avatar
ru flag
ไม่ ฉันกำลังขอคำสั่งที่แสดงลำดับของแอปพลิเคชันบน GUI ตามภาพตัวอย่าง หน้าต่างคำสั่งจะอยู่ด้านบนของ GUI ดังนั้นลำดับคือ 1
Jacob Vlijm avatar
by flag
คุณช่วยอธิบายเกี่ยวกับกรณีการใช้งานได้ไหม
vanadium avatar
cn flag
อาจเป็นไปไม่ได้หากตัวจัดการหน้าต่างของคุณไม่เปิดเผยวิธีการสืบค้นอย่างชัดเจน: ดู https://stackoverflow.com/questions/37214093/get-window-list-sorted-by-most-recent-access-bash
Jacob Vlijm avatar
by flag
พูดถึงตัวจัดการหน้าต่างของคุณคืออะไร? เวย์แลนด์? พึมพำ?
Jacob Vlijm avatar
by flag
สวัสดี çæç¿ อยากรู้ไหมว่า a) นี่คือสิ่งที่คุณหมายถึง และ b) คุณต้องการความช่วยเหลือไหม
Score:0
ธง by

เมื่อดูที่ภาพหน้าจอของคุณ ฉันเดาว่าคุณกำลังมองหาวิธีที่จะทำให้สำเร็จในไพธอน

รับลำดับ z ของ windows

หากคุณอยู่บน Xคุณสามารถใช้ (ในภาษาใดก็ได้ที่มีผลผูกพันกับ - ) Wnck Wnck ไม่ทำงานบน Wayland แม้ว่า ตัวอย่างด้านล่างแสดงวิธีดำเนินการใน python ลำดับของรายการผลลัพธ์อยู่ในลำดับของหน้าต่าง z-order
โปรดทราบว่าผลลัพธ์ของ Wnck.get_windows_stacked() ไม่ควรแก้ไข. แน่นอน คุณสามารถทำงานกับข้อมูล ดึงข้อมูลจากนั้น รับลำดับของหน้าต่างและคุณสมบัติของหน้าต่างเหล่านั้น ในตัวอย่างข้อมูล ฉันใช้เพื่อรับ xid และชื่อของหน้าต่างเท่านั้น แต่ เป็นไปได้มาก.

ตัวอย่าง

#!/usr/bin/env python3
นำเข้า GI
gi.require_version("Wnck", "3.0")
จาก gi.repository นำเข้า Wnck

def get_stack():
    z_order_list = []
    scr = Wnck.Screen.get_default()
    # ถ้า Wnck ไม่ได้ถูกเรียกจากภายในลูป Gtk เราต้องการ:
    scr.force_update()
    สำหรับ w ใน scr.get_windows_stacked():
        # เป็นไปได้มากว่าเราใช้งานได้กับหน้าต่างปกติเท่านั้น (ไม่มีแผงหรือเดสก์ท็อป)
        ถ้า w.get_window_type() == Wnck.WindowType.NORMAL:
            # เพียงเพิ่ม xid และชื่อที่นี่ แต่ทุกอย่างเป็นไปได้
            z_order_list.append([w.get_xid(), w.get_name()])
    z_order_list.reverse()
    ส่งคืน z_order_list

wlist = get_stack()
สำหรับ w ใน wlist:
    พิมพ์(w[0], w[1])

ตัวอย่างเอาต์พุต:

92306612 *เชลล์ว่าง 3.8.10*
92274937 zorder.py - /home/jacob/Bureaublad/zorder.py (3.8.10)
96468995 รับคำสั่งของแอปพลิเคชันบน GUI - ถาม Ubuntu - Mozilla Firefox
98568913 ชื่อเรื่อง 1 - LibreOffice Writer
98566678 Rooster Jacob 2021-2022.ods - เครื่องคิดเลข LibreOffice
94371847 หัวข้อ: jacob@jacob-ZN220IC-K:~

โดยที่หน้าต่างแรกคือหน้าต่างล่าสุด เพราะฉันกลับรายการ

โปรดทราบว่า Gdk มีวิธีการคล้ายกัน.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา