Макрос ConEmu для переключения прозрачности окна
Я хотел бы создать макрос для переключения прозрачности в ConEmu. В идеале я мог бы удерживать нажатой клавишу, и прозрачность ConEmu была бы максимально высокой. После освобождения он вернется к предыдущей настройке. Переключение вкл / выкл тоже хорошо. Я думал, что смогу создать такой гимакро (псевдокод следует):
if GetOption("AlphaValue") = 80
SetOption("AlphaValue") 40
else
SetOption("AlphaValue") 80
Я прочитал страницу о ConEmu GuiMacros, и я не уверен, что понимаю, как я смог бы добиться этого, используя GuiMacro. Может ли GuiMacros сделать это, или мне нужно написать скрипт и сделать так, чтобы макрос запускал скрипт?
Кто-нибудь может уточнить, как бы я пошел о создании этой функции в ConEmu?
1 ответ
В соответствии с рекомендациями Maximus, я смог сделать это с помощью комбинации AutoHotKey и 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%). Используя #IfWinActive в AutoHotKey, он будет выполнять эти горячие клавиши только тогда, когда ConEmu является активным окном.
Спасибо Максимусу за его быстрый отклик и предложение AutoHotKey, и, конечно, за создание потрясающего ConEmu!