パスワードを忘れた? アカウント作成
609586 journal

shitamoの日記: Ruby/GTK2(2)

日記 by shitamo

よくわからないので無理矢理に出してみた(汗)。
誰か正しい使いかたを教えてください。

#! /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

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...