GNU/Linux >> Belajar Linux >  >> Linux

Mendeteksi jendela yang sedang aktif

Instal xdotool , lalu jalankan

xdotool getwindowfocus getwindowname

Ini akan memberi mis. untuk halaman web saat ini dibuka di Firefox :

linux - Detecting currently active window - Super User - Mozilla Firefox

Ini lebih langsung dan hanya menggunakan xprop dan cut :

xprop -id $(xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2) _NET_WM_NAME

Perintah ini hanyalah ekstraksi properti dari jendela root dan jendela aplikasi, tetapi sesuai permintaan Lorenzo von Matterhorn:

  • Pertama,

    xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW
    

    Ekstrak _NET_ACTIVE_WINDOW properti dari root, yang memberi Anda XID dari jendela aktif. 32x '\t$0' memberi tahu xprop untuk memformat output dengan cara cut dapat dengan mudah mengurai nanti.

  • Kemudian, ekstrak XID saja dari output dengan cut -f 2

  • Kemudian, teruskan XID sebagai parameter ke

    xprop -id XID _NET_WM_NAME
    

Yang mencetak nama jendela itu.


Ada, tetapi tidak ada jawaban atau solusi singkat.

$ wmctrl -lp | grep $(xprop -root | grep _NET_ACTIVE_WINDOW | head -1 | \
    awk '{print $5}' | sed 's/,//' | sed 's/^0x/0x0/')

hasil:

0x03800004  0 16459  xxxxxxxxxx /bin/bash

Sedang digunakan:

$ for x in $(seq 1 10); do sleep 5; wmctrl -lp | grep $(xprop -root | \
    grep _NET_ACTIVE_WINDOW | head -1 | awk '{print $5}' | sed 's/,//' | \
    sed 's/^0x/0x0/'); done

0x03800004  0 16459  xxxxxxxxxx /bin/bash
0x020000a4  0 13524  xxxxxxxxxx linux - Detecting currently active window - Super User - Mozilla Firefox (Build 20120129142219)

Linux
  1. Jalankan Perintah Di Terminal Aktif Jarak Jauh?

  2. RedHat / CentOS :Cara mengubah antarmuka budak ikatan online yang sedang aktif

  3. Dapatkan judul jendela aktif di X

  1. Jenkins aktif (keluar)

  2. Maksimalkan jendela di tmux

  3. ffmpeg x11ambil satu jendela

  1. Tmux Paksa Ubah Ukuran Jendela?

  2. Atur warna tab tmux yang aktif

  3. Android - Jendela X dengan GNURoot