Я хочу написать программу, которая печатает текущее имя окна с фокусом, и если это терминал gnome, то распечатывает работающую программу на текущей вкладке терминала gnome (например, vim, если запущен сеанс vim) .
Чтобы получить текущее название окна, я использовал:
xprop -root | grep "_NET_ACTIVE_WINDOW (WINDOW)"
xprop -id 0x220ad5a | grep "WM_CLASS (STRING)"
Если текущее окно является терминалом gnome, будет возвращено «терминал gnome».
Но как мне узнать, какая программа работает внутри gnome-терминала (точнее: внутри текущей вкладки gnome-терминала)? Я думал об использовании dbus, но gnome-терминал, похоже, не поддерживает его.