From 093ffa5fbf7143f4668bb0a3dc9659a5cc836e12 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sat, 17 Jun 2023 17:20:29 +1000 Subject: Moving things one level deeper To ease gnu stow usage. Now we can do stow -t ~ emacs --- emacs/.emacs.d/lisp/my/my-time.el | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 emacs/.emacs.d/lisp/my/my-time.el (limited to 'emacs/.emacs.d/lisp/my/my-time.el') diff --git a/emacs/.emacs.d/lisp/my/my-time.el b/emacs/.emacs.d/lisp/my/my-time.el new file mode 100644 index 0000000..c1f2329 --- /dev/null +++ b/emacs/.emacs.d/lisp/my/my-time.el @@ -0,0 +1,51 @@ +;;; my-time.el -- Time related extensions for emacs core -*- lexical-binding: t -*- + +;; Copyright (C) 2023 Free Software Foundation. + +;; Author: Yuchen Pei +;; Package-Requires: ((emacs "28.2")) + +;; This file is part of dotfiles. + +;; dotfiles is free software: you can redistribute it and/or modify it +;; under the terms of the GNU Affero General Public License as +;; published by the Free Software Foundation, either version 3 of the +;; License, or (at your option) any later version. + +;; dotfiles is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; Affero General Public License for more details. + +;; You should have received a copy of the GNU Affero General Public +;; License along with dotfiles. If not, see +;; . + +;;; Commentary: + +;; Time related extensions for emacs core. Covers time, date, diary, etc. + +;;; Code: + + + +;; To be called from diary-sexp-entry, where DATE, ENTRY are bound. +(defun my-diary-offset (sexp days) + "Offsetted diary entry. +Entry applies if the date is DAYS days after another diary-sexp SEXP." + (with-no-warnings (defvar date) (defvar entry)) + (integerp days) + (let ((date + (calendar-gregorian-from-absolute + (- (calendar-absolute-from-gregorian date) days)))) + (eval sexp))) + +(defun my-appt-display-window (min-to-appt new-time appt-msg) + (or (listp min-to-appt) + (setq min-to-appt (list min-to-appt) + appt-msg (list appt-msg))) + (org-notify (format + "In %s minutes: %s" (car min-to-appt) (car appt-msg)))) + +(provide 'my-time) +;;; my-time.el ends here -- cgit v1.2.3