Files
telegram-tui/HOTKEYS.md
Mikhail Kilin 8844c2953d docs: add Phase 11 - image display in chat
Documented new feature for displaying images directly in terminal
instead of text placeholders like "[Фото]".

Documentation Changes:
- ROADMAP.md: Added Phase 11 with 6 stages
  - Stage 1: Infrastructure (media module, ImageCache, dependencies)
  - Stage 2: TDLib integration (PhotoInfo, download_photo)
  - Stage 3: UI rendering (inline previews, scaling)
  - Stage 4: Fullscreen viewer (new ViewImage mode)
  - Stage 5: Configuration and UX (MediaConfig in config.toml)
  - Stage 6: Error handling and fallback

- CONTEXT.md: Added PLANNED section for Phase 11
  - Technical stack: ratatui-image 1.0, TDLib downloadFile
  - Protocols: Sixel, Kitty Graphics, iTerm2, Unicode Halfblocks
  - Architecture: src/media/ module with 3 submodules
  - LRU cache (100 MB limit)
  - Async loading, lazy loading for visible images
  - Configuration options in config.toml

- HOTKEYS.md: Added new hotkeys
  - `v` / `м` - open image in fullscreen (in selection mode)
  - `←` / `→` - navigate between images (in viewer mode)
  - `Esc` - close image viewer
  - Added new "View Image Mode" section

- PROJECT_STRUCTURE.md: Added media/ module documentation
  - image_cache.rs - LRU cache for downloaded images
  - image_loader.rs - Async loading via TDLib
  - image_renderer.rs - Rendering with protocol detection
  - Updated dependencies section
  - Updated App state with new fields

Technical Details:
- Terminal protocol auto-detection (Sixel/Kitty/iTerm2/Halfblocks)
- Cross-platform support (Linux, macOS, Windows)
- Graceful fallback to Unicode halfblocks for all terminals
- Async non-blocking image loading
- Smart caching with size limits
- Configurable quality and protocol settings

New Configuration (config.toml):
- show_images: bool - enable/disable image display
- image_cache_mb: usize - cache size limit in MB
- preview_quality: "low" | "medium" | "high"
- render_protocol: "auto" | "sixel" | "kitty" | "iterm2" | "halfblocks"

Status: PLANNED (documentation complete, implementation pending)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-05 02:43:04 +03:00

6.5 KiB
Raw Blame History

Горячие клавиши tele-tui

Общая навигация

Клавиша Русская раскладка Действие
/ k р Вверх по списку
/ j о Вниз по списку
Enter Открыть чат / Отправить сообщение
Esc Закрыть чат / Отменить действие
Ctrl+C Выход из приложения
Ctrl+R Обновить список чатов

Папки и поиск

Клавиша Действие
1-9 Переключение между папками Telegram
Ctrl+S Открыть поиск по чатам
Ctrl+F Открыть поиск в текущем чате
n Следующий результат поиска
N Предыдущий результат поиска

Работа с сообщениями

Навигация и выбор

Клавиша Действие
↑/↓ Скролл сообщений (в открытом чате)
Выбор сообщения (при пустом поле ввода)
Esc Отменить выбор

Действия с сообщениями

Клавиша Русская раскладка Действие
Enter Редактировать выбранное сообщение
r к Ответить на сообщение (Reply)
f а Переслать сообщение (Forward)
d / Delete в Удалить сообщение
y н Копировать текст в буфер обмена
e у Добавить реакцию (Emoji picker)
v м Открыть изображение в полном размере
Ctrl+i Ctrl+ш Открыть профиль чата/пользователя

Просмотр изображений

Режим просмотра изображения

Клавиша Действие
v / м Открыть изображение (в режиме выбора)
Предыдущее изображение в чате
Следующее изображение в чате
Esc Закрыть просмотр изображения

Примечание: Изображения отображаются inline в чате автоматически. Используйте v для просмотра в полном размере.

Модалки подтверждения

Удаление сообщения

Клавиша Русская раскладка Действие
y / Enter н Подтвердить удаление
n / Esc т Отменить удаление

Emoji Picker (реакции)

Клавиша Действие
Влево по сетке эмодзи
Вправо по сетке эмодзи
Вверх по сетке эмодзи
Вниз по сетке эмодзи
Enter Добавить/удалить реакцию
Esc Закрыть emoji picker

Редактирование текста

Навигация по тексту

Клавиша Действие
Курсор влево
Курсор вправо
Home Курсор в начало строки
End Курсор в конец строки

Редактирование

Клавиша Действие
Backspace Удалить символ слева от курсора
Delete Удалить символ справа от курсора
Enter Новая строка / Отправить (зависит от контекста)

Режимы работы

Режим списка чатов

  • Навигация: ↑/↓
  • Открыть чат: Enter
  • Поиск: Ctrl+S
  • Папки: 1-9

Режим открытого чата

  • Скролл: ↑/↓
  • Выбор сообщения: (при пустом инпуте)
  • Поиск в чате: Ctrl+F
  • Закрыть чат: Esc

Режим выбора сообщения

  • Редактировать: Enter
  • Ответить: r / к
  • Переслать: f / а
  • Удалить: d / в / Delete
  • Копировать: y / н
  • Реакция: e / у
  • Просмотр изображения: v / м (если выбрано сообщение с фото)
  • Отменить: Esc

Режим редактирования

  • Редактировать текст: см. "Редактирование текста"
  • Отправить: Enter
  • Отменить: Esc

Режим ответа (Reply)

  • Редактировать ответ: см. "Редактирование текста"
  • Отправить: Enter
  • Отменить: Esc

Режим пересылки (Forward)

  • Выбрать чат: ↑/↓
  • Переслать: Enter
  • Отменить: Esc

Режим просмотра изображения

  • Навигация: ←/→ (предыдущее/следующее изображение)
  • Закрыть: Esc

Поддержка русской раскладки

Все основные vim-клавиши поддерживают русскую раскладку:

Английская Русская Действие
h р Влево
j о Вниз
k л Вверх
l д Вправо
r к Reply
f а Forward
d в Delete
y н Copy (Yank)
e у Emoji reaction
v м View image

Подсказки

  • Текущие доступные команды всегда отображаются в нижней части экрана (footer)
  • При открытой модалке доступны только действия этой модалки
  • Esc всегда отменяет текущее действие и возвращает на шаг назад
  • Блочный курсор █ показывает текущую позицию при редактировании текста