### Copyright (C) 1995, 1996, 1997 Jeppe Buk (buk@imada.ou.dk) ### This program is free software; you can redistribute it and/or modify ### it under the terms of the GNU General Public License as published by ### the Free Software Foundation; either version 2 of the License, or ### (at your option) any later version. ### ### This program is distributed in the hope that it will be useful, ### but WITHOUT ANY WARRANTY; without even the implied warranty of ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ### GNU General Public License for more details. ### ### You should have received a copy of the GNU General Public License ### along with this program; if not, write to the Free Software ### Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ### ### Mar. 11 1998 Japanize by Mashio Motoyama ### proc FvwmPager {} { # モジュール / FvwmPager Desc "FvwmPager モジュールの設定" ShortDesc "FvwmPager" Header h -text "FvwmPager" -frame:relief flat \ -help "このページでは FvwmPager モジュールの設定を行います。このモジュールは仮想デスクトップの操作に使われます。" Line l CheckBox spawn\ -text "起動時から利用" \ -help "これを選択すると、このモジュールは起動時、つまり"\ "'InitFunction' と 'RestartFunction' からその動作を開始します。" Int pager1\ -text "先頭デスクトップ: " \ -help "ページャに表示する最初のデスクトップを入力します。デスクトップは 0 及び up から番号付けられています。" Int pager2 -text "最終デスクトップ: " \ -help "ページャに表示する最後のデスクトップを入力します。デスクトップは 0 及び up から番号付けられています。" Frame pagerF -entries pager1 pager2 Change { if {$changeElm == "spawn"} { if {$spawn == 1} {Enable pager1 pager2} else {Disable pager1 pager2} } } Line delim Int nor\ -text "表示行数: " \ -help "ページャに表示する仮想デスクトップの横の数を入力します。" Change {if {$changeElm == "nor" && $nor == "-"} {set nor ""}} Save {if {$nor != ""} {print "*FvwmPagerRows\t$nor"}} Int noc -text "表示列数: " \ -help "ページャに表示する仮想デスクトップの縦の数を入力します。" Frame norcF -entries nor noc Change {if {$changeElm == "noc" && $noc == "-"} {set noc ""}} Save {if {$noc != ""} {print "*FvwmPagerColumns\t$noc"}} CheckBox redB\ -text "ページャの縮小率: " \ -help "ページャの縮小率を入力します。ここに入力する値が分母になります(1/入力値)。" Int red -help "縮小率を入力します(1/入力値)。" Frame redF -entries redB red Change {if {$changeElm == "red" && $red == "-"} {set red ""}} Change { if {$changeElm == "redB"} { if {$redB == 1} { set pgeoB 0 Disable pgeoW pgeoH pgeoX pgeoY Enable red } else { Disable red } } } PageEnd {if {$redB == 1 && $red == ""} { error "FvwmPager に無効な縮小率が設定されています。" }} Save {if {$redB == 1} {print "*FvwmPagerDeskTopScale\t$red"}} CheckBox pgeoB\ -text "ページャの表示位置: " \ -help "縮小率を設定していなければ、ページャの大きさと表示する位置を"\ "X11 の表記法方で指定可能です。" Int pgeoW\ -text "幅"\ -help "幅をピクセル単位で指定します。" Int pgeoH\ -text "高さ"\ -help "高さをピクセル単位で指定します。" Int pgeoX\ -text "X 座標"\ -help "X 座標を入力します。左端が 0 です。" Int pgeoY\ -text "Y 座標"\ -help "Y 座標を入力します。上端が 0 です。" Frame pgeoF -entries pgeoB pgeoW pgeoH pgeoX pgeoY Change {if {$changeElm == "pgeoW" && $pgeoW == "-"} {set pgeoW ""}} Change {if {$changeElm == "pgeoH" && $pgeoH == "-"} {set pgeoH ""}} Change { if {$changeElm == "pgeoB"} { if {$pgeoB == 1} { set redB 0 Disable red Enable pgeoW pgeoH pgeoX pgeoY } else { Disable pgeoW pgeoH pgeoX pgeoY } } } PageEnd { if {$pgeoB == 1 && ($pgeoX != $pgeoY && ($pgeoX == "" || $pgeoY == "" || $pgeoX == "-" || $pgeoY == "-") )} { error "FvwmPager に完全なジオメトリ情報が与えられていません。" } } Save { if {$pgeoB == 1} { set geom "" if {$pgeoW != "" || $pgeoH != ""} { append geom "${pgeoW}x$pgeoH" } if {$pgeoX != ""} { append geom "[signed $pgeoX][signed $pgeoY]" } print "*FvwmPagerGeometry\t$geom" } } Label igeoL\ -text "アイコンの表示位置: "\ -help "(訳者補足)\nアイコン状態でのFvwmPager のジオメトリ情報になります。何故チェックボックスになっていないのかは不明です。" Int igeoW -text "幅" Int igeoH -text "高さ" Int igeoX -text "X 座標" Int igeoY -text "Y 座標" Frame igeoF -entries igeoL igeoW igeoH igeoX igeoY Change {if {$changeElm == "igeoW" && $igeoW == "-"} {set igeoW ""}} Change {if {$changeElm == "igeoH" && $igeoH == "-"} {set igeoH ""}} PageEnd { if {$igeoX != $igeoY && ($igeoX == "" || $igeoY == "" || $igeoX == "-" || $igeoY == "-")} { error "FvwmPager アイコンに完全なジオメトリ情報が与えられていません。" } } Save { if {$igeoW != "" || $igeoH != "" || $igeoX != "" || $igeoY != ""} { set geom "" if {$igeoW != "" || $igeoH != ""} { append geom "${igeoW}x$igeoH" } if {$igeoX != ""} { append geom "[signed $igeoX][signed $igeoY]" } print "*FvwmPagerIconGeometry\t$geom" } } CheckBox stiB\ -text "アイコン状態で起動" \ -help "これを選択すると、ページャはアイコン状態で起動します。FVWM2 の標準スタイルであれば、この方法が良いでしょう。" Save {if {$stiB == 1} {print "*FvwmPagerStartIconic"}} Line fcLn CheckBox fcB\ -text "背景色 :" \ -help "ページャの前景色を指定できます。" Command fc \ -default [list "black" 0] \ -setvalue { $widget configure -bg [lindex $fc 0] -text " "} \ -invoke {ColorWidget $colorList [lindex $fc 0] \ [lindex $fc 1]} \ -disable {$widget configure -relief flat } \ -enable {$widget configure -relief raised } \ -help "ページャの前景色を設定します。" Frame fcF -entries fcB fc Change { if {$changeElm == "fcB"} {if {$fcB == 1} {Enable fc} else {Disable fc}} } Save {if {$fcB == 1} {print "*FvwmPagerFore\t[hash2rgb [lindex $fc 0]]"}} CheckBox bcB -text "背景色: " \ -help "ページャの背景色を指定できます。" Command bc \ -default [list "white" 0] \ -setvalue { $widget configure -bg [lindex $bc 0] -text " "} \ -invoke {ColorWidget $colorList [lindex $bc 0] \ [lindex $bc 1]} \ -disable {$widget configure -relief flat } \ -enable {$widget configure -relief raised } \ -help "ページャの背景色を設定します。ここで設定した色は、非アクティブ状態のページとラベルに使われます。" Frame bcF -entries bcB bc Change { if {$changeElm == "bcB"} {if {$bcB == 1} {Enable bc} else {Disable bc}} } Save {if {$bcB == 1} {print "*FvwmPagerBack\t[hash2rgb [lindex $bc 0]]"}} CheckBox hcB\ -text "強調色 :" \ -help "ページャの強調色を指定できます。ここで指定した色は、アクティブ状態のページとラベルに使われます。" Command hc \ -default [list "grey" 0] \ -setvalue { $widget configure -bg [lindex $hc 0] -text " "} \ -invoke {ColorWidget $colorList [lindex $hc 0] \ [lindex $hc 1]} \ -disable {$widget configure -relief flat } \ -enable {$widget configure -relief raised } \ -help "ページャの強調色を選択します。" Frame hcF -entries hcB hc Change { if {$changeElm == "hcB"} {if {$hcB == 1} {Enable hc} else {Disable hc}} } Save {if {$hcB == 1} {print "*FvwmPagerHilight\t[hash2rgb [lindex $hc 0]]"}} CheckBox fnB\ -text "デスクトップ・ラベルフォント: " \ -help "デスクトップのラベルに使うフォントを選択します。" CheckBox fnNB\ -text "デスクトップ・ラベル非表示" \ -help "デスクトップ・ラベルが表示されなくなります。" Frame fnF1 -entries fnB fnNB Label fnL -text " " Command fnAscii\ -default "a14" \ -setvalue {buttonSetText $widget ASCII $fnAscii ascii}\ -invoke {FontWidget $fnAscii 0 ascii}\ -disable {$widget configure -text "Not set"}\ -enable {buttonSetText $widget ASCII $fnAscii ascii}\ -help "デスクトップ・ラベルに使われる ASCII フォントを選択します。" Command fnKanji\ -default "k14" \ -setvalue {buttonSetText $widget 漢字 $fnKanji kanji}\ -invoke {FontWidget $fnKanji 0 kanji}\ -disable {$widget configure -text "未設定"}\ -enable {buttonSetText $widget 漢字 $fnKanji kanji}\ -help "デスクトップ・ラベルに使われる漢字フォントを選択します。" Command fnKana\ -default "r14" \ -setvalue {buttonSetText $widget "1Byte Kana" $fnKana kana}\ -invoke {FontWidget $fnKana 0 kana}\ -disable {$widget configure -text "Not set"}\ -enable {buttonSetText $widget "1Byte Kana" $fnKana kana}\ -help "デスクトップ・ラベルに使われる半角カナフォントを選択します。" Frame fnF\ -entries {fnL fnAscii fnKanji fnKana} Change { if {$changeElm == "fnB"} { if {$fnB == 1} { set fnNB 0 Enable fnAscii fnKanji fnKana } else { Disable fnAscii fnKanji fnKana } } if {$changeElm == "fnNB"} { if {$fnNB == 1} { set fnB 0 Disable fnAscii fnKanji fnKana } } } Save { if {$fnB == 1} { print "*FvwmPagerFont\t$fnAscii,$fnKanji,$fnKana" } } Save { if {$fnNB == 1} { print "*FvwmPagerFont\tnone" } } CheckBox fnSB\ -text "ウインドウ・ラベル表示"\ -help "ウインドウ・ラベルの表示/非表示、そしてフォントを選択します。" Label fnSL -text " " Command fnSAscii\ -default "a14"\ -setvalue {buttonSetText $widget ASCII $fnSAscii ascii}\ -invoke {FontWidget $fnSAscii 0 ascii}\ -disable {$widget configure -text "Not set"}\ -enable {buttonSetText $widget ASCII $fnSAscii ascii}\ -help "ウインドウ・ラベルの ASCII フォントを選択します。" Command fnSKanji\ -default "k14"\ -setvalue {buttonSetText $widget 漢字 $fnSKanji kanji}\ -invoke {FontWidget $fnSKanji 0 kanji}\ -disable {$widget configure -text "未設定"}\ -enable {buttonSetText $widget 漢字 $fnSKanji Kanji}\ -help "ウインドウ・ラベルの漢字フォントを選択します。" Command fnSKana\ -default "r14"\ -setvalue {buttonSetText $widget "1Byte Kana" $fnSKana kana}\ -invoke {FontWidget $fnSKana 0 kana}\ -disable {$widget configure -text "Not set"}\ -enable {buttonSetText $widget "1Byte Kana" $fnSKana kana}\ -help "ウインドウ・ラベルの半角カナフォントを選択します。" Frame fnSF\ -entries {fnSL fnSAscii fnSKanji fnSKana} Change { if {$changeElm == "fnSB"} { if {$fnSB == 1} { Enable fnSAscii fnSKanji fnSKana } else { Disable fnSAscii fnSKanji fnSKana } } } Save { if {$fnSB == 1} { print "*FvwmPagerSmallFont\t$fnSAscii,$fnSKanji,$fnSKana" } } ComboBox deskNo\ -entries {0 1 2 3 4 5 6 7 8 9 10}\ -help "設定変更するデスクトップ番号を選択して下さい。"\ -default 0 CheckBox plabB\ -text "名前: " \ -help "このラベルを定義する場合に選択し、名前を入力します。" Entry plab\ -help "このデスクトップの名前を入力します。" CheckBox pcolB\ -text "色: " \ -help "このデスクトップの色を設定する場合に選択し、それを設定します。" Command pcol \ -default [list "white" 0] \ -setvalue { $widget configure -bg [lindex $pcol 0] -text " "} \ -invoke {ColorWidget $colorList [lindex $pcol 0] \ [lindex $pcol 1]} \ -disable {$widget configure -relief flat } \ -enable {$widget configure -relief raised } \ -help "このデスクトップの色を選択します。" ExtEntry plabcolE -entries deskNo plabB plab pcolB pcol \ -text "各デスクトップの設定" \ -help "個々のデスクトップの色やフォント、ラベル等を設定します。" Change { if {$changeElm == "plabB"} { if {$plabB == 1} {Enable plab} else {Disable plab} } if {$changeElm == "pcolB"} { if {$pcolB == 1} {Enable pcol} else {Disable pcol} } } Save { forevery plabcolE { if {$deskNo == ""} { tk_dialog .deskWarn Warning "デスクトップ番号が指定されていない設定があります。このエントリは無視されます。" info 0 OK } else { if {$plabB == 1} {print "*FvwmPagerLabel\t$deskNo $plab"} if {$pcolB == 1} {print "*FvwmPagerDeskColor\t$deskNo\ [hash2rgb [lindex $pcol 0]]"} } } } PageEnd { if {$spawn == 1 && ($pager1 == "" || $pager2 == "")} { error "どのデスクトップを表示させるかを指定する必要があります。" } } Save { if {$spawn == 1} { print "AddToFunc InitFunction \"I\" Module FvwmPager $pager1 $pager2" print "AddToFunc RestartFunction \"I\" Module FvwmPager $pager1 $pager2" } } }