egg-timer.el icon indicating copy to clipboard operation
egg-timer.el copied to clipboard

Use Emacs to schedule alarms to focus on a task.

egg-timer.el

MELPA Use Emacs to set timers.

schedule an alarm using Emacs use the system's notification system to display the alarm

Installation

egg-timer is available on MELPA. To install you may need to run:

  • M-x package-refresh-contents
  • M-x package-install egg-timer

Configuration

This module intentionally does not define any keybindings. If you'd like to set one yourself, consider using and adapting the following snippet:

(require 'egg-timer)
(global-set-key (kbd "C-s-a") #'egg-timer-schedule)

If you'd like to customize the intervals that egg-timer.el uses, the variable egg-timer-intervals should suffice. For example, if you'd like to support a timer for 3 hours:

(setq egg-timer-intervals (add-to-list 'egg-timer-intervals '("3 hour" . 180)))

If you'd like to create a keybinding to immediately schedule an alarm instead of being prompted for a list of options, use egg-timer-do-schedule:

(global-set-key (kbd "C-s-a") (lambda () (interactive) (egg-timer-do-schedule 2)))

For more information:

  • See the module documentation in egg-timer.el.

Alternatives to egg-timer.el

Many timer packages exist, so what's different about egg-timer? Many of the timers on MELPA are pomodoro timers. egg-timer is not exclusively a pomodoro timer -- although you could use egg-timer-do-schedule to create one if you'd like.

egg-timer prompts users using Emacs's built-in completing-read function; this integrates with ivy or other completion libraries that users may prefer. egg-timer also notifies users with notifications-notify, which integrates with the FreeDesktop notification protocol, notifying users at the operating system level.

Enjoy responsibly.