Исправление Zubok, (текущая версия) :
Я вот не совсем верно сказал. Не WM должен поддерживать EWMH, а приложение, то есть клиент. А это не всегда так, между прочим. Свойство WM_CLIENT_MACHINE предписано ICCCM и вроде должно всегда быть установленным, то есть хост ты всегда обнаружить можешь. А вот _NET_WM_PID не всегда будет установленным. Старые приложения на старых тулкитах или на собственных тулкитах могут это свойство не устанавливать. Вот, например, xpdf (на lesstif), emacs с тулкитом xaw3d не устанавлиает. И tk тоже. Только что проверил. Поэтому надо что-то еще придумать на этот случай.
Исправление Zubok, :
Я вот не совсем верно сказал. Не WM должен поддерживать EWMH, а приложение, то есть клиент. А это не всегда так, между прочим. Свойство WM_CLIENT_MACHINE предписано ICCCM и вроде должно всегда быть установленным, то есть хост ты всегда обнаружить можешь. А вот _NET_WM_PID не всегда будет установленным. Старые приложения на старых тулкитах или на собственных тулкитах могут это свойство не устанавливать. Вот, например, xpdf (на lesstif), emacs с тулкитом xaw3d не устанавлиает. Только что проверил. Поэтому надо что-то еще придумать на этот случай.
Исходная версия Zubok, :
Я вот не совсем верно сказал. Не WM должен поддерживать EWMH, а приложение, то есть клиент. А это не всегда так, между прочим. Свойство WM_CLIENT_MACHINE предписано ICCCM и вроде должно всегды быть установленным, то есть хост ты всегда обнаружить можешь. А вот _NET_WM_PID не всегда будет установленным. Старые приложения на старых тулкитах или на собственных тулкитах могут это свойство не устанавливать. Вот, например, xpdf (на lesstif), emacs с тулкитом xaw3d не устанавлиает. Только что проверил. Поэтому надо что-то еще придумать на этот случай.