И это всё МОЁ
Попадалась на глаза утилитка без ui, которая делала примерно следующее:
Если для заданного свойства окна в EWMH-compatible окружении нет запущенных окон - запустить окно, иначе - переключить на это окно.
Хотелось бы ещё раз её мануал почитать как минимум.