LINUX.ORG.RU

Попробуй посмотреть переменные окружения для процесса

anonymous
()

Не у всех клиентов может быть атом NET_WM_PID. Это стандарт EWMH. Проверить все ли клиенты поддерживают, можно wmctrl -lp. Для одного клиента можно через xprop посмотреть xprop _NET_WM_PID

arrecck ★★★
()

Это не конечная задача. Конечная задача в чем? То что вы описываете - это одно из решений какой-то абстрактной задачи.

PPP328 ★★★★★
()

Ищу надежный способ определять X Window ID по PID-у

Это невозможно делать надёжно, например это не получится сделать для glxgears для остальных подойдёт это wmctrl -lp

Отчего это вообще проблема?

Это тоже самое что текст заголовка окна, приложение его может менять в случайное время и ты будешь спрашивать надёжный способ получения имени заголовка окна, но есть быть не может.

anonymous
()
Ответ на: комментарий от PPP328

Тут конечная задача не имеет значения, так как сам механизм получения wid из pid уже комплексная задача сама по себе. Это как вывести список файлов.

anonymous
()
Ответ на: комментарий от Bad_ptr

Вкинем обратно, в чём проблема?

anonymous
()
Ответ на: комментарий от PPP328

Конечная задача в чем?

Управлять положением окна запускаемого мной приложения. Но остальное уже работает

pihter ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Ну так может конечная задача - это получить список окон. И человек решил ее решать перебором пидов а не wmctrl -l

PPP328 ★★★★★
()
Ответ на: комментарий от Bad_ptr

Скоро иксы отовсюду выкинут

Не скоро :)

Что будешь делать?

Буду пользоваться вялым, куда я денусь)

pihter ★★★★★
() автор топика
Ответ на: комментарий от anonymous

для остальных подойдёт это wmctrl -lp

Убираю рамки с окон - перестаёт работать

приложение его может менять в случайное время

Да оно мне в моменте нужно, потом пусть меняет наздоровье

pihter ★★★★★
() автор топика
Ответ на: комментарий от dmitry237

Пид правильный, потому что wmctrl -lp работает, когда есть рамки окон

pihter ★★★★★
() автор топика
Ответ на: комментарий от pihter

Попробовал с firefox, работает:

$ xdotool search --pid $(pgrep firefox)
48234497
48234588
48234603
48234655
48234662
48234618
48234788
48234809
48234820
48234632
48234845
48234607
$ for i in $(xdotool search --pid $(pgrep firefox)); do xdotool getwindowname $i; done
Firefox
Firefox
Firefox
Firefox
Firefox
Firefox
Firefox
Firefox
Open a new tab (Ctrl+T)
Firefox
Firefox
Ищу надежный способ определять X Window ID по PID-у — Desktop — Форум
Ищу надежный способ определять X Window ID по PID-у — Desktop — Форум — Mozilla Firefox
dmitry237 ★★★★★
()
Ответ на: комментарий от dmitry237

Попробовал с firefox, работает

Ну я не сомневаюсь, что у кого-то где-то работает, странно бы было, будь это не так

Однако ж, у меня не работает: не думаю что я неправильно пользуюсь. По имени кстати ищет, но имя не уникально

pihter ★★★★★
() автор топика
Ответ на: комментарий от PPP328

К сожалению wmctrl -l не для всех окон покажет их PID/WID а только для тех которые про это сообщают (не явно, но всё же), с отдельными случаями придётся пердохаться с сопоставлением заголовка (такое себе) пида, родительского пида, коммандной строки, обход proc в поисках родитель-дочка и так далее и то всё равно будут случаи когда это не сработает или сработает неточно.

А так да то что ты указал, а останые окна игнорить тупо. Это в иксах, а в вяленом ваще беда бедная с этим. Куцый он и ущербный

anonymous
()
Ответ на: комментарий от pihter

Управлять положением окна запускаемого мной приложения

вяленд считает это первоочередной опасностью, и по этому wine не работал, (не факт что работает), я для этого юзаю wlroots но в эталонный вяленд это не проникнет, ибо политика партии так велит

s-warus ★★★★
()
Ответ на: комментарий от pihter

наверно думают: своим окошком ввод пароля в другой программе перекроешь, а это важный функционал для обеспечения комфортной работы, вспомни gimp с его обилием окошек

s-warus ★★★★
()
Ответ на: комментарий от PPP328

Это не конечная задача.

Опять эти озадаченные лоровские советники.

Каковы критерии «конечности» задачи? Давай, чётко и чтобы уже все поняли раз и навсегда.

anonymous
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.