加藤(大阪)です。 Thu, 28 Feb 2008 00:03:37 +0900 付 M.Hさんのメールより: > すでに解決されているかも知れませんが、こういうのを考えるのが単純に好きなので、 > ついでに投稿しておきます^^; あ、自分もこういうの好きです。ので、つい反応させていただきます。 > 1. /etc/X11/xdm/dm_info(任意のファイル名)を以下の内容で作成します。 > -- ここから > #!/bin/sh > # display information window > . /etc/sysconfig/i18n > export LANG > INFOFILE="/var/gdm/info.txt" > FONT="-misc-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0" > /usr/bin/wish <<EOF & > if {![catch {open "$INFOFILE" r} infofile]} { > set infotext [ read \$infofile ] > close \$infofile > } else { > exit > } > wm geometry . +340-0 > canvas .can -background white -width 600 -height 200 > pack .can > .can create rectangle 10 10 590 190 -outline black -width 2 > .can create text 20 20 -fill black -font $FONT -text \$infotext -width 560 -anchor nw -justify left > EOF > echo $! > /var/run/dm_info.pid > -- ここまで > <中略> > 1.はテキストファイルを読んで、その内容をウィンドウに表示するスクリプトで、 > bash と tcl/tk の混合。 > この例では /var/gdm/info.txt の内容を読んで、600x200ピクセルの大きさの白いウィンドウに、 > 黒い枠線付き、黒い文字で表示しています。位置は 1280x1024の画面下側中央。 > このフォント、ウィンドウのサイズだと、35文字 x 10行分の日本語が枠内に表示可能です。 > > <以下略> 面白いですね、早速試させていただきました。 こちらのディスプレイは 1024x768 ですが、geometry や rectangle の引数など から、多分問題ないと判断して、無修正で実行してみました。 結果ですが、何故かうまく行ったり、いかなかったりします。 (Vine 4.2/Vine Seed - の gdm で試しました) うまく行かない時も、メッセージウィンドウ自体は描画されているようなのです が、描画直後に gdm の画面(ウィンドウ)に隠されて、見えなくなってしまいま す。なぜか描画順がずれてしまうんでしょうかね? 以下、本題からはずれますが tcl/tk 面白そうですね。 ソースを見るのは初めてですが、シェルスクリプトにインラインで埋 め込んでいるんですね。 どんな事をされてるのかと、文法が知りたくて web 検索したら、 http://documentation.renesas.com/jpn/products/tool/apn/rjj10j0932_hew_s.pdf が見つかりました。 tk ウィジェットの使い方なども説明されいて、とてもわかりやすく、同好の方 にはお薦め出来そうです。 ウィジェットの定義と pack 命令だけでウィンドウが表示で来てしまうというの は、結構はまりそうですね。 -- 加藤 雅 <mkato@xxxxxxxxxxxxx> http://add10.hp.infoseek.co.jp/rox/ http://www2.odn.ne.jp/add10/fluxbox/