Linux mint Cinnamon 中的快捷方式,如果存在则打开活动程序,否则打开一个新程序

Linux mint Cinnamon 中的快捷方式,如果存在则打开活动程序,否则打开一个新程序

当 Windows 或 Ubuntu 的快速启动栏中有 Chrome 和文件导航器的图标时,按super+1会打开 chrome,按super+2会打开文件导航器。我安装了 Linux mint 18 “Sarah” 和 Cinnamon,并希望实现上述行为。当我按super+时1,无论我是否已有一个活动的 chrome 会话正在运行,都会打开一个新的 chrome 实例。

首先,我尝试按照以下步骤启用“超级栏”本指南,但是没有效果。

然后我在以下帮助下找到了解决这个问题的方法一篇博客文章,其中快捷方式绑定到 bash 脚本。第一个脚本在 chrome 上运行完美,而打开文件管理器的脚本必须稍作修改。结果是这样的:

#!/bin/bash
if [ -z `wmctrl -l | grep -i "google"` ]; then
    google-chrome-stable
else
    wmctrl -a "google"
fi

为了授予脚本运行的权限,我在终端中输入:

chmod +x /path/to/script/scriptname

通过打开主菜单并转到键盘,然后转到快捷键,分配一个自定义快捷键,其中super+1绑定到“/path/to/script”使其工作。

为了使默认文件管理器“Nemo”获得相同的行为,以下脚本可以使其工作:

#!/bin/bash
CLASSNAME=nemo.Nemo

if [ $(wmctrl -xl | grep "$CLASSNAME" | wc -l) -eq 1 ]; then
    nemo ~
else
    FOLDERNAME=$(wmctrl -xl | grep "$CLASSNAME")
    FOLDERNAME=${FOLDERNAME##*b1}

    wmctrl -a $FOLDERNAME
fi

并且这个脚本可以赋值给super+ 2

我的问题是,这种方法不能完全实现我所期望的行为。由于这与快速启动栏中图标的位置无关,因此当我想引入新图标或在快速启动栏中切换位置时,​​这种方法不够灵活。

有没有人找到更简单、更好的方法来做到这一点?

相关内容