Categorygithub.com/devalv/wb-inbox-mail-count

# README

wb-inbox-mail-count

Go Report Card CodeQL codecov

Отображение количества сообщений в папке "Входящие"

пример

Установка и конфигурация

Установка собранного bin-файла

  1. Загрузите соответствующую версию из раздела релизы
  2. Скопируйте исполняемый файл в /usr/local/bin (или иной каталог доступный waybar на запуск)
  3. Создайте файл-конфигурации по инструкции описанной ниже
  4. Проверьте запуск командой wbimc -config /home/user/.config/wb-inbox-mail-count/config.yml
  5. Если на 4м шаге произошли ошибки - активируйте ключ debug в config.yml и повторите запуск
  6. Добавьте отображение статуса в 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)

  1. Добавьте отображение вывода в раздел modules-right (или иной)
"modules-right": [
    ...
    "battery",
    "custom/wbimc",
    ...
],
  1. Добавьте обработчик вывода
    ...
   "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;
 }

Установка для разработки

  1. Убедитесь, что установлена подходящая версия Go - 1.23.

  2. Запустите 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