Учитывая процесс iD XX, я хотел бы иметь список любого идентификатора окна, где _NET_WM_PID = XX. Еще лучше было бы самым старым по-прежнему активным идентификатором окна, если это возможно.
Я очень новичок в Linux, но то, что я пытаюсь сделать, это создать script, который будет использовать командную строку, и посмотреть, есть ли уже открытые окна, принадлежащие процессу, вызванному той же командной строкой, Если это так, просто установите фокус на это окно, иначе выполните командную строку, чтобы получить новый процесс. Я намерен использовать это на своем рабочем столе ubuntu, где я подключу этот script к моим командам жестов мыши easystroke, так что, например, каждый раз, когда я жестом для gmail, я не получаю совершенно новую сессию gmail, Я просто подключился к существующему окну приложения Chrome gmail. Возможно, есть намного более простой способ обойти все это, но я еще не нашел свой путь к этому.
С помощью справки я выяснил, как найти PID для командной строки с pgrep и как установить фокус на дескриптор окна с помощью wmctrl, но я застрял в получении от PID к ID окна.