Как определить окно по щелчку в Wayland

Только с sed :

sed -n "$(sed -e 's/$/p;/' < cntl.txt)" data.txt
15
23.01.2019, 19:29
2 ответа

Хорошие новости, нечто подобное ЕСТЬ, встроенное в Gnome Shell, и в отличие от xpropработает с Xorg и Wayland. В конечном счете, это может относиться к другим инструментам, если вы используете KDE, i3 или что-то еще.

Для начала нажмите клавиши «ALT+F2» на клавиатуре, чтобы открыть меню, подобное этому:

alt ft

После этого введите командуlg(для "зазеркалья )".

Затем откроется окно-зеркало, из которого мы можем извлечь информацию об окне. Выберите «окно» в правом верхнем углу зеркала :

.

window section

Оттуда вы увидите список окон, в котором вы можете щелкнуть имя окна, которое хотите идентифицировать.

list

В данном случае для примера я выбрал gedit:

gedit

В верхней строке этого вывода вы можете заметить:

Inspecting object: object instance proxy GType: MetaWindowX11...

"GType" будет одним из MetaWindowX11или MetaWindowWayland.

Эта информация соответствуетhttps://fedoraproject.org/wiki/How_to_debug_Wayland_problems

11
27.01.2020, 19:50

Существует черновик xdg-foreignрасширения протокола , которое позволяет получать дескрипторы wl_surface, созданные другими клиентами Wayland. Имея ручку, вы можете получить от нее все, что вы можете получить от поверхностей вашего клиента. Однако этот протокол все еще имеет ограничения :

.
  • Очевидно, что это не будет работать, если не будет реализовано в клиентах.
  • Он предназначен для клиентов, которые знают друг друга, поэтому не предоставьте способ активировать его :ваш клиент взаимодействует с внешним клиентом каким-то образом, не охватываемым расширением. Затем внешний клиент публикует дескриптор вашего клиента через это расширение.
  • Он получает слишком много контроля по сравнению с xprop. На самом деле, вы даже можете рисовать на чужих поверхностях!

Таким образом, маловероятно, что это станет распространенным способом получения параметров поверхности от любого клиента любым клиентом. Но не теряйте надежды, :в истории техники есть множество примеров, когда технология, изначально разработанная для какой-то цели, стала широко использоваться для других целей, как автомобильные прикуриватели или API специальных возможностей в Android. Более того, в будущем может появиться более подходящее для вашей задачи расширение протокола, так как в нем точно есть необходимость (например, для тайм-трекеров ).

0
27.01.2020, 19:50

Теги

Похожие вопросы