野ログはノロキュアMaxHeart
2007-05-09
_ GNU screenのcaptionの書き方とbacktickの使い方わかった。
今まで使いたかったけど、使い方よくわからんかった。
やっと理解した。これでオリジナルcaptionを思う存分に書ける!!!
やったよ!!
_ Gmailの未読件数をGNU screenのcaptionに表示する。
とりあえず、rubyで未読件数を取得するスクリプトを簡単に書く
#!/usr/bin/env ruby
$VERBOSE = nil #SSL適当なんでWarning出るから…
USER_NAME="user_name"
PASSWORD ="password"
require 'net/https'
Net::HTTP.version_1_2
req = Net::HTTP::Get.new('/mail/feed/atom')
req.basic_auth USER_NAME, PASSWORD
https = Net::HTTP.new('mail.google.com', 443)
https.use_ssl = true
feed = https.start{|w|
response = https.request(req)
response.body
}
feed.match(/<fullcount>(\d+)<\/fullcount>/)
count = $~[1]
print count
適宜USER_NAMEとPASSWORDは変更してください。
このスクリプトを~/dotfiles/screen/get_gmail_count.rbに置いてるとします。
で.screenrcで
backtick 0 0 300 ruby ${HOME}/dotfiles/screen/get_gmail_count.rb
caption always "mail(%0`) %{= wg} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wb}%y/%m/%d(%D) %{=b wm}%c"
captionは適宜自分の環境に合わせてどうぞ。 backtickの後の最初の0がIDになっています。 caption内の%0`にbacktickのID0が代入されます。 300は更新間隔です。 これだと5分に一度更新になります。
_ CUI用Gmailチェッカー
未読出るようにしたついでに、Gmailの未読をPutty上からチェックできるようにしてみた。
実用度は超微妙。
#!/usr/bin/env ruby
$VERBOSE = nil #SSL適当なんでWarning出るから…
$KCODE = "u"
USER_NAME="user_name"
PASSWORD ="password"
require 'net/https'
require 'date'
Net::HTTP.version_1_2
req = Net::HTTP::Get.new('/mail/feed/atom')
req.basic_auth USER_NAME, PASSWORD
https = Net::HTTP.new('mail.google.com', 443)
https.use_ssl = true
feed = https.start{|w|
response = https.request(req)
response.body
}
colors ={
:time => "\033[0;36m",
:name => "\033[1;34m",
:title => "\033[0;35m",
:summary => "\033[0;33m",
:reset => "\033[0m"
}
feed.scan(/<entry>.+?<\/entry>/im).each{|entry|
entry.match(/<title>(.*)<\/title>/)
title = $1
entry.match(/<name>(.*)<\/name>/)
name = $1
entry.match(/<summary>(.*)<\/summary>/)
summary = $1
entry.match(/<modified>(.*)<\/modified>/)
modified = DateTime.parse($1)
print colors[:time] + modified.strftime("%H:%M") + colors[:reset] + " - " + colors[:name] + name + colors[:reset] + " - " + colors[:title] + title + "\n"
print colors[:summary] + summary + "\n"
print colors[:reset] + "\n"
}
ユーザーネームとパスワード変更して、 適当なファイルで保存して、実行すればOK
未読のタイトルとか概要とかチェックできるだけですよ。
CUI上でメール読めるわけじゃないですよ。
[ツッコミを入れる]
[]