image - みる会図書館


検索対象: UNIX MAGAZINE 2003年1月号
9件見つかりました。

1. UNIX MAGAZINE 2003年1月号

横 } 着 ] プログラミ / グ・ リスト 9 dropshadow のソースコード # ! /usr/bin/env perl use strict; use lmage : : Magick ; use Getopt : : Long ; my $shadow—width = 10 ; parse-options() ; sub main { main() ; gray75" my $shadow—color "black" ・ my $border—color my $border—margin = 0 ; undef ; my $without—shadow undef ; my $with—frame undef ; my $with—border ) Ⅱー no—shadow' = > \$without—shadow , = > \$with—frame , 'f lframe' = > \$with—border , 'b lborder' = > \$shadow-width , GetOptions()w ー width=i' Getopt : :Long: :Configure( 'bundling' ) ; sub parse—options { # Getopt : : Lo Ⅱ g モジュールでコマンドライン・オプションを解析する write—image ($image) ; draw ($image) ; my $image = read—image ( ) ; ) c ー shadow—color=s ' 'C lborder—color=s ' sub read—image { my $image new lmage : : Magick ; if (@ARGV > = 1 ) { $image—>ReadImage ($ARGV [ 0 ] ) ; } else { $image—>ReadImage ( ' return $image ; sub draw { my ($image) = > \$shadow—color, = > \$border—color) ; # ファイルから画像を読み込む # 標準入力から画像を読み込む draw—frame($image) if $with—frame ; draw—border($image) if $with-border Ⅱ $with-frame ; draw—shadow($image) unless $without—shadow ; process—transparent_color ($image) ; sub draw—frame { my ($image) $image—>Set(borderc010r = > 'gray' ) ; $image—>Border(geometry = > " 1X1 " ) ; $image—>Set(bordercoIor = > 'white ) ) ; my $framewidth = $shadow—width / 2 ; = > $ bo て der ー C010 て ) ; = > " ${framewidth}x${framewidth} " ) ; 140 $image—>Border(geometry = > " 1X1 " ) ; $image—>Set(bordercoIor my ($image) sub draw—border { $image—>Border (geometry UNIX MAGAZINE 2003.1

2. UNIX MAGAZINE 2003年1月号

