TextMagic — приложение для Windows, которое обрабатывает текст в активном поле ввода по глобальным горячим клавишам. Возможности приложения расширяются с помощью файлов .tmscript, поэтому для добавления и изменения сценариев не требуется перекомпиляция.
| Сценарий | Горячая клавиша | Назначение |
|---|---|---|
| Layout Auto QWERTY | Shift+Shift |
Исправляет текст, набранный в неверной русской или английской раскладке QWERTY, сохраняет регистр букв и переключает язык ввода на язык результата. |
| Next Keyboard Layout | Shift |
Переключает активное приложение на следующую установленную раскладку клавиатуры. |
| Uppercase | Ctrl+Alt+U |
Преобразует текст в верхний регистр. |
| Lowercase | Ctrl+Alt+L |
Преобразует текст в нижний регистр. |
Горячие клавиши не зашиты в приложение: их можно изменить в соответствующих файлах .tmscript.
При запуске сценария TextMagic использует:
- явно выделенный текст;
- если выделения нет — последнее введённое слово или весь отслеживаемый текст, в зависимости от выбранного режима.
Без явного выделения TextMagic не считывает всё содержимое активного поля ввода.
Сценарии загружаются из папки scripts, расположенной рядом с TextMagic.exe. Каждый сценарий хранится в отдельном файле .tmscript, который содержит метаданные и тело PowerShell-скрипта.
Пример:
name=Uppercase
description=Converts selected or recently typed text to uppercase
hotkey=Ctrl+Alt+U
enabled=true
---
[Console]::InputEncoding = [System.Text.Encoding]::UTF8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$inputText = [Console]::In.ReadToEnd()
[Console]::Out.Write($inputText.ToUpperInvariant())Поля манифеста:
name— имя сценария в приложении;description— краткое описание;hotkey— горячая клавиша или сочетание клавиш;enabled— состояние сценария (trueилиfalse);- строка
---отделяет метаданные от тела PowerShell-скрипта.
- TextMagic передаёт исходный текст сценарию через
stdinв кодировке UTF-8. - Сценарий возвращает обработанный текст через
stdoutв кодировке UTF-8. - Успешно выполненный сценарий должен завершиться с кодом
0.
Проект распространяется по лицензии MIT.