আমি যে সিস্টেমটি ব্যবহার করি তার সাথে আমি বেশ খুশি, যা আপনি যা চান ঠিক তা করে (আমার মনে হয়)। এর দুটি অংশ রয়েছে: একটি ইমাস অংশ যা অনুস্মারকগুলি নির্ধারণ করতে অ্যাপলেট.এল ব্যবহার করে এবং একটি ছোট শেল প্রোগ্রাম (আমি লিনাক্স ব্যবহার করছি) যা পপআপ + সাউন্ড বিজ্ঞপ্তি তৈরি করে। এখানে আমি উভয় অংশের জন্য কোড ভাগ করে নিই।
ক) ~ / .emacs.d / init.el তে কোড
(require 'appt)
(appt-activate t)
(setq appt-message-warning-time 5) ; Show notification 5 minutes before event
(setq appt-display-interval appt-message-warning-time) ; Disable multiple reminders
(setq appt-display-mode-line nil)
; Use appointment data from org-mode
(defun my-org-agenda-to-appt ()
(interactive)
(setq appt-time-msg-list nil)
(org-agenda-to-appt))
; Update alarms when...
; (1) ... Starting Emacs
(my-org-agenda-to-appt)
; (2) ... Everyday at 12:05am (useful in case you keep Emacs always on)
(run-at-time "12:05am" (* 24 3600) 'my-org-agenda-to-appt)
; (3) ... When TODO.txt is saved
(add-hook 'after-save-hook
'(lambda ()
(if (string= (buffer-file-name) (concat (getenv "HOME") "/ideas/TODO.txt"))
(my-org-agenda-to-appt))))
; Display appointments as a window manager notification
(setq appt-disp-window-function 'my-appt-display)
(setq appt-delete-window-function (lambda () t))
(setq my-appt-notification-app (concat (getenv "HOME") "/bin/appt-notification"))
(defun my-appt-display (min-to-app new-time msg)
(if (atom min-to-app)
(start-process "my-appt-notification-app" nil my-appt-notification-app min-to-app msg)
(dolist (i (number-sequence 0 (1- (length min-to-app))))
(start-process "my-appt-notification-app" nil my-appt-notification-app (nth i min-to-app) (nth i msg)))))
খ) ~ / বিন / অ্যাপটি-বিজ্ঞপ্তিতে কোড
#!/bin/sh
TIME="$1"
MSG="$2"
notify-send -t 0 "<br>Appointment in $TIME minutes:<br>$MSG<br>"
play "~/bin/alarm.wav"
ভয়েস বিজ্ঞপ্তি পেতে আপনি নিম্নলিখিত লাইনটি (প্লে) প্রতিস্থাপন করতে পারেন:
espeak "Appointment in $TIME minutes: $MSG"