jabber-message-osd

Mar 23, 2007 14:15


jabber.el по умолчанию пишет о поступивших сообщениях в mode line. Когда я в другом workspace читал бровзер (или перекрывал emacs консолью), то мог пропустить приглашение на пьянку и испытывал очевидный дискомфорт.

Поэтому недавно я настроил себе OSD оповещалку, основанную на osd_cat (в Debian: xosd-bin). Она теперь регулярно пишет в правом нижнем углу красными буквами who, стоит только этому "who" ко мне обратиться [1].


;; On-Screen Display (OSD) message alerts (when (and (display-graphic-p) (file-executable-p "/usr/bin/osd_cat")) (defun xosd-start () (let ((process-connection-type nil)) (start-process-shell-command "osd_cat" nil "osd_cat" "--pos=bottom" "--align=right" "--lines=1" "--font='-adobe-helvetica-bold-r-*-*-34-*-*-*-*-*-iso10646-1'"))) (add-hook 'jabber-post-connect-hook 'xosd-start) (add-hook 'jabber-post-disconnect-hook (function (lambda () (process-send-eof "osd_cat")))) (defun jabber-message-osd (from buffer text proposed-alert) "Display a message using the osd_cat program." (let* ((jid (if (jabber-muc-sender-p from) from (jabber-jid-user from))) (name (cdr (jabber-activity-lookup-name jid)))) (process-send-string "osd_cat" (concat name "\n")))) (add-hook 'jabber-alert-message-hooks 'jabber-message-osd))
Спасибо _adept_ за наводку на osd_cat.
Спасибо shmyg за посылку сообщений (а не меня) при тестировании.

[1] Все упомянутые "who" являются вымышленными и любые совпадения с реальными лицами совершенно случайны.
Previous post Next post
Up