Командная консоль для вывода окна программы перед другим?

Существует ли команда оболочки для вывода уже запущенной программы в gnome впереди другой.

Т.е.:

Гедит и Наутилус запущены. Наутилус на заднем плане и Гедит на переднем плане.

Как вывести Наутилуса впереди с помощью команды оболочки?

10
задан 12 January 2011 в 22:30

3 ответа

Другой вариант - xdotool :

xdotool search --class Nautilus windowactivate

.
0
ответ дан 12 January 2011 в 22:30
  • Установить wmctrl Install wmctrl

    wmctrl -a <name>

  • Вы также можете использовать xdotool Install xdotool

Примечание:

  • Подробнее о xdotool можно найти здесь .
0
ответ дан 12 January 2011 в 22:30

При использовании xdotool кажется трудным вывести на передний план все окна для данного приложения или класса, используя только одну команду. Я добился лучших результатов, заключив его в цикл for на уровне оболочки.Использование Bash:

for WINDOW in $(xdotool search --desktop 0 Firefox); do
   xdotool windowactivate ${WINDOW}
done

Несколько замечаний:

  • По умолчанию xdotool search будет искать шаблон (здесь Firefox ) в имени окна, классе и имени класса. Если вы хотите ограничить пространство поиска, используйте соответствующие параметры - class , - name или - classname .
  • Параметр - рабочий стол 0 ограничивает поиск первым рабочим столом. Похоже, это обходной путь, позволяющий избежать ошибки XGetWindowProperty [_NET_WM_DESKTOP] (code = 1) , упомянутой в некоторых комментариях.
  • На момент написания этой статьи проект xdotool остановлен с 2015 года. Тем не менее, он по-прежнему остается моим любимым инструментом. По личным причинам Джордан Сиссел (первоначальный автор) не так активен, как был, поэтому не стесняйтесь вносить свой вклад в проект.
3
ответ дан 30 December 2019 в 12:02

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

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