У меня нет комментариев комментировать прямо на превосходной записи Якова Влайма, но я изменил сценарий, чтобы разрешить запуск приложения с аргументами (необходимо использовать setwindow с gedit --new-window). Изменить:
if app in p and w[2] in p] for w in ws2]
на:
if app.split()[0] in p and w[2] in p] for w in ws2]