Получить PID сфокусированного окна в Wayland

Насколько я могу судить, каталог / run / udev / watch является остатком от initramfs до того, как управление будет передано настоящая инициализация. Ссылки там создаются, как если бы они были в ../ data , где существуют файлы типа b8: 0 (которые описывают блочные устройства). Я не думаю, что каталог watch используется после завершения загрузки, поэтому неработающие ссылки не должны иметь значения. Все дерево / run не является постоянным, поэтому, если ваша цель - «исправить» их, вам нужно выяснить, где в initramfs они генерируются и безопасно ли их удалять. .

Их можно просто игнорировать.

1
13.05.2018, 15:41
2 ответа

swaymsg -t get_tree возвращает закодированное в формате JSON -дерево макета всех открытых окон. Сгенерированный JSON довольно большой, но его легко проанализировать с помощью инструмента jq .

Вы можете запустить этот скрипт из demnu для отображения информации о сфокусированном окне:

swaymsg -t get_tree \                                                                                     
  | jq '.. | (.nodes? // empty)[] | select(.focused==true) | {name, pid}' \
  | swaynag -m "Window Info" -l
4
28.01.2020, 00:35

Работает с плавающими или мозаичными окнами:

swaymsg -t get_tree | jq '.. | select(.type?) | select(.focused==true).pid'
1
14.07.2020, 00:43

Теги

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