Richard Riley <[EMAIL PROTECTED]> writes: > I thought some of you linux users might like this - use gnome-osd-client > to put an on screen reminder of your looming appointments. I include a > screenshot link below. I'm sure the code can be improved as I'm not much > of an elisp programmer. I have also included an erc hook to use OSD to > display messages in your subscribed irc channels directed at you. Hope > you like it. I dont know if the gnome-osd stuff will work on kde, but > try it and see. > > http://www.imagebucket.in/images/layopataa1r203lmuwp3.png > > > org stuff: > > ,---- > | ; Update appt each time agenda opened. > | (add-hook 'org-finalize-agenda-hook 'org-agenda-to-appt) > | > | (setq appt-display-format 'window) > | > | (defun org-osd-display (min-to-app new-time msg) > | (osd-display msg msg -1 "center" "center" "Verdana 20") > | ) > | > | (setq appt-disp-window-function (function org-osd-display)) > | > | ;; see my-osd for plugins > | > | (require 'diary-lib) > | (add-hook 'diary-display-hook 'fancy-diary-display) > | > | ;; Run once, activate and schedule refresh > | (run-at-time nil 3600 'org-agenda-to-appt) > | (appt-activate t) > `---- > > osd stuff: > > ,---- > | (defun osd-display (id msg &optional delay vattrib hattrib font) > | > | "Display a message with an id of ID for delay seconds with message msg" > | > | (unless vattrib (setq vattrib "top")) > | (unless hattrib (setq hattrib "right")) > | (unless delay (setq delay 5000)) > | (unless font (setq font "Serif Bold Italic 32")) > | > | (save-window-excursion > | (shell-command > | (format > | "gnome-osd-client -f \"<message id='%s' osd_fake_translucent_bg='off' > osd_font='%s' animations='on' hide_timeout='%d' osd_vposition='%s' > osd_halignment='%s'>%s</message>\"" > | id > | font > | delay > | vattrib > | hattrib > | msg) > | nil nil) > | )) > | > | ;(osd-display "i2" "and OSD..." 500) > | ;(osd-display "id" "Welcome to Emacs" 1000 "top" "center" "Verdana 20") > | > `---- > > Finally the erc hook stuff: > > ,---- > | (defun erc-notify-osd (matched-type nick msg) > | (when (string= matched-type "current-nick") > | (message msg) > | (string-match ".*:\\(.*\\)$" msg) > | (setq msg (match-string 1 msg)) > | (osd-display (concat "erc-msg : " (erc-extract-nick nick)) (concat > (erc-extract-nick nick) " : " msg) 10000 "bottom" "center" "Verdana 23") > | )) > | > | (add-hook 'erc-text-matched-hook 'erc-notify-osd) > `----
I forgot to mention you need to enable the erc module "match" e.g my erc-modules is: (setq erc-modules (quote (autoaway autojoin button completion match menu move-to-prompt noncommands readonly scrolltobottom services smiley stamp spelling truncate highlight-nicknames netsplit fill readonly noncommands irccontrols move-to-prompt))) _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode