ton*_*sid 6 linux ubuntu ubuntu-10.04
有一些 gui 程序,如果你从菜单中选择它们,如果它已经打开,而不是打开一个新的实例,那个窗口将成为最重要的。但是,有些程序会打开自身的多个实例。
有一个程序表现出后一种行为,但我希望它做前者。如何才能做到这一点?
我找到了这个线程并实现了它,分享了我的版本。
我创建了一个可执行文件,/usr/local/bin/run_once.sh其中包含
#! /bin/bash
application=$1
if wmctrl -xl | grep "${application}" > /dev/null ; then
# Already running, raising to front
wmctrl -x -R "$application"
else
# Not running: starting
$@
fi
Run Code Online (Sandbox Code Playgroud)
这会检查wmctrl您尝试启动的应用程序是否已经打开了一个窗口(一些 gui 程序让工作人员没有 gui 运行)而不是使用ps,使用 -x 来使用WM_CLASS而不是标题栏名称。
对于我只想要一个窗口的每个程序,我将系统.desktop文件复制到~/.local/share/applications并将exec字段从更改exec=program --arguments为exec=/usr/local/bin/run_once.sh program --arguments
| 归档时间: |
|
| 查看次数: |
3629 次 |
| 最近记录: |