[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:00223] Re: 0.23 released.



乃村です。

On Fri, 19 Nov 1999 18:29:00 +0900,
	Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxxxxxxxxxx> said:

> nom> http://www.swlab.csce.kyushu-u.ac.jp/~nom/prj/mhc/mhc-0.23.tar.gz
> 
> ありがとうございます。使わせていただきます。
> 
> (仕事に疲れたので) 2031年までの休日を作ってみました。よろしかっ
> たらお使い下さい。とりあえずは正しいとは思うんですけど。。。

どうもありがとうございます。助かりました。次の snap には取り込ま
せていただきます。

これほど列挙した事がなかったので、mhc が重くなるかなと思ったら、
普通に使えてますね。ほっとしてます。:-)

# 起動直後の C-c. は気持ち遅くなったかな?

ところで、xcal.el にはアラーム機能があるそうですね。
裏で perl スクリプトを飼って、process-filter から受け取った
メッセージで frame を開けたりするそうです。

gemcal があるから mhc 自体はアラームを出してくれなくてもいいかな
と思っていたのですが、やはり何か悔しいですね。

以下は、裏で動く alarm スクリプトと process filter です。
とりあえず時間になったら beep 鳴らして
minibuffer にメッセージを表示するだけです。
--
nom

################################################################
#!/usr/local/bin/ruby

require 'mhc-schedule'
require 'kconv'

$db    = MhcScheduleDB .new()
$alarm = MhcAlarm .new($db)

$alarm .signal_connect('time-arrived'){|date, sch|
  print "#{date .to_js} #{sch .time_b} #{Kconv::toeuc(sch .subject)}\n"
  STDOUT .flush
}
$alarm .check

sleep  ## wait forever.
exit 0 ## unreached.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defvar mhc-alarm-program-name "mhc-alarm")

(defun mhc-alarm-startup ()
  (let ((process-connection-type nil)
	(mhc-alarm-process-name "mhc-alarm"))
    (if (and (get-process mhc-alarm-process-name)
	     (equal (process-status mhc-alarm-process-name) 'run))
	(message "not start")
      (setq mhc-alarm-process
	    (start-process mhc-alarm-process-name
			   nil
			   mhc-alarm-program-name))
      (set-process-filter mhc-alarm-process 'mhc-alarm-process-filter)
      (process-kill-without-query mhc-alarm-process)
      (message "start process"))))

(defun mhc-alarm-process-filter (p str)
  (beep)
  (message (substring str 0 -1)))