A razão pela qual não existe uma string "urxvt", "URxvt" é que o XWindows está em hierarquias. E por algum motivo, na minha área de trabalho, as janelas do urxvt não estão no primeiro nível.
Portanto, é preciso atravessar toda a árvore assim:
from Xlib.display import Display
def printWindowHierrarchy(window, indent):
children = window.query_tree().children
for w in children:
print(indent, window.get_wm_class())
printWindowHierrarchy(w, indent+'-')
display = Display()
root = display.screen().root
printWindowHierrarchy(root, '-')
Uma linha da saída do script (provavelmente bastante longa) é:
--- ('urxvt', 'URxvt')