沈雅

努力,以不负沈雅之名!
嵌入式、Linux、Cosplay、Acg、动漫、各种文学 全为我所爱矣!
交流联系:QQ88459122

Linux把窗口快捷切换到最前的方法

在Linux使用的时候,可能需要来回切换窗口,需要把某个窗口提到最前来,也就是激活,如果没有打开此程序,就先打开。例如经常需要把字典调出来。在Windows下的有道字典就有这个功能。在Linux可以更加方便的对任何程序实现此功能。这里需要用到wmctrl工具。

在Ubuntu下,首先安装:
sudo apt-get install wmctrl


wmctrl的用法有很多,可以使用多种方法来控制窗口。这里主要用到如下功能:
wmctrl -a "window name"
这里-a参数表示激活(Active),后面接窗口的名字,这里并不需要完全精确匹配,只需要是目标窗口的一部分就可以,例如:wmctrl -a "pdf"就可方便激活pdf阅读器(因为pdf阅读器的窗口名字会根据文档名字变化,.pdf是唯一不变的)。

接下来实现:没有打开此程序的话,就直接打开,否则直接激活此程序。可以使用如下脚本,保存为/home/tom/bringToFront文件,第一个参数表示程序名,第二参数表示窗口名(或者窗口名的一部分)。
#!/bin/bash if [ `wmctrl -l | grep -c "$2"` != 0 ]   then     wmctrl -a "$2" else     $1 & fi
并且给此文件增加可执行权限chmod +x,就可以这样使用次脚本了:
./bringToFront chrome "Chrome" 这里会先执行查看是否打开了chrome,如果没有开打,就打开,否则,把Chrome窗口激活。
PS:后来发现有人用了更加简单的方法实现:
wmctrl -a "winname" appname


评论

© 沈雅 | Powered by LOFTER