Иногда я хочу вывести все окна одного приложения наверх. Кажется, что единственный способ сделать это в Unity в настоящее время - это переключиться на каждое окно индивидуально (либо с помощью alt-tab, нажав на значок запуска и выбрав каждое окно, либо свернув все остальные окна). Я предполагаю, что можно сделать что-то вместе, используя wmctrl, но я надеюсь на более простое решение.
Если вам просто нужно найти все окна приложения (с предварительным просмотром содержимого в каждом), то дважды щелкните значок приложения на панели запуска. При первом щелчке по нему активируется самое последнее окно приложения, а во второй раз - предварительный просмотр всех окон приложения. Технически это не то же самое, что «доведение их до вершины», но может удовлетворить ваши реальные потребности (например, найти все открытые окна электронной почты).
Опираясь на отличный ответ @Lajos для работы с любым приложением:
function showall {
pids=" $(pidof $1) "
wmctrl -lp | while read id a pid b
do test "${pids/ $pid }" != "$pids" && wmctrl -i -a $id; done
}
Затем назовите его так:
showall gnome-terminal
showall nautilus
showall chrome
Вы можете использовать wmctrl для этого:
Существует ярлык для всех окон, например, если вы просто хотите отменить переход на рабочий стол:
wmctrl -k off
Если вам действительно нужно вызвать только определенное приложение, вы можете использовать скрипт, как показано ниже, но он вызовет все окна на всех рабочие области. Например. чтобы вызвать все gnome-терминалы, вы можете сделать
pids=" $(pidof gnome-terminal) "
wmctrl -lp | while read id a pid b; do
test "${pids/ $pid }" != "$pids" && wmctrl -i -a $id
done