Индикатор раскладки клавиатуры для Windows, написанный на Rust.
Показывает текущую раскладку клавиатуры (EN/RU) в углах экрана при её смене.
- Отображение индикатора раскладки в 5 позициях экрана (углы + центр)
- Поддержка нескольких мониторов
- Звуковое уведомление при смене раскладки
- Автоматическое скрытие через заданное время
- Плавная анимация появления/исчезновения
- Настраиваемая прозрачность (click-through — клики проходят сквозь индикатор)
- Поддержка любых раскладок (не только EN/RU)
- Иконка в системном трее с меню
- Глобальные горячие клавиши
- Автозапуск при старте Windows
- Полностью настраиваемый через JSON-конфиг
- Горячая перезагрузка конфигурации (без перезапуска)
- Минимальное потребление ресурсов (~1-2 MB RAM, ~0% CPU)
- Windows 10/11
- Rust 1.70+ (для сборки)
- Скачайте
langtip.exeиз Releases - Запустите
langtip.exe
git clone https://github.com/user/langtip.git
cd langtip
cargo build --releaseИсполняемый файл будет в target/release/langtip.exe
Запустите langtip.exe. Программа будет работать в фоне, показывая индикатор при смене раскладки.
Правый клик по иконке в трее открывает меню:
- Показать — включить отображение индикатора
- Скрыть — выключить отображение индикатора
- Автозапуск — включить/выключить запуск при старте Windows
- Выход — закрыть программу
| Комбинация | Действие |
|---|---|
Ctrl+Alt+L |
Показать/скрыть индикатор |
Ctrl+Alt+Q |
Выход из программы |
При первом запуске создаётся файл config.json рядом с exe-файлом.
{
"font_size_corner": 32,
"font_size_center": 64,
"font_family": "Arial",
"update_delay_ms": 250,
"hide_delay_ms": 5000,
"margin": 20,
"opacity": 80,
"colors": {
"en": "#55FF55",
"ru": "#FF5555"
},
"positions": {
"top_left": true,
"top_right": true,
"bottom_left": true,
"bottom_right": true,
"center": true
},
"fade": {
"duration_ms": 200,
"steps": 10
},
"sound": {
"enabled": true,
"frequency_en": 800,
"frequency_ru": 600,
"duration_ms": 50
},
"hotkeys": {
"enabled": true,
"toggle": "ctrl+alt+l",
"exit": "ctrl+alt+q"
}
}| Параметр | Описание | По умолчанию |
|---|---|---|
font_size_corner |
Размер шрифта в углах | 32 |
font_size_center |
Размер шрифта в центре | 64 |
font_family |
Шрифт (см. ниже) | Arial |
hide_delay_ms |
Время до скрытия (мс) | 5000 |
margin |
Отступ от краёв экрана | 20 |
opacity |
Прозрачность индикатора (0–100%) | 80 |
colors.en |
Цвет для английской раскладки | #55FF55 |
colors.ru |
Цвет для русской раскладки | #FF5555 |
positions.* |
Включить/выключить позицию | true |
sound.enabled |
Звук при смене раскладки | true |
sound.frequency_* |
Частота звука (Гц) | 800/600 |
hotkeys.toggle |
Горячая клавиша показа/скрытия | ctrl+alt+l |
hotkeys.exit |
Горячая клавиша выхода | ctrl+alt+q |
Можно использовать любой шрифт, установленный в системе Windows.
Рекомендуемые моноширинные шрифты:
Consolas— современный, чёткийCascadia Code— от Microsoft, с лигатурамиJetBrains Mono— популярный для разработкиFira Code— с лигатурамиSource Code Pro— от AdobeCourier New— классический
Рекомендуемые пропорциональные шрифты:
Arial— по умолчанию, есть вездеSegoe UI— системный шрифт Windows 10/11Tahoma— компактный, читаемыйVerdana— хорошо читается на экранеCalibri— современный, от Microsoft
Примеры:
{
"font_family": "Consolas"
}{
"font_family": "Segoe UI"
}Изменения в config.json применяются автоматически в течение 2 секунд без перезапуска программы. Это работает для:
- Позиций индикаторов
- Размера и семейства шрифта
- Цветов
- Прозрачности
- Времени скрытия
- Настроек звука
src/
├── main.rs # Точка входа, главный цикл
├── config.rs # Загрузка/сохранение конфигурации
├── indicator.rs # Окна-индикаторы
├── keyboard_hook.rs # Хук для отслеживания смены раскладки
├── hotkeys.rs # Глобальные горячие клавиши
├── tray.rs # Иконка в системном трее
├── monitors.rs # Определение мониторов
├── autostart.rs # Автозапуск через реестр
├── single_instance.rs # Защита от повторного запуска
└── sound.rs # Звуковые уведомления
MIT