Вы можете использовать scriptJob. Он будет запускать процесс в фоновом режиме на основе ваших условий.
from pymel.core import *
win = window()
win.show()
def uiDel(ui):
print ui, "deleted"
scriptJob(uid=[win.name(), "uiDel(win.name())"])
Теперь, когда ui закрыт или нажата кнопка X, он будет печатать «window1 deleted».