将所有开放式终端设置在前面的捷径

在我导航到网页或编辑器之后,有没有办法将所有打开的终端重新放回原来的位置? 单击终端图标然后单独返回每个图标会有点痛苦。

谢谢!

例:

  • 预快捷方式:

前映像快捷方式


  • 后的快捷方式:

后图像快捷方式

您可以按Alt + Tab在窗口和Alt + Shift + Tab之间切换,以在窗口之间切换回来。 此快捷方式适用于几乎所有图形操作系统。 Yow也可以使用Super + W和箭头键来达到同样的目的。

在前面带一个终端窗口后,按Alt + 将所有其他终端窗口一个接一个地放在前面:

切换到Windows


要自动将所有打开的终端放在前面(不像我之前描述的那样一个接一个),你需要为以下脚本添加一个键盘快捷键 (从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 

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

  • 如何更改键盘上的键? (如何创建自定义键盘命令/快捷方式?)

这是一个小的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 

当您确定它可以从终端工作时,尝试将其绑定到热键,提供完整路径。 如果您确定它可以使用热键和脚本的完整路径,那么尝试将它的dir添加到登录shell PATH,并查看它是否以这种方式工作。

另一种方法是使用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手册中了解更多相关信息。

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

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

对于存档: https : //gist.github.com/psi-4ward/18c3a596d28a3cfa772101af755545df

尊重最近使用的应用程序的脚本