Life is such an ephemeral thing. When you really think about it, the time spent on the planet we are destroying day after day is not that much, especially compared to the entire history of humankind. Luckily enough, I can allow myself to indulge in thoughts about life and time. I tend to avoid laziness as much as possible, saving spare time for gratifying leisure: morning runs and basic workout, books, cinema, collecting vinyls, occasional cooking. I like to think of myself as someone who is not set on a predictable path for the rest of his life.
Lassi Kortela’s memento-mori has
recently appeared on MELPA. It’s a small
package which aims to display your age in the mode-line. The age is displayed
with two decimals and it gets updated after a few days once you turned on
memento-mori-mode. Thus you have a reminder of how long you have been on
Earth, a somehow inspirational indicator to question the time at your disposal.
We are entering philosophical worlds here.
However, I don’t like having too much stuff in my mode-line. I want it simple
and with only the information I need. That’s why I use
minions to hide all the minor-modes. But I can
memento-mori to display a message on Emacs startup.
(defun mu-display-memento-mori () "Display my current age by leveraging `memento-mori-age-string'." (interactive) (let ((first-name (car (s-split-words user-full-name))) (age (s-trim memento-mori-age-string)) (msg "%s, you are %s, don't waste your time!")) (run-with-timer 2 nil (lambda () (message msg first-name age) (run-with-timer 3 nil (lambda () (message nil)))))))
I am using s facilities to manipulate strings, but more importantly the trick is using run-with-timer as explained on this answer on Emacs.StackExchange. After two seconds, the message is shown, and three seconds after being visible it will disappear.
Provided you set
memento-mori-birth-date and activate
adding the function to
does the rest.
Note that you need to activate Lexical
in your init file to use
Thanks to Martin Buchmann for pointing this out. ↩