Ruby言語やLinuxのネタが多いです。
February 01, 2002 Ruby-GNOME
■ [Ruby] Gdk::Event周りの整理とGdk::DragContext周りの実装
あまりテストしていないので人柱ボシューです。CVS版に反映されていますのでこちらからどうぞ。
CVSの使い方がわからない方はCVS版の取得方法をご覧ください。
February 01, 2003
■ まず、kbanner2のサイトからkbanner2をダウンロードしコンパイルし、tdiary.rbがあるディレクトリに置く。
次に、以下のコードをkbanner.rbとして保存し、pluginディレクトリに置く。
if @options
@kbanner_fg = @options["kbanner.fg"]
@kbanner_bg = @options["kbanner.bg"]
@kbanner_cmd = @options["kbanner.cmd"]
end
@kbanner_fg = %Q[<span style="color:green">*</span>] unless @kbanner_fg
@kbanner_bg = %Q[<span style="color:white">_</span>] unless @kbanner_bg
@kbanner_cmd = "./kbanner" unless @kbanner_cmd
def kbanner(str, vertical = false, large = true)
opt = ""
opt += " -#{str.size} " unless vertical
opt += " -s " unless large
bitmap = `echo -n '#{str}'| #{@kbanner_cmd} #{opt}`
ret = ""
bitmap.each_line {|line|
line.each_byte {|char|
if char == ?\s
ret << @kbanner_bg
elsif char == ?; or char == ?, or char == ?' or char == ?#
ret << @kbanner_fg
end
}
ret << '<br>'
}
ret
end
■ これで準備OK。あとは以下のように使う。
<%= kbanner 'あほ' %>
■ 実行結果:
____________**__________________________________________________
____________**______________________**__________________________
____**********************__________**____********************__
__________**______________________****______________**__________
__________**______**______________**________________**__________
__________**************__________**________________**__________
______******______**__******______**______********************__
____****__**______**______**______**________________**__________
____**____**______**______****____**________________**__________
__****____**____**__________**____**________________**__________
__**______**____**__________**____**________**********__________
__**______**__**__________****____**______**________******______
__**______****____________**______**__**__**________**__****____
____******____________******______****____**______****____****__
__________________******____________**______********____________
________________________________________________________________
■ オプションは以下の通り。
@options["kbanner.fg"] - 文字の部分の形状・CSSを指定
@options["kbanner.bg"] - 空白の部分の形状・CSSを指定
@options["kbanner.cmd"] - kbannerコマンドを指定(フルパス・相対パス)
■ ちと重いかなぁ。XREAで使うのはやめとこ。

Before...
▲ むとぽん [おぉ。直しました。 元々は半角スペースが入っていたのですが何かの拍子に消えてしまったようです(高林さんのソースでは半..]
▲ なかだ [あ、エラーになるのは1.8だけか。 1.6でもwarningは出るので、スペースとか改行はエスケープ形式のほうがいい..]
▲ むとぽん [ほんとだ。1.8だとエラーになりますね。]