我想创建一个宏来切换 ConEmu 中的透明度。理想情况下,我可以按住一个键,ConEmu 的透明度将设置为尽可能高。松开后,它将返回到之前的设置。切换开/关也可以。我在想我可以创建一个这样的 guimacro(伪代码如下):
if GetOption("AlphaValue") = 80
SetOption("AlphaValue") 40
else
SetOption("AlphaValue") 80
我读了 ConEmu GuiMacros 的页面,但不确定我是否理解如何使用 GuiMacro 实现这一点。GuiMacros 可以做到这一点吗?还是我需要编写一个脚本并让宏启动脚本或类似的东西?
有人能阐明如何在 ConEmu 中创建此功能吗?
答案1
根据 Maximus 的建议,我可以使用以下组合来实现这一点自动热键和 ConEmu GuiMacros。
AutoHotKey 脚本:
#IfWinActive ahk_class VirtualConsoleClass
^e::
Send, ^+!e
KeyWait, e
Send, ^+!r
Return
#IfWinActive
ConEmu 宏:
Macro1
Hotkey: Ctrl-Shift-Alt-E
GuiMacro: SetOption("AlphaValue",40)
Macro2
Hotkey: Ctrl-Shift-Alt-R
GuiMacro: SetOption("AlphaValue",204)
AutoHotKey 脚本使用 KeyWait 在第一次按下热键时发送一个键序列,在释放该键时发送另一个键序列。我使用了原本不会使用的疯狂序列(Ctrl-Shift-Alt-E 和 R),并在 ConEmu 中为这些序列创建了宏来发出 GuiMacro 命令。
当我按住 Ctrl-E 时,ConEmu 窗口的透明度变为 40(完全透明),当我释放 E 键时,透明度将恢复为我的设置 204(80% 不透明)。通过在 AutoHotKey 中使用 #IfWinActive,它只会在 ConEmu 为活动窗口时执行这些热键。
感谢 Maximus 对 AutoHotKey 的快速响应和建议,当然还要感谢他创建了出色的 ConEmu!