Команда Shell принести вікно програми перед іншим?


12

Чи існує команда оболонки, щоб принести вже запущену програму в gnome перед іншим.

тобто:

Гедіт і Наутілус запускаються. Наутілус знаходиться на задньому плані, а Гедіт - на передньому плані.

Як я можу привести Nautilus попереду командою оболонки?


Відповіді:


14
  • Встановити wmctrl Встановити wmctrl

    wmctrl -a <name>

  • Ви також можете використовувати xdotool Встановіть xdotool

Примітка:

  • Більше інформації про xdotool можна знайти тут .

Звичайно, редагуйте свою публікацію так само, як я
складаю

Ви можете знайти ім'я вікна за допомогою wmctrl -l Ім'я - це текст після останнього тире: <ідентифікатор вікна> <ідентифікатор робочого столу> <клієнтська машина> <назва вікна>
jorfus

8

Ще один варіант - xdotool :

xdotool search --class Nautilus windowactivate


2
Не вдалося меніXGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
Тіно

Можливо, помилка тут - на мій досвід --classname або --name (якщо відома) працює іноді, коли --class не працює.
frabjous

У моєму випадку вдалося підняти вікно, використовуючи ідентифікатор від xwininfoі видавши кілька додаткових різних xdotoolкоманд (яких я більше не пам'ятаю). Коли я намагався автоматизувати це (щоб позбутися xwininfo), я отримав візуальні артефакти завдяки інакше прихованим вікнам, які були вибрані. Я просто не знайшов загального способу правильно розібратися у довільних вікнах. Після переходу на wmctrl -aвсе одразу спрацював бездоганно з коробки без подальшої настройки. Зверніть увагу, що мені це подобається xdotool, але, здається, важко підняти з ним лише правильне вікно.
Тіно

2

Під час використання xdotoolздається, що важко вивести на фронт всі вікна для певної програми чи класу, використовуючи лише одну команду. Я маю кращі результати, загортаючи його в forпетлю на рівні оболонки. Використання Bash:

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

Кілька зауважень:

  • За замовчуванням xdotool searchбуде шукати шаблон (тут Firefox) у назві вікна, класі та імені класу. Якщо ви хочете , щоб обмежити область пошуку, використовуйте відповідні --class, --nameабо --classnameваріанти.
  • Ця --desktop 0опція обмежує пошук на першому робочому столі. Це, мабуть, є способом уникнути XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)згаданого в деяких коментарях.
  • На момент написання цього xdotoolпроекту проект зупиняється з 2015 року. Однак він все ще залишається моїм інструментом вибору. З особистих причин Джордан Сіссель (оригінальний автор) не такий активний, як він, тому не соромтеся внести свій внесок у проект.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.