Emacs. Пакет pomm
2025-02-08
·
3 мин. для прочтения
Emacs. Пакет pomm.
Содержание
1 Общая информация
- Страница: https://sqrtminusone.xyz/packages/pomm/
- Репозиторий: https://github.com/SqrtMinusOne/pomm.el
- Реализация техник Pomodoro (см. Метод pomodoro) и Third Time.
- Управление на основе transient (см. Emacs. Пакет transient).
2 Использование
- Запустите M-x pomm.
- Откроется transient-буфер.
- Таймер может иметь 3 состояния.- Выключенный.- Можно запустить с sилиM-x pomm-start.
- Запустится таймер.
 
- Можно запустить с 
- На паузе.- Можно продолжить с sилиM-x pomm-start.
- Можно полностью остановить с SилиM-x pomm-stop.
 
- Можно продолжить с 
- Работает.- Можно поставить на паузу с pилиM-x pomm-pause.
- Можно остановить с SилиM-x pomm-stop.
 
- Можно поставить на паузу с 
 
- Выключенный.
- Состояние таймера может быть сброшено с RилиM-x pomm-reset.
- Uобновляет transient-буфер.
- С rилиM-x pomm-set-contextможно установить текущий контекст, то есть описание задачи, над которой вы в настоящее время работаете.
- Это описание будет отображаться в истории и в файле CSV.
- M-x pomm-start-with-contextзапрашивает контекст, а затем запускает таймер.
3 Оповещения
- Пакет отправляет оповещения через alert.el
- Стиль оповещения по умолчанию - простой message, но если вы хотите графическое уведомление, установитеalert-default-style:(setq alert-default-style 'libnotify)
4 Звуки
- По умолчанию звуки отключены.
- Установите pomm-audio-enabledвtдля включения.
- Установите pomm-audio-tick-enabledвt, если вы хотите тикающий звук во время работы.
5 Интерфейс к polybar
- Для отображения состояния Pomodoro в чем-то типа polybar:(add-hook 'pomm-on-tick-hook 'pomm-update-mode-line-string) (add-hook 'pomm-on-status-changed-hook 'pomm-update-mode-line-string)
- Для получения информации создайте сценарий:if ps -e | grep emacs >> /dev/null then emacsclient --eval "(if (boundp 'pomm-current-mode-line-string) pomm-current-mode-line-string \"\") " | xargs echo -e fi
- Добавьте определение модуля polybar:
[module/pomm]
type = custom/script
exec = /home/pavel/bin/polybar/pomm.sh
interval = 1
6 Расположение файла состояния
- Чтобы сохранить состояние между сеансами emacs, пакет хранит своё состояние в следующих файлах:
- pomm-state-file-location,- .emacs.d/pommпо умолчанию.
- pomm-third-time-state-file-location,- /.emacs.d/pomm-third-timeпо умолчанию.
7 История в формате csv
- Если вы установите переменную pomm-csv-history-file, пакет будет регистрировать свою историю в формате CSV.
- Файл для техники Pomodoro имеет следующие столбцы:- timestamp
- status(- stopped,- pausedили- running)
- kind(- work,- short-break,- long-breakили- nil)
- iteration
- context
 
- Чтобы настроить временную метку, установите переменную pomm-csv-history-file-timestamp-format.
- Например, для традиционных YYYY-MM-DD HH:mm:ss:(setq pomm-csv-history-file-timestamp-format "%F %T")
- Формат такой же, как и в format-time-string.
8 Использование с org-clock
- Пакет можно интегрировать с org-mode:(add-hook 'pomm-on-status-changed-hook #'pomm--sync-org-clock) (add-hook 'pomm-third-time-on-status-changed-hook #'pomm-third-time--sync-org-clock)
- Запустите таймер pommиorg-clock-in, в любом порядке.
- Пакет вызовет org-clock-out, когда начнётся перерыв.
- Пакет вызовет org-clock-in-last, когда перерыв закончится.
- Если установить параметр pomm-org-clock-in-immediatelyвnil, то вызовorg-clock-in-lastоткладывается до тех пор, пока не поступит какая-либо команда от пользователя (черезpost-command-hook).- Это добавлено для того, чтобы при опоздании с перерыва таймер не запускался бы без пользователя.
 
