#!/usr/bin/env ruby =begin = GNU screenで今の画面ハードコピーからw3mを起動する。 == 概要 GNU screenで現在表示している画面のイメージを保存し(ハードコピー)、そのハードコピーをw3mで表示する。 一見どんな役にたつのかと思うけど、実はこれは表示している画面にURLが表示されているときに威力を発揮する。 コマンドを実行したり、emacs中にURLが表示されていたとき、そのURLへ行きたいときは従来ならばこのURLをコピー&ペーストでw3mに貼り付けないといけない。 しかし、このコマンドを使うとその画面イメージをw3mで表示してくれる。 幸いw3mには「:」キーにURLらしき文字をリンクに変える魔法のコマンドがあるので、それを使うとそのURLがリンクになるからすんなりと行けることになる。 == 準備 ~/.screenrcに以下の記述を加える。 ここではscreenのprefixを"^]"にしている場合とする。 他のprefixならば1行目の文字列の"^]"をprefixに置き換えよう。 register W "^]:hardcopy^M^]:screen scrhcw3m.rb^M:" bind ^w process W hardcopydir ホームディレクトリ/screen == 使い方 画面にURLを表示しているときにおもむろに((*"^]^w"*))と叩け! =end class ScreenHardCopyW3m def initialize @w3m = "w3m" @hardcopydir = File::expand_path "~/screen" @hardcopytmp = "#{@hardcopydir}/hardcopy.w3m" end attr_reader :hardcopytmp, :w3m def hardcopyfile Dir[ "#{@hardcopydir}/hardcopy.*" ].first end def start require 'ftools' File::mv hardcopyfile, hardcopytmp exec "#{w3m} #{hardcopytmp}; rm #{hardcopytmp}" end end ScreenHardCopyW3m.new.start