Рабочий стол Ubuntu 18.04.1 LTS: как программно получить положение окна (X, Y) любого настольного приложения

Я столкнулся с этой проблемой: https://unix.stackexchange.com/questions/499383/xdotool-getmouselocation-and-getwindowgeometry-y-location-inconsistency

В качестве альтернативы я думаю о том, как программно получить местоположение любого оконного приложения в Gnome/Ubuntu 18 Desktop, предпочтительно с использованием Java/JNA или C++.

Есть ли способ получить координату положения окна (X, Y) с помощью Java или C++ в Ubuntu 18.04.1 LTS Desktop для любого настольного приложения, например. Терминал или GEdit?

В частности, я хочу фактически получить расположение окна приложения Gnome Terminal или GEdit из программы Java/C++.

@kai, извините, что вас запутали, но я буду получать любые произвольные координаты окна приложения (x, y), которые не созданы самой программой-автоматом (java/c++). Я хочу фактически получить расположение окна приложения Gnome Terminal или GEdit из программы Java/C++.

Artanis Zeratul 08.02.2019 03:04

можете поделиться ссылками пожалуйста?

Artanis Zeratul 08.02.2019 03:54

это похоже на хороший учебник по xlib tronche.com/gui/x/xlib, а ссылка на gtk довольно структурирована и хороша developer.gnome.org/gtk3/стабильный

kai 08.02.2019 04:13

но, как я уже сказал, не обязательно надежный, и вы можете найти невидимые окна (например, по причинам фокусировки) вместо того, которое вы ищете ....

kai 08.02.2019 04:16

@kai, учебник не содержит примеров кода.

Artanis Zeratul 08.02.2019 04:26

Давайте продолжить обсуждение в чате.

Artanis Zeratul 08.02.2019 05:03

я там и держу окно чата открытым...

kai 08.02.2019 05:09

@ArtanisZeratul ты нашел ответ? Меня интересует подобное: получение позиции окон Gnome 2.28.2 в CentOS 6.8, предпочтительно из Bash или Perl

Axel Bregnsbo 23.11.2019 22:30

@AxelBregnsbo, это от kai... попробуйте это --> stackoverflow.com/questions/3909713/… <br />, но оно отличается на 6 пикселей.

Artanis Zeratul 24.11.2019 07:54
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
9
297
0

Другие вопросы по теме