Skip to content

alexhmt/LangTip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LangTip

Индикатор раскладки клавиатуры для Windows, написанный на Rust.

Показывает текущую раскладку клавиатуры (EN/RU) в углах экрана при её смене.

Возможности

  • Отображение индикатора раскладки в 5 позициях экрана (углы + центр)
  • Поддержка нескольких мониторов
  • Звуковое уведомление при смене раскладки
  • Автоматическое скрытие через заданное время
  • Плавная анимация появления/исчезновения
  • Настраиваемая прозрачность (click-through — клики проходят сквозь индикатор)
  • Поддержка любых раскладок (не только EN/RU)
  • Иконка в системном трее с меню
  • Глобальные горячие клавиши
  • Автозапуск при старте Windows
  • Полностью настраиваемый через JSON-конфиг
  • Горячая перезагрузка конфигурации (без перезапуска)
  • Минимальное потребление ресурсов (~1-2 MB RAM, ~0% CPU)

Требования

  • Windows 10/11
  • Rust 1.70+ (для сборки)

Установка

Из релиза

  1. Скачайте langtip.exe из Releases
  2. Запустите 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

Доступные шрифты (font_family)

Можно использовать любой шрифт, установленный в системе Windows.

Рекомендуемые моноширинные шрифты:

  • Consolas — современный, чёткий
  • Cascadia Code — от Microsoft, с лигатурами
  • JetBrains Mono — популярный для разработки
  • Fira Code — с лигатурами
  • Source Code Pro — от Adobe
  • Courier New — классический

Рекомендуемые пропорциональные шрифты:

  • Arial — по умолчанию, есть везде
  • Segoe UI — системный шрифт Windows 10/11
  • Tahoma — компактный, читаемый
  • 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Contributors

Languages