将所有打开的终端置于最前面的快捷方式

将所有打开的终端置于最前面的快捷方式

当我导航到网页或编辑器后,有什么方法可以将所有打开的终端重新放回到其原始位置?单击终端图标然后分别将每个终端放回原位有点麻烦。

谢谢!

例子:

  • 预快捷方式:

预映快捷方式


  • 快捷方式后:

后图像快捷方式

答案1

您可以按Alt+Tab在窗口之间向前切换,按Alt+ Shift+Tab在窗口之间向后切换。此快捷键适用于几乎所有图形操作系统。您也可以使用Super+W和箭头键来实现相同的目的。

将一个终端窗口置于最前面后,按Alt+~将所有其他终端窗口逐个置于最前面:

切换到窗口


要自动将所有打开的终端放在最前面(而不是像我之前描述的那样一个接一个),你需要添加键盘快捷键对于以下脚本(脚本取自Adobe回答并考虑到该版本的脚本对我来说不起作用而进行了改进):

#!/bin/bash

if [ $# -ne 1 ];then
  echo -e "Usage: `basename $0` PROGRAM_NAME\n
           For example:\n\t
           '`basename $0` gnome-terminal' for Terminal\n\t
           '`basename $0` firefox' for Firefox\n\t
           '`basename $0` chromium-browser' for Chromium\n\t..."
  exit 1
fi

pids=" $(pidof $@) "

if [ "$pids" = "  " ]; then # the string "  " contain two spaces
    echo "There is no program named '$@' opened at the moment."
    exit 1
fi

wmctrl -lp | while read identity desktop_number PID window_title; do 
    if [ "${pids/ $PID }" != "$pids" ]; then
        wmctrl -ia $identity
    fi
done

不要忘记使脚本可执行:

chmod +x /path/to/script/script_name

在终端中测试脚本后,您必须看到:

答案2

下面是一个小型 bash 脚本,它将所有标题与 ARG 匹配的窗口置于最前面:

bring-all-windows.bash ARG

剧本:

#!/bin/bash

Program=$@

wmctrl -l | while read Window; do
    if [[ "$Window" == *"$Program"* ]]; then
        echo "DEBUG: I bring $Window"
        code=`echo "$Window" | cut -f 1 -d " "`
        wmctrl -i -a $code
    fi
done

您可以绑定

bring-all-windows.bash Terminal

到热键(不要忘记将脚本放在登录 shell PATH 中,或者写入完整路径)。

该脚本需要wmctrl安装。

编辑

要从终端运行某些程序,请导航到放置脚本的目录,然后

chmod +x bring-all-windows.bash
./bring-all-windows.bash Terminal

当您确定它可以在终端上运行后,尝试将其绑定到热键,并提供完整路径。当您确定它可以与热键和脚本的完整路径一起使用后,尝试将其目录添加到登录 shell PATH,然后查看它是否以这种方式运行。

答案3

另一种方法是使用xdotool。您应该先安装它,因此这sudo apt-get install xdotool是强制性的。

xdotool search --class "terminal" windowactivate %@
xdotool search --name "braiam@bt" windowactivate %@

第一个查找任何名为 的二进制文件*terminal*,第二个查找任何标题为 的窗口*braiam@bt*。然后,如果你将其放入 bash 脚本中:

#!/bin/bash

set -e
program=$@

xdotool search --class '$program' windowactivate %@
xdotool search --name '$program' windowactivate %@

您可以在xdotool手册中了解更多有关此内容的信息。

答案4

在我的 Ubuntu 桌面上,我的图标垂直排列在桌面左侧边缘。如果您左键单击终端图标,您将看到所有终端窗口。然后您可以选择其中一个进行操作。如果您右键单击终端图标,您将看到一个菜单列表,顶部有“新终端”,列表下部是所有打开的终端。您可以选择任何一个作为活动终端。

此方法也适用于任何其他应用程序,例如您的浏览器。

相关内容