3

Я хотел бы создать макрос для переключения прозрачности в ConEmu. В идеале я мог бы удерживать нажатой клавишу, и прозрачность ConEmu была бы максимально высокой. После освобождения он вернется к предыдущей настройке. Переключение вкл / выкл тоже хорошо. Я думал, что смогу создать такой гимакро (псевдокод следует):

if GetOption("AlphaValue") = 80
  SetOption("AlphaValue") 40
else 
  SetOption("AlphaValue") 80

Я прочитал страницу о ConEmu GuiMacros, и я не уверен, что понимаю, как я смог бы добиться этого с помощью GuiMacro. Может ли GuiMacros сделать это, или мне нужно написать скрипт и сделать так, чтобы макрос запускал скрипт?

Кто-нибудь может уточнить, как бы я пошел о создании этой функции в ConEmu?

1 ответ1

3

В соответствии с рекомендациями 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!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .