Можно ли получить активный процесс / заголовок окна в Gnome?

Мне нужно решение для получения текущей активной (сфокусированной) информации о окне на рабочем столе Gnome 2. Меня больше всего интересует процесс запуска этого окна и заголовка окна.

Является ли это возможным?

РЕШЕНИЕ:

Получение заголовка окна:

xwininfo -root -children | grep $(printf '%x\n' $(xdotool getwindowfocus)) | grep -oEi '"[^"]+"' | head -1 

Получение имени процесса:

 ps -e | grep $(xdotool getwindowpid $(xdotool getwindowfocus)) | grep -v grep | awk '{print $4}' 

или:

 cat /proc/$(xdotool getwindowpid $(xdotool getwindowfocus))/comm 

  • Контроль Исходный размер xfce4-терминала?
  • Открыть размер и положение ширины предварительного просмотра PDF-файла и «всегда сверху» из командной строки
  • Векторные кнопки Fvwm
  • Протяните окно над двумя мониторами с «промежутком» между
  • Как эмулировать эффект KWin по командной строке?
  • Как определить, находится ли окно в фокусе?
  • Linux Mint (Cinnamon, Muffin) установил сочетание клавиш, где один из клавиш - это мышь
  • Как закрыть окно разбитого приложения?
  • 4 Solutions collect form web for “Можно ли получить активный процесс / заголовок окна в Gnome?”

    Вы можете использовать xdotool , универсальный инструмент автоматизации окон X.

     focused_window_id=$(xdotool getwindowfocus) active_window_id=$(xdotool getactivewindow) active_window_pid=$(xdotool getwindowpid "$active_window_id") 

    (Я не знаю, какая разница между сфокусированным и активным).

    (Я думал, что wmctrl может это сделать, но, видимо, нет.)

    Это так просто:

     xdotool getactivewindow getwindowname 

    Удачи вам в надежде, что это сработает для вас!

    Проще (IMO), чем решение OP (т.е. без ps , grep и awk ), чтобы получить имя процесса:

     cat /proc/$(xdotool getwindowpid $(xdotool getwindowfocus))/comm 

    Или, если вам нужен конец строки:

     echo $(cat /proc/$(xdotool getwindowpid $(xdotool getwindowfocus))/comm) 

    Попробуйте выполнить команду xwininfo, http://www.xfree86.org/4.2.0/xwininfo.1.html , она определенно возвращает заголовок окна и, насколько это происходит, хорошо …

    X присвоил ему идентификатор и стал родительским PID окна и также будет скрывать его по умолчанию, поэтому, предполагая, что Gnome поддерживает NET_WM_PID, поскольку этот патч с 2001 года указывает, что он имеет, http://mail.gnome.org/ архивы / gtk-devel-list / 2001-October / msg00238.html , мы можем просмотреть этот пост, http://www.mail-archive.com/devel@xfree86.org/msg05809.html , где автор пишет короткая программа для конвертирования идентификатора окна в PID, вуаля.

    Linux и Unix - лучшая ОС в мире.