_ まさか万愚節ネタということじゃないよね? ^^; 主宰のプレッシャーを感じることなど何もありません。 私なんて半分以上失敗してるくせに偉そうにしています。
_ さて、毎朝のお楽しみ「天花」を見ましょう。 こんなことを言うのは今日だけですけどね!
_ 普段から矛盾ネタ、詭弁ネタ、でたらめ、つまらん冗談などなど適当なことしか 書いていないこのサイトですが、せめて今日のような特別な日ぐらいは 真面目なネタを書くことにしましょう。
_ うえちさんのこのスクリプト (ともちろん rdic も) は大変便利だと感じていましたが、 w3m からしか使えないのが残念に思っていました。 そこで、任意の Screen のウィンドウから使える方法を新たに考えてみました ([追記] xclip 使う方法は4月5日の日記を参照のこと)。
解決方法:
結果、作成したスクリプトはこんな感じになりました:
なんとたった一行です(スクリプトファイルはこちら)。 素晴しいです Screen は。 あとは、これをファイルに実行形式で保存して(ここでは lookup.sh とした)、 そして .screenrc へ#!/bin/sh screen -X eval "msgminwait 0" "copy" "stuff \"W\"" "at rdic stuff \"\"" "at rdic paste \".\"" "echo \"looking up...\"" "msgminwait 1"
とするだけです。 これだけで、w3m であろうが Emacs であろうが vi であろうが、 どんなウィンドウ上でも“C-a C-w”とするだけで rdic が使えてしまいます。 しかも、画面を rdic 用に分割しなくても使えます。 分割されていない場合は、 裏の rdic ウィンドウに英単語がペーストされて意味が検索されているはずです。 また、rdic ウィンドウが無い場合は、単語がどのウィンドウへもペーストされません。 もしも画面分割を強制したい場合は、 このスクリプトにうえちさん作の“split.sh”を追加するだけでよいでしょう。bind ^W exec lookup.sh
_ 今後も screen を使った、簡単で便利なスクリプトをいろいろ考えていきます。
_ 取り上げていただいてありがとうございます。 簡単なスクリプトでも喜んでいただけると嬉しいものです。
_ 昨日のスプリプト lookup.sh はコントロールコードをそのまま書いてあってあまり良くないので、 こちらに置きました。 ちなみに、eval 以降を .screenrc の bind 部分に直接書けば、 シェルスクリプトを使う必要すらありません。
_ ひきつづき簡単な小ネタ。
_ Screen の echo コマンドを使うと、数秒おきに異なるメッセージを ステータス行に出力するようなスクリプトを簡単に書くことが出来ます。 そこで、朝日新聞の見出しを取得して電光掲示ニュースのように 次々にニュースを表示するスクリプト news.sh を作ってみました。
まず、あらかじめ
などとします。 この場合、asahi.com の各ページから HTML記事を取得して、いつものように sed でタグ除去などを行って 上位 5つの見出しを取得し、結果を /tmp/newslist.txt へ格納します。 これは crontab へ登録して定期的に起動するようにするといいでしょう (Screen の backtick でやりたかったんですが指定がまずかったのか動きませんでした)。$ news.sh -g 5
で、電光掲示ニュースを実行したいときは
とします。 すると、(もし記事取得済みならば) 5 秒おきに見出しを出力するのをひたすら繰り返します。 停止は C-c とかを送ってやってください(苦笑)。 工夫の余地あり。 やってることは$ news.sh -s
while [ -f $tmp ] ; do
  while read i ; do
    screen -X echo "$i"
      sleep 5
  done < $tmp
done
_ ちょっと工夫すれば、朝日とサンケイの見出しを交互に表示するという 夢のコラボレーションも可能に。
_ 関西ジャ○ーズのに続く新たな勢力・栃木ジャ○ーズが誕生していた。 「三丁目の角のタバコ屋のおばあちゃんにはけっこう評判よかったんですよね」 とかいうぐらいの人気か。ってそりゃ茨城だろ。
_ これまで散々文句を書いてきた天花。 でも実は凄いドラマの目撃者となってしまったのかもしれない。 以後決して再放送もされず、NHK 局内でも禁句になってしまう幻の作品の……。 皆も歴史の目撃者となれ!
_ おお、素晴しい。実はそういうのを目指していたんですが、 xclip を忘れていたのでした(苦笑)。
_ 名古屋はええよやっとかめ・つボイ版と山本版の徹底比較が素晴しい。
_ こんなスクリプト test.sh をあらかじめ用意しておきます。
#!/bin/sh
screen -X msgminwait 0
tmp=/tmp/screen-win
if [ ! -d $tmp ] ; then
    mkdir $tmp
