如何编写脚本来切换 unitytweaktool 设置(热点)

uni*_*eID 3 command-line scripts shortcut-keys unity-tweak-tool

具体来说,我想在每次启动 Steam 游戏时打开/关闭热角。但我对任何类型的脚本一无所知。任何学习这种东西的资源都会很棒。

请告诉我这个问题是否在错误的地方,我会删除它。

Jac*_*ijm 5

如果您只想要脚本,请跳过说明

解释

您必须至少学习一种适当的编程(/脚本)语言,但是:

介绍; dconf 和 gsettings
大多数(如果不是全部)设置,由 Unity Tweak Tool 编辑编辑dconf数据库,其中存储了许多设置。编辑 dconf 数据库最好通过 gsettings完成,它实际上是clidconf 数据库的前端。

在您的示例中,不幸的是,设置/切换热角只能通过dconf直接编辑数据库来完成,因为它没有SCHEMA可用的gsettings

获取当前值
hotcorners -plugin 设置在:

/org/compiz/profiles/unity/plugins/core/show-desktop-edge
Run Code Online (Sandbox Code Playgroud)

您可以通过以下命令读取当前状态:

dconf read /org/compiz/profiles/unity/plugins/core/show-desktop-edge
Run Code Online (Sandbox Code Playgroud)

在您的情况下,这将有一个输出(来自您的评论):

 '|BottomRight'
Run Code Online (Sandbox Code Playgroud)

设置新值
禁用热角,您需要运行以下命令:

dconf write /org/compiz/profiles/unity/plugins/core/show-desktop-edge "''"
Run Code Online (Sandbox Code Playgroud)

使用您之前设置的热角(重新)启用热角:

dconf write /org/compiz/profiles/unity/plugins/core/show-desktop-edge "'|BottomRight'"
Run Code Online (Sandbox Code Playgroud)

切换脚本的剖析

脚本(一般)应该做什么:

  1. 测试当前状态 A/B
    • 如果当前状态是 A -> 设置 B
    • 如果当前状态是 B -> 设置 A

剧本

在脚本中,注释中描述了上述步骤:

/org/compiz/profiles/unity/plugins/core/show-desktop-edge
Run Code Online (Sandbox Code Playgroud)

如何使用

  1. 将脚本复制到一个空文件中,另存为 toggle_hotcorners.py
  2. 从终端测试运行它:

    python3 /path/to/toggle_hotcorners.py
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果一切正常,请将其添加到键盘快捷键。选择:系统设置>“键盘”>“快捷方式”>“自定义快捷方式”。单击“+”并添加命令:

    python3 /path/to/toggle_hotcorners.py
    
    Run Code Online (Sandbox Code Playgroud)

如何查看 Unity Tweak Tool 正在编辑的内容?

不仅适用于 Unity Tweak Tool,还可以查看 System Settings 正在编辑的内容,在许多情况下,以下内容为您提供了有用的信息:

  • 打开终端,打开Unity Tweak Tool
  • dconf watch /在终端运行命令
  • 在 Unity Tweak Tool 中从 GUI 更改值

终端中的输出更改:

![在此处输入图片说明

如果我在 Unity Tweak Tool 中禁用/启用热角,您可以看到会发生什么。