有时我想将一个应用程序的所有窗口都置于顶部。目前在 Unity 中实现此目的的唯一方法是单独切换到每个窗口(使用 alt-tab、单击启动器图标并选择每个窗口,或最小化所有其他窗口)。我猜可以使用 wmctrl 来解决这个问题,但我希望有一个更简单的解决方案。
答案1
您可以使用 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
答案2
如果您只需要查找某个应用程序的所有窗口(并预览每个窗口的内容),则请在启动栏中单击该应用程序的图标两次。第一次单击时,将激活该应用程序的最新窗口,第二次单击时,将预览该应用程序的所有窗口。从技术上讲,这与“将它们置于顶部”不同,但可能满足您的实际需求(例如,查找所有打开的电子邮件窗口)。
答案3
基于@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