GNU/Linux >> Znalost Linux >  >> Linux

Detekce aktuálně aktivního okna

Nainstalujte xdotool a poté spusťte

xdotool getwindowfocus getwindowname

Dá to např. pro aktuální webovou stránku otevřenou ve Firefoxu:

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

Toto je přímější a používá pouze xprop a cut :

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

Tyto příkazy jsou pouze extrakcí vlastností z kořenového okna a okna aplikace, ale podle požadavku Lorenza von Matterhorna:

  • Za prvé,

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

    Extrahuje _NET_ACTIVE_WINDOW vlastnost z kořene, která vám poskytne XID aktivního okna. 32x '\t$0' říká xprop formátovat výstup způsobem, který cut lze snadno analyzovat později.

  • Potom extrahujte pouze XID z výstupu pomocí cut -f 2

  • Poté předejte XID jako parametr do

    xprop -id XID _NET_WM_NAME
    

Což vytiskne název tohoto okna.


Existuje, ale žádná krátká odpověď nebo řešení.

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

výsledek:

0x03800004  0 16459  xxxxxxxxxx /bin/bash

Používá se:

$ 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. Provést příkaz ve vzdáleném aktivním terminálu?

  2. Nastavit průhlednost oken v Gnome?

  3. Problém s výběrem/zvýrazněním textu?

  1. Jak odeslat okno do jiného pracovního prostoru, aniž byste změnili aktivní pracovní prostor?

  2. Vizuálně rozpoznat aktivní okno?

  3. Aktivní FTP vs. pasivní FTP

  1. Detekce 64bitové kompilace v C

  2. Název aplikace Qt

  3. Maximalizujte okno v tmux