键盘快捷键切换自动隐藏 Unity 启动器

键盘快捷键切换自动隐藏 Unity 启动器

我想创建一个键盘快捷键来切换单元启动器的自动隐藏选项。根据如何以编程方式更改启动器的隐藏行为我尝试编写一个 Python 脚本来完成这项工作。然后我应该弄清楚如何使用键盘快捷键来运行它。

我的脚本如下所示:

#!/bin/python
AUTOHIDE=$(dconf read /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode)
if (AUTOHIDE==1):
   dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 0
else:
    dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 1

但是从终端运行脚本(执行 'python scriptname.py' )不起作用。我在 $ 符号处收到“语法无效”错误。

您必须知道我几乎对 Python 一无所知(或者一般来说不懂如何编写脚本)。(我刚刚花了几个小时在网上搜索帮助和示例)。

实际问题是:

  • 我做错了什么?
  • 我是否选择了一种复杂的方法?在这种情况下我该如何更轻松地做到这一点?

答案1

如果你想用 Pythonic 方式来做。

#!/bin/python
import subprocess
AUTOHIDE = subprocess.check_output (["/usr/bin/dconf", "read", "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode"])
if (AUTOHIDE==1):
   subprocess.call (["/usr/bin/dconf", "write", "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode", "0"])
else:
   subprocess.call (["/usr/bin/dconf", "write", "/org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode", "1"])

您必须通过创建子进程来执行程序。

这是 bash 脚本版本

#!/bin/bash
AUTOHIDE=$(dconf read /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode)
if [[ $AUTOHIDE -eq 1 ]]
then
   dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 0
else
   dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 1
fi

快捷方式可以像这样分配

答案2

一种简单的方法是创建自定义快捷方式。

访问系统设置>键盘>快捷键>自定义快捷键然后单击“+”添加新快捷键,并在命令框中粘贴:

dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 0

这将创建一个显示启动器的快捷方式。现在要隐藏启动器,您应该创建另一个快捷方式并添加以下命令:

dconf write /org/compiz/profiles/unity/plugins/unityshell/launcher-hide-mode 1

当然,现在每个功能都有一个命令,但我将它们并排放在一起,发现非常直观。

答案3

对于 Unity 2D,dconf 行应该是

/com/canonical/unity-2d/launcher/hide-mode

还有第三种模式“Intellihide”,其值为 2。

相关内容