Você pode usar xprop _NET_WM_PID
para obter o PID da janela, depois executar ll /proc/<pid>/exe
e verificar onde o link está para descobrir qual é o nome do arquivo do programa.
O seguinte é um pequeno script python tirado de um programa em que estou trabalhando:
#! /usr/bin/env python
import os, subprocess
# Function based on code from apport
def get_window_pid():
xprop = subprocess.Popen(['xprop', '_NET_WM_PID'],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(out, err) = xprop.communicate()
if xprop.returncode == 0:
try:
return int(out.split()[-1])
except ValueError:
return -1
else:
return -1
def get_window_exe():
pid = get_window_pid()
if pid == -1:
return ''
return os.path.realpath('/proc/' + str(pid) + '/exe')
if __name__=='__main__':
exe = get_window_exe()
if exe == '':
print 'Unable to identify window\'s executable'
else:
print exe
Salve isso em um arquivo e execute digitando python <filename>.py
. Clique na janela e ele irá imprimir o nome do programa.