vine-users ML アーカイブ



[vine-users:078128] Re: vine4.x にて、オリジナルログイン 画面の作成について

  • From: 加藤 雅 <mkato@xxxxxxxxxxxxx>
  • Subject: [vine-users:078128] Re: vine4.x にて、オリジナルログイン 画面の作成について
  • Date: Fri, 29 Feb 2008 01:25:27 +0000
加藤(大阪)です。

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/