# README
wb-inbox-mail-count
Отображение количества сообщений в папке "Входящие"
Установка и конфигурация
Установка собранного bin-файла
- Загрузите соответствующую версию из раздела релизы
- Скопируйте исполняемый файл в
/usr/local/bin
(или иной каталог доступный waybar на запуск) - Создайте файл-конфигурации по инструкции описанной ниже
- Проверьте запуск командой
wbimc -config /home/user/.config/wb-inbox-mail-count/config.yml
- Если на 4м шаге произошли ошибки - активируйте ключ debug в config.yml и повторите запуск
- Добавьте отображение статуса в waybar (инструкция ниже)
Содержимое конфигурационного файла приложения (config.yml)
debug: false
servers:
-
name: "HSE"
address: "imap.yandex.ru:993"
username: "[email protected]"
password: "your-app-pass"
-
name: "Ya"
address: "imap.yandex.ru:993"
username: "[email protected]"
password: "another-app-pass"
unread_only: true
unread_only может быть задан для каждого сервера. В значении true в подсчете будут участвовать только непрочтенные сообщения. Значение по умолчанию - false.
Добавление запуска в waybar (~/.config/waybar/config.jsonc)
- Добавьте отображение вывода в раздел modules-right (или иной)
"modules-right": [
...
"battery",
"custom/wbimc",
...
],
- Добавьте обработчик вывода
...
"custom/wbimc": {
"exec" : "wbimc -config /home/user/.config/wb-incox-mail-count/config.yml",
"return-type": "json",
"interval": 60,
"format": "{}"
},
"battery": {
"format": "{icon} {capacity}%",
"format-icons": ["", "", "", "", ""]
},
...
Настройка отступов для waybar (~/.config/waybar/style.css)
#custom-wbimc {
color: @text;
padding-right: 13px;
}
Установка для разработки
-
Убедитесь, что установлена подходящая версия Go - 1.23.
-
Запустите make команду для установки утилит разработки.
make setup
Make команды
- setup - установка утилит для разработки/проверки
- fmt - запуск gofmt и goimports
- test - запуск тестов
- cover - вывод % покрытия тестов
- build - сборка исполняемого файла
Структура проекта
wb-inbox-mail-count/
├── cmd/
│ └── app/
│ └── main.go
├── internal/
| ├── app/
│ └── app.go // Методы работы с приложением
| ├── config/ // Хранение конфигураций для всех частей проекта
│ │ └── config.go
| ├── transport/ // Часть на получение внутри
│ │ ├── http/
│ │ ├── grpc/
│ │ └── messaging/ // Консьюмеры
| ├── domain/ // Обобщенные структуры / константы / ошибки
| | ├── models/
│ │ ├── errors/
│ │ └── consts/
| | └──consts.go
| ├── usecase/ // Бизнес логика
│ │ └── waybar.go
TODO v0.3
- TODO: автоматизировать сборку deb-пакета в github
- TODO: автоматизировать сборку bin-артефактов в github
- TODO: тесты
- TODO: сборка debian-пакета
- TODO: конкурентное обращение к почтовым серверам
- TODO: иконка для вывода в Config
# Packages
No description provided by the author