192 lines
6.8 KiB
Markdown
192 lines
6.8 KiB
Markdown
# Calendar + Mail Popup Notes
|
||
|
||
Заметка по идее компактного календарно-почтового инструмента для Fedora + Niri +
|
||
Waybar.
|
||
|
||
## Цель
|
||
|
||
Нужны две связанные поверхности:
|
||
|
||
1. Понятное решение в `waybar`, откуда можно быстро открыть календарь и увидеть
|
||
нужную информацию.
|
||
2. Отдельное компактное `tool-window` / popup-окно с календарем и мини-почтой.
|
||
|
||
Это не должен быть полноценный тяжелый PIM-комбайн на первом этапе. Основной
|
||
приоритет — быстрый обзор и быстрые действия.
|
||
|
||
## Что нужно уметь
|
||
|
||
### В Waybar
|
||
|
||
- Кликнуть по модулю.
|
||
- Увидеть календарную информацию без переключения в большой клиент.
|
||
- Быстро понять:
|
||
- что сегодня;
|
||
- что дальше по неделе;
|
||
- есть ли ближайшие события;
|
||
- есть ли непрочитанная почта.
|
||
|
||
### В popup/tool-window
|
||
|
||
- Посмотреть календарь на неделю и месяц.
|
||
- Увидеть список ближайших событий.
|
||
- Создать событие.
|
||
- Иметь мини-почту как обзор, а не как полноценный mail client.
|
||
|
||
## Ограничения текущего Waybar
|
||
|
||
Встроенный `clock` модуль Waybar умеет:
|
||
|
||
- показывать месяц/год;
|
||
- переключать режимы;
|
||
- листать календарь;
|
||
- запускать команды по клику.
|
||
|
||
Но встроенный календарь Waybar — только display layer:
|
||
|
||
- он не показывает реальные CalDAV / Nextcloud / Google события;
|
||
- он не умеет создавать события;
|
||
- он не является полноценным event-aware календарем.
|
||
|
||
Следствие: Waybar должен быть entry point, а не местом, где живет вся
|
||
календарная логика.
|
||
|
||
## Вывод по архитектуре
|
||
|
||
Нужна связка из двух частей:
|
||
|
||
1. `waybar` как обзор и кнопка входа;
|
||
2. отдельное маленькое приложение/окно как рабочая поверхность.
|
||
|
||
Рекомендованный подход:
|
||
|
||
- hover в `waybar` показывает компактный календарный overview;
|
||
- click открывает собственный popup/tool-window;
|
||
- popup уже работает с реальными данными календаря и почты.
|
||
|
||
## Предлагаемый UX
|
||
|
||
### 1. Waybar popover / overview
|
||
|
||
Минимальный состав:
|
||
|
||
- верх: дата, `Today`, кнопка `+ Event`;
|
||
- слева: мини-месяц;
|
||
- справа или снизу: блок `Today / Tomorrow / This Week`;
|
||
- отдельный короткий блок `Unread mail`.
|
||
|
||
Роль этого слоя:
|
||
|
||
- быстрое чтение;
|
||
- быстрый переход;
|
||
- минимум действий;
|
||
- без тяжелой навигации.
|
||
|
||
### 2. Tool-window / popup
|
||
|
||
Форма окна:
|
||
|
||
- не полноценное большое desktop app окно;
|
||
- не полноразмерный почтовый клиент;
|
||
- компактное floating window, открываемое по клику из `waybar`.
|
||
|
||
Предпочтительная компоновка:
|
||
|
||
- левая колонка: мини-месяц + список календарей;
|
||
- центральная зона: week view или month-agenda;
|
||
- правая колонка: `Upcoming`, `Reminders`, `Unread mail`.
|
||
|
||
Верхняя строка:
|
||
|
||
- `Today`
|
||
- `New event`
|
||
- `Search`
|
||
- переключение `Week / Month`
|
||
|
||
## Мини-почта: что это значит
|
||
|
||
Почта в этом окне должна быть не отдельным MUA, а summary layer:
|
||
|
||
- unread messages;
|
||
- flagged / important;
|
||
- письма за сегодня;
|
||
- клик по письму открывает внешний клиент.
|
||
|
||
Нежелательно на первом этапе:
|
||
|
||
- полноценный composing;
|
||
- threading;
|
||
- archive/reply прямо в popup;
|
||
- попытка заменить Thunderbird или другой почтовик.
|
||
|
||
Идея: calendar-first окно с mail summary, а не равноправный split mail/calendar
|
||
комбайн.
|
||
|
||
## Референсы по форме и UX
|
||
|
||
### Основной референс по форме
|
||
|
||
`Fantastical Mini Window`
|
||
|
||
- маленькое окно поверх рабочего контекста;
|
||
- быстрый обзор событий;
|
||
- быстрый add/search;
|
||
- ощущается как utility window, а не как полноразмерное приложение.
|
||
|
||
Ссылка:
|
||
|
||
- https://flexibits.com/blog/2022/04/mini-window-big-productivity-getting-the-most-from-fantastical-for-macs-mini-window/
|
||
|
||
### Референс по базовым календарным экранам
|
||
|
||
`GNOME Calendar`
|
||
|
||
- чистый month/week view;
|
||
- отдельный event editor;
|
||
- понятная структура desktop calendar без перегруза.
|
||
|
||
Ссылка:
|
||
|
||
- https://apps.gnome.org/Calendar/
|
||
|
||
### Референс по плотной рабочей компоновке
|
||
|
||
`Notion Calendar`
|
||
|
||
- маленький месяц + основной agenda/week layout;
|
||
- показывает, как совместить overview и рабочую область.
|
||
|
||
Ссылка:
|
||
|
||
- https://habr.com/ru/news/787144/
|
||
|
||
### Референс по идее mail+calendar продукта
|
||
|
||
`Thunderbird`
|
||
|
||
- полезен не как popup reference, а как пример того, что почтовый summary и
|
||
календарь могут жить рядом;
|
||
- для нашего UX слишком тяжел как direct reference.
|
||
|
||
Ссылка:
|
||
|
||
- https://www.thunderbird.net/en-US/
|
||
|
||
## Практический вывод
|
||
|
||
Лучшее направление для реализации:
|
||
|
||
- брать `Fantastical Mini Window` как референс формы;
|
||
- брать `GNOME Calendar` как референс календарных экранов;
|
||
- делать calendar-first popup;
|
||
- оставлять почту в формате короткого summary.
|
||
|
||
## Следующий логический шаг
|
||
|
||
Перед реализацией нужно решить:
|
||
|
||
1. popup должен быть очень маленьким overview-окном или уже почти полноценным
|
||
mini-organizer;
|
||
2. mini-mail нужен только для чтения summary или уже с действиями вроде
|
||
`mark read`, `archive`, `open`.
|