shitamoの日記: Ruby/GTK2(2)
よくわからないので無理矢理に出してみた(汗)。
誰か正しい使いかたを教えてください。
#! /usr/bin/ruby
require 'gtk2'
require "net/imap"
Seen=0
Unseen=1
Gtk.init
imap = Net::IMAP.new('localhost')
imap.authenticate('LOGIN', 'ユーザー名', 'パスワード')
list = imap.list("", "*")
window = Gtk::Window.new
window.signal_connect("destroy") {
Gtk.main_quit
}
window.realize
pix1, mask1 = Gdk::Pixmap::create_from_xpm(window.window, nil, 'mail1.xpm')
wpixmap1 = Gtk::Image.new(pix1, mask1)
pix2, mask2 = Gdk::Pixmap::create_from_xpm(window.window, nil, 'mail2.xpm')
wpixmap2 = Gtk::Image.new(pix2, mask2)
window.add(wpixmap1)
mode = Seen
Gtk.timeout_add(600000) do
count = 0
list.each do |mbox|
if !mbox.attr.include?(:Noselect)
if mbox.name !~ /\A\./
imap.status(mbox.name, ["UNSEEN"]).each{ |key, value|
count += value
}
end
end
end
if count==0
if mode != Seen
mode = Seen
window.remove(wpixmap2)
window.add(wpixmap1)
window.show_all
end
else
if mode != Unseen
mode = Unseen
window.remove(wpixmap1)
window.add(wpixmap2)
window.show_all
end
end
true
end
window.show_all
Gtk.main
Ruby/GTK2(2) More ログイン