fi
env > $tmp/$WINDOW
_ ここで任意のウィンドウから Screen の at コマンドを使って例えば
とやると、w3m というタイトルのついたウィンドウ内の 環境変数の一覧を“/tmp/screen-win/(w3m というタイトルのついたウィンドウの番号)”に 格納できます。この方法で何かおもしろいことができないものかなと。screen -X at w3m exec test.sh
_ だいぶお疲れじゃありませんか、はやまさん? (^^;;;
_ shinichiro.h さんから教えていただいた xclip を 使って、前回のスクリプトをさらに改良をしてみる。
_ Screen には、ペーストバッファの内容をファイルに書き出せる writebuf という コマンドが用意されている。そこで、次のような方法に基いてスクリプトを書いてみた。
これでうまくいくはずだが……。
_ 何故かうまくいかない。 xclip がフォアグラウンドで動いているのであれば、 ファイル内容を読んで xclip が終了し、間もなくスクリプトも終了するはず。 ちなみに /tmp/screen-xclip にはちゃんと書き出している。
_ と思っていたら、xclip はバックグラウンドで動くものらしい。 スクリプトの終了が早過ぎるからかと思い xclip 直後に sleep 1 を入れてみたら、 案の定 xclip に渡る。
_ なるほど、どうやらスクリプトが終わるときに SIGHUP を食らってしまい、 xclip が /tmp/screen-xclip の内容をもらう前に終了させられちゃうのか、 たぶん。という推測に基づき(← Screen のソース読めよ)、 SIGHUP を trap するようにしたら……ヤッター、動いたよ。
_ その結果がこの lookup2.sh です。 前回同様
とすれば、C-a C-w で Screen の外で動いている rdic へも単語を渡せます。 どうぞご自由にお使いください。bind ^W exec lookup2.sh
_ ……なんか trap の使い方が怪しい気がするのだがこれであってるんかな? (ぉ
_ [追記] 挙動が怪しかったので書き直しました。これで大丈夫かな?
_ スポーツマン決定戦を見て。 これでワッキーも本格的に全国区進出だねえ。 全国に飛ばされ続けながらも。
_ ちと上の文を書き直し。
_ ローカルニュースより、名古屋市営地下鉄名城線が今年10月、 ついに環状化するらしい。 八事日赤駅が登山口になる可能性大。
_ いかチョコ! 製造元のタクマ食品といい、それを店に置くヴィレッジ・ヴァンガードといい、 どうして愛知企業はこうもチャレンジングなのか。
_ 「天花」私評マラソン。 まさに苦行。
_ 取り上げていただいて光栄です。Screen と rdic は本当に便利です。
_ たまにオンエアバトルに出てますよね。最近あの番組を全然見ていないんですが、 オンエア率は高そう。
_ 三重に着いても、 次はまだ訪れていない県をたどる 「地名しりとり全国制覇」の企画が 待っているんじゃないかとにらんでます。 なんせ「ノブナガ」ですからね :-)
_ nohup(1) は最初使ってみたんですが、テストの時に nohup.out が出来るのが ちょっと嫌だったんですよね。名前付きパイプは使うまでもないかなと 思ったんですが、少し速くなるかもしれないですね。使ってみることにします。
_ 天花の主人公は表情筋を鍛える必要がある。
_ 一方の沢口靖子は笑顔が素晴しい。
_ ↑「天花の主人公」ってなんだよ。「天花」でいいだろが。
_ 英和もいいけど和英もね(c)かとうかずこ。 実は和英連携機能を作ることが目標でした。で、Chonan さんから 指摘された mkfifo(1) を使う方法で作ってみました。 それがこの wlookup.sh です。 [4月9日追記] 挙動とか FIFO の使い方が怪しいので誰か改良してください(マテ
_ アルゴリズムの概略は以下のとおり:
_ 使い方はこれまで同様、.screenrc などに
などとするだけです。 形態素解析器と xclipstr は別に用意してください。 “C-a W”とすれば、Screen 内から和英検索対象語 を rdic に渡せます。bind W wlookup.sh(←間違ってました bind W exec wlookup.sh
_ ttyplay 用のデモも用意しました。 ただしこのデモでは、 和英検索は xclipstr を使わずに rdic ウィンドウへ直接ペーストする 方法を使ってますので、ちょっと和英検索が遅いです。
_ 上のデモ、w3m の表示が崩れてますが気にしないでください(苦笑
_ 以外のチャンネルをチェック。
_ コピー文字列が空だと Screen の writebuf は FIFO に何も渡さないようだ。 そんなー。
_ ペナルティーのドイツ語会話出演はあちこちで話題になってるようですね。 今度見てみます。 しかし何回ぐらいロケ地と本業の不毛な往復をしているのでしょうかね ^^; 私は全国制覇に期待してますよ!
_ Screen の和英連携スクリプト、アルゴリズムはいいと思うんだが
するので、もうちょっとちゃんと作りたいところ。
_ ハウスダストとの闘い。
メールはこちらへ...[シンX]
この日記は、GNSを使用して作成されています。
2003年2月1日より  名の訪問