From 9ff1e787f915539b1980654e3d3d2013ff5c81d2 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Mon, 7 Jul 2008 07:38:25 +0000 Subject: wrong commit; sorry git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_269@17938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby_1_8_6/ext/tk/sample/tkbiff.rb | 155 ------------------------------------- 1 file changed, 155 deletions(-) delete mode 100644 ruby_1_8_6/ext/tk/sample/tkbiff.rb (limited to 'ruby_1_8_6/ext/tk/sample/tkbiff.rb') diff --git a/ruby_1_8_6/ext/tk/sample/tkbiff.rb b/ruby_1_8_6/ext/tk/sample/tkbiff.rb deleted file mode 100644 index c6699629cc..0000000000 --- a/ruby_1_8_6/ext/tk/sample/tkbiff.rb +++ /dev/null @@ -1,155 +0,0 @@ -#!/usr/bin/env ruby - -if ARGV[0] != '-d' - unless $DEBUG - exit if fork - end -else - ARGV.shift -end - -if ARGV.length == 0 - if ENV['MAIL'] - $spool = ENV['MAIL'] - else - $spool = '/var/spool/mail/' + ENV['USER'] - end -else - $spool = ARGV[0] -end - -require "parsedate" -require "base64" - -include ParseDate - -class Mail - def Mail.new(f) - if !f.kind_of?(IO) - f = open(f, "r") - me = super - f.close - else - me = super - end - return me - end - - def initialize(f) - @header = {} - @body = [] - while line = f.gets() - line.chop! - next if /^From / =~ line # skip From-line - break if /^$/ =~ line # end of header - if /^(\S+):\s*(.*)/ =~ line - @header[attr = $1.capitalize] = $2 - elsif attr - sub(/^\s*/, '') - @header[attr] += "\n" + $_ - end - end - - return unless $_ - - while line = f.gets() - break if /^From / =~ line - @body.push($_) - end - end - - def header - return @header - end - - def body - return @body - end - -end - -require "tkscrollbox" - -my_appname = Tk.appname('tkbiff') -$top = TkRoot.new -if ((TkWinfo.interps($top) - [my_appname]).find{|ip| ip =~ /^tkbiff/}) - STDERR.print("Probably other 'tkbiff's are running. Bye.\n") - exit -end - -$top.withdraw -$list = TkScrollbox.new($top) { - relief 'raised' - width 80 - height 8 - setgrid 'yes' - pack -} -TkButton.new($top) { - text 'Dismiss' - command proc {$top.withdraw} - pack('fill'=>'both','expand'=>'yes') -} -$top.bind "Control-c", proc{exit} -$top.bind "Control-q", proc{exit} -$top.bind "space", proc{exit} - -$spool_size = 0 -$check_time = Time.now - -def check - $check_time = Time.now - size = File.size($spool) - if size and size != $spool_size - $spool_size = size - pop_up if size > 0 - end - Tk.after 5000, proc{check} -end - -if defined? Thread - Thread.start do - loop do - sleep 600 - if Time.now - $check_time > 200 - Tk.after 5000, proc{check} - end - end - end -end - -def pop_up - outcount = 0; - $list.delete 0, 'end' - f = open($spool, "r") - while !f.eof? - mail = Mail.new(f) - date, from, subj = mail.header['Date'], mail.header['From'], mail.header['Subject'] - next if !date - y = m = d = 0 - y, m, d = parsedate(date) if date - from = "sombody@somewhere" if ! from - subj = "(nil)" if ! subj - from = decode_b(from) - subj = decode_b(subj) - $list.insert 'end', format('%-02d/%02d/%02d [%-28.28s] %s',y,m,d,from,subj) - outcount += 1 - end - f.close - if outcount == 0 - $list.insert 'end', "You have no mail." - else - $list.see 'end' - end - $top.deiconify - Tk.after 2000, proc{$top.iconify} -end - -$list.insert 'end', "You have no mail." -check -Tk.after 2000, proc{$top.iconify} -begin - Tk.mainloop -rescue - `echo #$! > /tmp/tkbiff` -end -- cgit v1.2.3