Как получить идентификатор окна x11 элемента div, отображаемый в веб-браузере

#x11

#x11

Вопрос:

Мне нужен способ узнать идентификатор окна x11 определенного элемента div в веб-браузере (например, Firefox), чтобы этот идентификатор можно было использовать для отображения некоторых видеопотоков.

Есть ли способ сделать это на c или Java?

При чтении некоторых сообщений и просмотре Интернета, казалось, был один, который использовал xwininfo. Используя это, я мог получить только идентификатор окна браузера, но не смог получить идентификатор для внутренних элементов. Возможно ли это? Если нет .. кто-нибудь может предложить мне какую-либо другую идею?

Спасибо

Комментарии:

1. Вы проверили, что вы можете сделать с помощью xdotool и xdotool-gui ?

2. Похоже, это похоже на xwininfo с разницей в симулированных событиях клавиатуры или мыши, верно? может быть полезно, но когда я попробовал с помощью xwininfo и нажал на нужный мне div, он выдал мне идентификатор окна главного браузера. Везде, где я нажимаю внутри главного окна браузера, тот же случай. 🙁

3. Весьма сомнительно, что браузер предоставляет идентификатору элементов divs значение X11, поэтому я не вижу никакого способа сделать то, что вы хотите…

Ответ №1:

Где вам нужно получить идентификатор окна, из внешней программы, отдельной от браузера, или из JavaScript, или еще из чего?

У div не будет собственного X window; скорее всего, единственное X window предназначено для всей веб-страницы, или в некоторых браузерах, возможно, даже для всего окна браузера, включая панели инструментов.

Возможно, вы можете написать плагин. Плагин (по крайней мере, на данный момент, будущие спецификации, вероятно, изменят это) может иметь свое собственное окно X. Например, Flash делает.

Комментарии:

1. Да .. после долгих поисков становится очевидным, что внутренние элементы не отображаются как окна x11. Однако, если возможно получить идентификатор x11 всего браузера, как мне его получить?

2. откуда? из плагина, из расширения, из какого-либо другого приложения?

3. Либо из Javascript, либо из отдельного приложения (предпочтительнее c ), работающего в той же системе. На данный момент я использовал скрипт оболочки, который анализирует возвращаемое значение xwininfo и преобразует строку в шестнадцатеричное значение. Искал способ найти это непосредственно в javascript.

4. да, xwininfo или эквивалент, написанный на C / C (см. Функцию XQueryTree или исходный код xwininfo), вероятно, является лучшим способом. Я не могу придумать, как это сделать из JS, потому что вы не можете создавать процессы или использовать Xlib из JS.