Есть ли приложение для управления тем, какие окна находятся поверх других? [Дубликат]

Вы можете использовать xdotool, чтобы пользователь мог щелкнуть окно и получить его идентификатор процесса. Затем вы можете использовать kill для отправки, например. STOP или CONT сигналы к этому процессу и замораживают / оттаивают его таким образом.

Во-первых, вам, вероятно, придется установить xdotool, поскольку он не устанавливается заранее:

sudo apt install xdotool
2] Затем команда для получения PID процесса, владеющего определенным окном, которое может быть выбрано щелчком мышью, будет:

xdotool selectwindow getwindowpid

Это печатает числовой идентификатор процесса. Вы можете использовать его в качестве аргумента для kill -STOP или kill -CONT для приостановки и продолжения указанного процесса. Это можно упростить, сохранив PID в переменной, как в этом маленьком скрипте ниже, который приостанавливает процесс щелкнутого окна в течение 5 секунд:

#!/bin/bash
wpid="$(xdotool selectwindow getwindowpid)"
kill -STOP "$wpid"
sleep 5
kill -CONT "$wpid"

Теперь вы можете сохранить этот сценарий на своем компьютере и, например, привяжите его к сочетанию клавиш.

Примечание: man xdotool говорит о подкоманде getwindowpid: «Это требует усилий от приложения, владеющего окном, и может не работать для всех окон». Другими словами, он может не работать вообще или, по крайней мере, не так, как предполагалось, с некоторыми приложениями. Также может случиться так, что несколько окон имеют одинаковый идентификатор процесса, например, например. все экземпляры gnome-terminal принадлежат одному и тому же родителю. В этом случае команда заблокирует все из них, что может и не быть задумано.
1
задан 13 April 2017 в 15:24

0 ответов

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

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