将所有打开的终端带到前面的快捷方式

Tom*_*eck 20 command-line shortcut-keys gnome-terminal shortcuts

导航到网页或编辑器后,有什么方法可以将所有打开的终端恢复到原来位置的前面?单击终端图标然后将每个图标单独带回来有点麻烦。

谢谢!

例子:

  • 预捷径:

前像快捷方式


  • 后捷径:

后图像快捷方式

Rad*_*anu 10

您可以按Alt+ TabWindows和Linux之间进开关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
Run Code Online (Sandbox Code Playgroud)

不要忘记使脚本可执行:

chmod +x /path/to/script/script_name
Run Code Online (Sandbox Code Playgroud)

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

  • 谢谢,但这本质上与单击终端图标并选择每个图标相同。我的意思是一条捷径,它将所有开放的终端带到前面。一个例子是我可以在 gedit 中编写代码,想要在一个终端中编译它,同时在另一个终端中查看日志的输出。 (3认同)

Ado*_*obe 8

这是一个小的 bash 脚本,它将标题与 ARG 匹配的所有窗口放在前面:

bring-all-windows.bash ARG
Run Code Online (Sandbox Code Playgroud)

剧本:

#!/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
Run Code Online (Sandbox Code Playgroud)

你可以绑定

bring-all-windows.bash Terminal
Run Code Online (Sandbox Code Playgroud)

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

该脚本需要wmctrl安装。

编辑

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

chmod +x bring-all-windows.bash
./bring-all-windows.bash Terminal
Run Code Online (Sandbox Code Playgroud)

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