一様着ープログラー 読者アンケートのお知らせ ニング $height + $shadow—width; my $height2 $width + $shadow-width ; my $width2 $image—>Crop (x = > $shadow—width, y = > $shadow-width) ; $image—>Border(geometry = > "${shadow-width}x${shadow-width}" ) ; $image—>Set (bordercolor = > ' white ' ) ; } else { $image—>Set(borderc010r = > '#facade ' ) ; # 透過色を設定。 "#facade" は使われていないことが前提・ if ($magick eq "GIF" Ⅱ $magick eq "PNG") { 'magick'); $image—>Get( 'width' , 'height ' my ($width , $height , $magick) my ($image) sub draw—shadov { $image->Draw(fi11 = > stroke points $image—>Draw(fi11 = > stroke points $shadow—color, primitive=> 'rectangle' = > $shadow-color, = > "$width,$shadow—width $width2,$height2") ; $shadow—color , primitive=> ' rectangle ) = > $shadow—color, = > " $shadow—width, $height $width2 , $height2" ) ; sub process—transparent—color { my ($image) my ($magick) $image—>Get ( 'magick' ) ; if ($magick eq "GIF" Ⅱ $magick eq "PNG") { $image—>Transparent ( C010r = > '#facade' ) ; # 透過色を設定 sub write—image { my ($image) my ($magick) $image->Get ( 'magick' ) ; binmode STDOUT ; $image—>Write("$magick: ー " ) ; いつも弊誌をこ愛読いただき、ありがとうこざいま す。 今後の企画・編集の参考とするため、読者アンケー トを実施いたします。下記の Web ページにアクセスの うえ、必要事項をこ記入ください ( 締切は 2003 年 1 月 1 7 日です ) 。皆様からお寄せいただいたこ意見は、責 重な資料として活用させていただきます。 こ回答をお寄せいただいた皆様のなかから、 5 名様 に特製 QUO カード ( 2 , OOO 円ぶん ) をさしあげます ( 応募者多数の場合は抽選といたします。なお、当選 今後ともこ愛読のほど、よろしくお願い申し上げ 者の発表は発送をもって代えさせていただきます ) 。 ます。 1 「 UNIX MAGAZINE 編集部 アスキ - Shæs. net autO ( デザインは変更されることがあります ) こ注意 . 雑誌公正競争規約の定めにより、この懸賞に当選された方は、本号のほかの懸賞に入選できない場合があります。 ・ ( 株 ) アスキー UNIX MAGAZINE 読者アンケート専用 U 日 L http://mkt.uz.ascii.00.jp/unixmag/ UNIX MAGAZINE 2003.1 141

3. UNIX MAGAZINE 2003年1月号

連載 /JavaServer Pages ーの 図 14 マーク付きのリストの表示結果 2. doEndTag() 物方イル編集 ( 印表示 ( ) ジャンプ 0 ブ沖マーク⑧ツールウインドウ ( 盟ヘルプ ( 印 朝 の 2 つは「マークカ咐く txt:dt タグ」の項で紹介した図 、凵新を物ⅱホームラジオ検常新プめマーク、いは 1 を Me ”色、新著籌おを助、メンバ 13 のメソッドと同しなので内容は省略しました。 、」、「一」が 2 回場することわど 変史したのは、 txt 引にイメージのマークを設定 1. image 属性の値を保存しておく image 変数を追加 ー長一短 2. image 属性の角行時に呼び出される setlmage() メソ ッドを定義 0 ロ QY ・ロメ : + 了“ 23 ゆ 3. マークの内容を取得する getMark() メソッドを変史 く tag> く name>dl く /name> という点ですが、これらも以前の実装の系区しで目新しい く tag—class>text . DefinitionList く /tag— class> ことはしていないので、コードの説明は省略します。 く attribute> く name>image く /name> image 属 1 生を追加した txt:dt タグを使うには、 txt:dl く /attribute> タグの場合と同様に、 TLD ファイル内の txt:dt タグの く /tag> 当を変える必要があります。 text. tld の dt タグを次の 図 14 は、マークカ咐くカスタムタグを使った JSP ファ ように書き換えてください。 イルの表万列です。使用した JSP ファイルのタグの記述 は次のとおりです。 く tag> く name>dt く /name> txt : dl にイメージのマークを設定 : く tag—class>text . DefinitionTerm く /tag—class> く txt :d1 image="suits . gif"> く attribute> く txt:dt>—朝一タく /txt:dt> く name>image く /name> く txt :dt>—喜一憂く /txt : dt> く /attribute> く txt :dt>—長一短く /txt :dt> く /tag> く txt : dt>—期ー会く /txt :dt> く /txt :dl> この新しい txt:dt タグを使って、 image 属性に指定している、、 suits. gif" は、図 14 のリ txt : dl にイメージのマークを設定 : ストの先頭に表示されているトランフ。の 4 種類のマーク く txt :d1 image="suits. gif"> く txt :dt image="spade ・ gif">—朝一タく /txt :dt> です。 く txt :dt>—喜一憂く /txt :dt> txt:dl で image 属性を指定しなければ、 さきはどの図 く txt :dt image="heart . gif't>—長一短く /txt :dt> 6 と同様にマークが付かないリストが 1 行に 1 っすっ並ん く txt : dt>—期ー会く /txt :dt> く /txt :dl> だ状態になります。 という内容の JSP ファイルを表示させた結果か図 16 で txt : dt でもリストのマークを指定 す。 最後に、 txt:dt にオマケの機能を付けてみましよう。 1 番目と 3 番目のリストのう頁には、 txt:dt タグのⅲト txt:dt タグにも image 属性を追加し、 txt:dt でイメージ age 属羅で指定したスペードのマーク (spade. gif) とハ を指定していれば txt : dl よりも優先されるようにします。 トのマーク (heart. gif) か表示されています。また、 2 番 txt:dl のタグハンドラには変史はありません。「マーク 目と 4 番目の txt:dt タグでは image 属 1 生か指定されてい カ咐く txt:dl タグ」の項て紹介した図 12 の Definition- ないので、 txt:dl タグの image 属性てオ旨定した suits. gif List クラスをそのまま使ってください。 を継承して、トランプの 4 種類のマークが表示されてい txt:dt のタグハンドラは図 15 に示しました。このタグ ます。 ハンドラのメソッドのうち、 こでは、属 1 生で指定された値を 2 つのカスタムタグ のあいだで受け渡しましたが、属・陸にかぎらすさまざまな 1. doStartTag() 「一」が 2 回場することわど一 N 引 ! 同ロ 1 三ロ 86 UNIX MAGAZINE 2003.1

4. UNIX MAGAZINE 2003年1月号

連載 /JavaServer Pages—@ 図 10 txt:dt をネスティングした SP ファイル (proverb-dt-nest ・ jsp) く %@ page contentType="text/htm1 ; charset=EUC—JP" % > く %@ taglib prefix='ltxtl' uri="http : //www. astec. co . jp/text" % > —//W3C//DTD HTML 4 . 0 Transitiona1//EN"> く ! DOCTYPE HTML PUBLIC く html> く head> く meta http—equiv="Content—Type" content="text/html ; charset=EUC¯JP"> く title> 「 ー」が 2 回登場することわざく / title > く /head> く body> txt : dt がネスティングした例 : く txt :dl> く txt :dt>—朝一タ く txt :dt>—喜一憂く /txt :dt> く /txt :dt> く txt :dt>—長一短 く txt :dt>—期ー会 く txt : dt>—進一退く /txt : dt> く /txt : dt> く /txt :dt> く /txt :dl> く /body> く /html> 図 11 proverb-dt-nest. jsp の表示結果 万イル ( E ) 催集 ( 印表示ジャンプブマーり ( 印ツール (I) ウインヘルプ旧 ) 「一」が 2 回登場することわぎーに。叩を 第同ロ 、 , 。口にロ物ⅱホームラジオ、検索新カりマーク、いを M ぉ 3 、新着 ) 、 3 ンパ txtdt がネスティングした例 」、「一」が 2 回登場すとわざ 一朝一タ ー長一短 ( 第ロ イロ 1 丿ント宝 7 眄け ) ニエこい ます、 txt:dl タグの image 属生に設定したイメージが タグのタグハンドラを書き換えてみます。新しいタグは、 各リストのう E9_ 頁に表示されるように、 txt:dl タグと txt:dt く txt:dt> リストの内容く /txt:dt> く txt:dt> リストの内容く /txt:dt> く txt :dl image=" イメージの URL"> たとえは次のように使います。 マークが付く txt:dl タグ く /txt :dl> UNIX MAGAZINE 2003.1 スです。図 1 のマークが付かない txt:dl タグのソースと 図 12 は、マークが付く txt : dl のタグハンドラのソー くらべると、 変史はありません。 び出される doStartTag() と doEndTag() メソッドに という点が違いますが、開始タグや終了タグの角財万時に呼 れている 3. image 属性の値を返す getlmage() メソッドが定義さ ッドカ症義されている 2. image 属性の角寺に呼び出される setlmage() メソ ある 1 ・ image 属性の値を保存しておくための image 変数が 83 見てください ( 図 13 ) 。マークカ咐かない txt:dt のタグ 次に、マークが付く txt:dt のタグハンドラのソースを マークが付く txt:dt タグ ために用意しています。 介する txt:dt のタグハンドラから image 変数の値を得る す必要なわけではありません。このメソッドは、あとて紹 getlmage() メソッドは、 image 属性の処理にかなら び出さ String 型の image 変数に保存されます。 たときは、 JSP 工ンジンから setlmage() メソッドカ平 txt:dl タグの属性としてイメージの URL が指定され

5. UNIX MAGAZINE 2003年1月号

連載 /JavaServer Pages—・の 図 15 image 属性をもつ txt:dt のタクハンドラのソース (DefinitionTerm. java package text ; import javax . servlet . jsp. tagext . * ; import Javax . servlet . JSP. * ; import java. i0 . lOException; public class DefinitionTerm extends B0dyTagSupport { String image = Ⅱ u11 ; public int d0StartTag ( ) throws JspException { public void setImage(String v) { lmage = V ; private String getMark() { if (image ! = Ⅱ u11 ) { return " く img src=\ String mark = " " ・ try { DefinitionList parent mark = parent . getlmage ( ) ; if (mark null) { mark } else { " く img 十 mark 十 " \ " > " mark } catch (CIassCastException e) { } catch (NuIIPointerException e) { } return mark ; " " 十 1mage 十 " \ " > ー (DefinitionList)getParent ( ) ; public int d0EndTag ( ) throws JspException { 図 16 マークが付く txt:dt タグを使った表示 今回は、複数のカスタムタグを組み合わせるガ去を紹介 しました。すぐ殞則のタグを取得する getParent() メソッ - 万イル ( E ) 編集表示 ( ) ジャンプブックマーり ( 印ツーウインめへルプ ( 印 ドを利用して、カスタムタグのネスティングの状態を調べ ~ / 目に [ 」物ⅱホームラジオ常コプマゆいー” e 、新着、お勧助、メン ました。また、複数のカスタムタグのあいたで情報を受け ロ 当、「一」が蛔登場すまことわざ txt 引にイメーシのマークを設定 渡す方法も紹介しました。 ◆一朝一タ 外側のカスタムタグ (txt:dl) がもっている情報を内側 一喜一憂 のカスタムタグ (txt:dt) が得る例しか紹介しませんでし 学一長一短 ◆一一其目一一会」 たが、情報の取得に使ったメソッドを情報を設定するメ 第 9 ・ロ宀メ発了 ( 。た物 ソッドに書き換えれは、内側のカスタムタグの情報を外側 のカスタムタグべ度すこともできます。興床のある方は試 情報を複数のカスタムタグのあいだで受け渡すことか可阨 、、ムヒ してみてください。 です。 ( あらい・みちこ ASTEC) 「一」な 2 回登鶸ることき一 N 引 30 を 言同ロ ☆ 87 UNIX MAGAZINE 2003.1

6. UNIX MAGAZINE 2003年1月号

連載 /JavaServer pages—@ 図 12 マークか付く txt : dl のタクハンドラのソ ース (DefinitionList. java) package text ; import javax. servlet . jsp ・ tagext . * ; import javax. servlet ・ jsp. * ; import java. i0 . lOException; public int doStartTag( ) throws 疇 , ー return lmage ; public String getlmage ( ) { lmage public void setImage(String v) { private String image Ⅱ u11 ; BodyTagSupport public class DefinitionList extends 疇 - JspException { try { 1. getMark() メソッドが追加されている ハンドラのソース ( 図 2 ) とくらべると、 return EVAL_PAGE ; } catch ( 工 OException e) { } pageContext . getOut ( ) . write(" く p>") ; try { public int d0EndTag ( ) throws JspException return EVAL_BODY_INCLUDE ; } catch (IOException e) { } pageContext . getOut() . write(" く p>") ; 84 次に、 try 節のなかで、 String mark rnark 変数を空文字列で衫化しています。 getMark() メソッドの一番う頁の行では、 String 型の 情報を取得しています。 Parent() を利用してはかのタグハンドラからイメージの ます、 getMark() をみてみましよう。ここでは、 get- getMark() の里 の 2 点か変更されています。 2. doEndTag() がマークを出力するようになっている DefinitionList parent を実行しています。 (DefinitionList) 、 getparent ( ) ; getParent() メソッドはすぐ外側のカスタムタグを返 すので、 JSP ファイルのネスティングが正しく言当主され ていて、 txt:dt タグのすぐ外側に txt:dl タグがあれは、 parent 変数には txt:dl タグに対応した DefinitionList のオプジェクトか薇疋されます。 ネスティングの記述が誤っていて、 getParent() が DefinitionList 以外のクラスのオプジェクトを返したと きは、 (DefinitionList)getParent() でキャストに失敗したことを示す CIassCastExcep- tion 例外が盟ーします。このときは、 catch (CIassCastException e) { } の catch 節に制御が移り、 mark 変数は匆月状態の空文字 列が設定されたままになります。 getParent() は txt:dt の外側にカスタムタグがないと null を返しますが、この場合には ClassCastException 例外は発生しません。その代わり、次の行の、 parent . getlmage ( ) で NullPointerException 例外か発生し、 catch (Nu11PointerException e) { } の catch 節に制御が移ります。このときも、 mark 変数 には空文字列か設定されたままになります。 parent 変数に DefinitionList オプジェクトが成疋さ れたときは、 mark = parent . getlmage ( ) ; によって txt:dl タグから取得した image 属性の値が mark 変数に設定されます。ただし、 txt:dl タグで im- age 属匪カ甘旨定されなかったときは null か轂定されてい るので、 mark 変数には空文字列を設定します。 txt:dl タグで image 属匪か指定されたときは、 mark によって HTML の img タグに書き換えられ、それが getMark() メソッドカす値になります。 UNIX MAGAZINE 2003.1

7. UNIX MAGAZINE 2003年1月号

連載 JavaServer pages 図 13 マークが付く txt:dt のタクハンドラのソース (DefinitionTerm. Java) package text ; import javax. servlet . jsp. tagext . * ; import javax . servlet . jsp. * ; import java. iO. IOException; bodystr = getMark ( ) + getB0dyContent ( ) . getString() + " く br>" ・ try { String bodystr public int d0EndTag ( ) throws JspException { " " 十 mark 十 " \ " > ー (DefinitionList)getParent ( ) ; r e turn mark ; catch (NuIIPointerException e) { } } catch (C1assCastException e) { } mark ーく img } else { mark = " " ・ ー null) { i f (mark mark = parent ・ getlmage ( ) ; DefinitionList parent try { String mark private String getMark() { return SKIP_BODY ; } catch (NuIIP0interException e) { } て eturn EVAL_B ODY_BUFFERED ; if (name . equals("text. DefinitionList") ) { String name = parent . getC1ass ( ) . getName ( ) ; try { Tag parent = getParent ( ) ; public int doStartTag ( ) throws JspException { public class DefinitionTerm extends B0dyTagSupport { } catch (Nu11PointerException e) { } try { pageContext . getOut() . write(bodystr) ; } catch (IOException e) { } return EVAL_PAGE ; doEndTag() の里 UNIX MAGAZINE 2003.1 です。マークカ咐く txt:dt の場合には、 getMark() メ で、 getMark() メソッドを呼び出しているかどうかだけ getString() + " く br>" ・ bodystr = getMark ( ) + getB0dyContent ( ) . EndTag() メソッドの違いは、 クが付く txt:dt とマークが付かない txt:dt タグの do- 次に、 doEndTag() メソッドをみてみましよう。マー ソッドからイメージを表小する img タグの言当を受け取 り、リストの文字列の頁に追カ日しています。 マーク付きのリストの表示 image 属性を追加した txt:dl タグを使うには、 TLD ファイル内の txt:dl タグの言当を変える必要があります。 text. tld に追加した dl タグを次のように書き換えてくだ さい。 85

8. UNIX MAGAZINE 2003年1月号

- を 2- 5 、 8 ・イ f.'. ( をイ .v. イ午 女子大生の放課後 まり : これは何ができるんですか ? H さん : ますはマニュアノレ、やろ。ワークスペースの設 定について書いてあるところくらい、自分でみつけて読 まんとあかんで。 まり : むむむ。あ、もしかしてン w 数字画像ファイル まり : おつ、変わった。 H さん : 当たり ~ 。やってみな。 名 " で言殳定できるのでは ? : はい、たしかに ( 誌面の都合長で折り返して 書いてあるやろ ? Maker を見てみ。壁紙に設疋してやったファイル名が H さん . しや、次は -/GNUstep/DefauIts/Window- gray20) (spixmap , "/home/mari/images/kuma ・ Jpg gray20) , (spixmap , "/home/mari/images/kame ・ jpg WorkspaceSpecif icBack = ( います ) 。 UNIX MAGAZINE 2003.1 しました。マニュアルを読むと、この機能を使うには -O の機能があるようなので、さっそく ports でインストール 探してみました。 Web で検索したところ、 Eterm にはこ いので、背景か透けて見えるターミナル・ソフトウェアを かく表示させたお気に入りの画像が見えないのはつまらな が見えなくてもとくに気にはならなかったのですが、せっ だけで壁紙が隠れてしまいます。青一色だったときは背景 1 , 024 x 768 の画面では、 Emacs や kterm を起動した 透け透け Eterm ん楽しくなってきました。 ・・などと考えるうちにだんだ たり、日記を更新したり、 て、 Workspace3 では gaim を動かして友達と連絡をとっ メールを読んだり、 SSH でログインしたりします。そし 仕事のために IRC クライアントを起動したり、 Mew で ところに決めました。 Workspace2 では、京都大学での メインの Workspace1 は、もちろん大学の用事をする H さん : 間違っても ; や、、 ( ) " を消したりするなよ。 まり : そんな気がしてきました。 れは、ワークスペースの壁紙か変わると思うやろ ? H さん : コピー & ペーストで画像のファイル名を変更す オプションを指定す川まよさそうです。 > Eterm ー 0 & ところが、デフォルトの文字色は白のようで、白っほ。 い画像を壁紙にしていると文字がほとんど読めなくなっ てしまいます。せつかく、、 emacs -nw" として、、透ける Emacs" を実現したのに、文字が見にくくては満足に使え ません。 M 先生 : あ、壁紙か変わってる。 まり : せつかく壁紙を貼ったので、 Eterm の透明イ生を能 を使って背景の画像を見ながら作業しようと思ったんで すが、デフォルトの文字が白とは・・ M 先生 : そんなんでメール、読まれへんやろ。 まり : 画像が白っは。いときは文字を黒くし、黒っほ。いと きは文字を白にして・・ 。でも、そうなると風景の写 真なんかいろんな色カ鯤じってるから判仂ゞ難しいよう よ。 M 先生 : Eterm の文字は、背景色の反対色を出すような モノを作ればええやろ。 まり : それはいいアイデアですね。でも、そんなモノ作れ ませんよ。プログラミングはさつばりですし。 M 先生 : ま、文字色が背景色と正反対になったからといっ て、文字が見やすいかは別問題やけどな。 まり : そうですね・・ こういうときに、ひょいひょいっ とフログラムか書けたらカッコいいのになあ。そうなり たいなあ ( うっとり ) 。 M 先生さて、・聳・聳毳 まり : お疲れ様です。プログラミングかあ。でも、プロ グラムを自分で作るおもしろさを知ってしまったら、 1 日中パソコンと一緒に生活してしまって、ものすご ~ く 不健康な生活になりそうな・・ そよか : いまも、たいして変わらないやろ。 まり : うつ。 ( きたがわ・あゆみ、いとう・そよか、かさとう・まり 121 京都女子大学 )

9. UNIX MAGAZINE 2003年1月号

. イ - 3 -4 をん 8. す 0. イ 2 イ 3 . 女子大生の故課後 dow Maker を使っています。いまでは背景色はデフォル トの青に落ち着き、これをバックに竹喋をしていると、、あ あ、 UNIX を使っているんだ " という気分になります。し かし、そよかの、、壁紙が好きな絵だとやる気が出る " とい う言葉を聞き、壁紙を変えてみることにしました。私のお 気に入りの画像は JPEG ファイルだったので、 xv を使っ て次のようにしてみました。 > xv —root —quit sukinae . Jpg kabee を使う 絵を敷き詰めるだけなら、これだけです。しかし、好 きな画像をすべて試してみて、どの壁紙が -- - ・番やる気をか きたてるかを試してみたくなりました。とはいえ、いちい ち xv で設定するのは面倒です。ファイル名をクリックす るだけで壁紙に設定できる方法はないだろうかと Web で 調べたところ、 kabee2 というアフリケーションをみつけ ました。クリック 1 つで、たくさんの画像ファイルが置 かれたディレクトリから画像を尺し、壁紙として設定し てくれるたいへんイ叫リなツールです。適当にクリックする だけで壁紙が変わっていくのは、なかなか楽しそうです。 さっそくダウンロードし、インストールしてみました。 私の場合は MakefiIe を書き換えることもなく、 make 、 make install でコンパイルできました。壁紙用の画像を置 くディレクトリを作成し、そこに画像ファイルをコピーし ます。次に、工韆竟変数 BITMAPS にこのディレクトリを 絶対パスで設疋します ( デフォルトは $HOME/bitmaps です ) 。 > setenv BITMAPS /home/mari/images そして、画像をデスクトップに貼り付けるためのアプリ ケーションを工韆竟変数 XVIEW に指定します。今回は、 xv ¯q 120 2 http://indyl.tsc.co ・ jp/&seishi/cc/kabee/ > kabee & 以 E の設定ができたら、 kabee を起動します。 -root" カ疋されます。 XVIEW 変数を設定しないと、デフォルトで、、 > setenv XVIEW "xv —root —quit —max" xv を利用することにしました。 すると、小さい円形のアイコンか表示されます。これを マウスの左ボタンでクリックするたびに、 BITMAPS 変 数で指定したディレクトリ内の画像ファイルがランダムに 壁紙に設定されます。一方、中央ボタンでクリックする と、画像ファイルの一覧か表示さファイル名を左ボタ ンでクリックすることて壁紙に設定できます。終了するに は、 kabee のアイコンを右ボタンでクリックします。 H さんも、 Window Maker を使っているので、どん なふうに壁紙を設定しているのかを訊いてみました。 ワークスペースごとに壁紙を変更 まり : H さん、壁紙、どうしてます ? H さん : ワークスペースごとに変えてるで。 まり : わーくすべーす ? H さん : ん ? おまえ、 WindowMaker 使ってたやろ ? Window Maker ワークスペースって、仮想ウインド ウをたくさん作れるやん。 まり : そうなんですか ? 知りませんでした。使い方、教 えてください。 H さん : 緑色のアイコンがデスクトップの右にあるや ろ ? それの Workspace Navigation の automati- cally create new workspaces にチェックを入れろ。 まり :Window Maker の設疋をするアイコンですね。え ーと、はい、チェックを入れました。 H さん : そしたら、 AIt 十数字キーで画面か変わるやろ ? まり : あ、 Workspace2 とか 3 って表示されながら、ウィ ンドウが切り替わります。でも、メインのワークスペー スで設定した壁紙がその他のワークスペースでも表示さ れているようですが。 H さん . こからカ宛のみせどころや。 wmakerconf っ て入ってる ? まり : 分かりません。 H さん : しや、 wm と入力してから Control-d ってして みたら ? まり : へえ、 wm から始まるものが表示されるんや。 H さん : おまえ、こんなに便利な補完機能、ほんまに知 らんかったんか ? まり : うつ。でも、 wmakerconf はないようです。えー と、 wmagnify 、 wmtime 、 wmsetbg ・ H さん : おっと、その wmsetbg を使うんや。 UNIX MAGAZINE 2003.1