Fluxbox Style

                                                Last update 2012/02/13
------------------------------------------------------------------------
    目次


    style を手作りする

    1.最初の一歩
    2.超簡単スタイル
    3.少しだけ自分色に
    4.最低限かつ実用的なスタイル
    5.グラデーションを使いちょっとオシャレに

    色の指定
    背景/壁紙の設定
    スタイルファイルを使わない壁紙の設定
        コマンド ラインから設定する
        メニューから設 定する
        startup で設定する
        init で設定する
        lastwallpaper を有効利用する
    主要テーマサイト
    スタイルファイルのトラブルシューティング

    スタイルファイルの後方互換性

------------------------------------------------------------------------
1.最初の一歩

「fluxbox の style ファイルを自分で作る」

と、いえば何だか難しそうに聞こえるかも知れませんが、しかし、やってみれば
これが意外に簡単なのです。
複雑で凝ったデザインのものを作ろうとすれば、それなりの手間が必要ですが、
簡単なものなら数秒〜数分で作れてしまいます。
論より証拠、以下は「あっという間に作れる style ファイル」 の実験です。

.下準備
最初に下準備として fluxbox を立ち上げ、X端末(kterm、xterm など)を起動
して、(まだ無いなら) style ファイル格納用のディレクトリを作り、カレント
ディレクトリをそこに移して置いて下さい。

    (※以下緑字(makedir ...等)の部分をトリプルクリックし、ターミナル上でマウスの
    中ボタンをクリックすれば、コマンドをコピー & ペーストする事ができます)


   

makedir ~/.fluxbox/styles

$
cd ~/.fluxbox/styles

これで準備完了です。

目次へ


2.超簡単スタイル
まず、極めてシンプルな style ファイルを一つ作ってみましょう。
下のコマンドを実行して下さい。(コマンドラインにコピー&ペーストも可)

   
touch nothing

これで一丁あがり!です。
"nothing" という名の style ファイルがひとつ出来上がりました。

貴方は、ええっ!?っと思われたでしょうか?或いはニヤッとされたでしょうか?
試しに、

   
cat nothing

としても、何も表示されないのは当たり前、サイズ 0 の空ファイルが作られた
だけですから。

これのどこが style ファイルなんだ?と思われたなら、

    ルートメニュー → Fluxboxメニュー → ユーザースタイル

をご覧になり、"nothing" が存在するのを確認して下さい。
それだけではご不審なら、style を現在お使いのものから、"nothing" に変更
して見て下さい。きちんと style が変更される事が確認できるはずです。

元の style に戻し、もう一度 "nothing" に切り替える。何度やってみても同
じ事で、"nothing" は (みばえはしないが) 確かに一つの style として機能し
ているのです。

nothing
<"nothing" style>
※実際の背景は、直前に使用していたスタイルを引き継ぐ為、上の画像とは違う場合が有ります。



「もしかしたら」と、お気付きになられたかと思いますが、実はこれが fluxbox
の初期スタイル、素顔の fluxbox なのです。
"nothing" はそれに「なにも付け加えない」という 働きをする style ファイル
という事が出来ます。

目次へ


3. 少しだけ自分色に

次は、二個目の style を作ってみましょう。(カレントディレクトリは
~/.fluxbox/styles のままで)

   

echo "*.color:      lightblue" > something

$
echo "*.textColor:  Black"    >> something

これ で基本色と文字の色だけが "nothing" とは違う、"something" という名の
style が完成しました。

※'lightblue'、'Black' の部分はお好みの適切な色(参照:色の指)に変更しても構いません。

something
<"something" style>
※実際の背景は、直前に使用していたスタイルを引き継ぐ為、上の画像とは違う場合が有ります。

"nothing" は一応機能しますが「何も指定しない」 という意味ではスタイル
ファイルとは言い難い代物なのですが "something" は、たった 2行だけと
はいえ「何かを指定している」のですから、もうこれは間違いなく fluxbox
のスタイルファイルです。

後は、必要な設定を書き加えて"使い易く"、"見映えが良い"ものに仕上げて行
けば良いだけです。

目次へ


4. 最低限かつ実用的なスタイル

「見映え」に関しては、個人の好み、センスに左右される物なので、記述も複雑
になってしまいます。ここではまず、最低限の"使い易さ"を目標にデザインを追
加してみましょう。

さしあたって、

    1.フォーカス/アンフォーカスウィンドウのタイトルバーを色分けする
    2.メニューのアクティブな項目がわかるようにする
    3.ボタンとそうでない部分の色分けをする
    4.フォントサイズをディスプレィに合わせて調節する
    5.ウィンドウ枠を付け、他のウィンドウやメニューとの境目を明確にする
    6.ウィンドウ最下部にリサイズ用ハンドルを付けリサイズしやすくする

を目標とします。これだけで、幾分使い勝手は向上するでしょう。

お好みのエディタを開き、以下の数行をコピー&ペーストして、"something2" と
言う名前で ~/.fluxbox/styles ディレクトリに保存して下さい。


! global
*.font:                    *-10
*.textColor:               Black
*.color:                   lightblue
*.unfocus.color:           lightblue4
*.button.color:            white
! toolbar
toolbar.*.unfocused.color: lightblue4
! menu
menu.title.color:          lightblue3
menu.hilite.color:         white
! window
window.button.*.color:     lightblue3
window.borderColor:        lightblue4
window.borderWidth:        2
window.handleWidth:        3
! command
rootCommand:               fbsetroot -solid DarkSlateGray
background:                solid
background.color:          DarkSlateGray


!で始まる行は注釈行で す。不要なら省いて下さい。
下線付き部 分の数値や色の名前を、貴方の好みに合わせて書き換え可能です。
rootCommand 行は styleの旧書式(後方互換)が"有効"の時に、background
  background.color 行は"無効"の時に働きます。
(共に背景をDarkSlateGray
  に設定します)
不要ならどちらかを削除しても構いません。

something2
<"something2" style>

最もシンプルなシステムスタイルである "Minimal" と比べても 1/5 強程度のフ
ァイルサイズと、随分コンパクトな style ファイルです。
デザイン的には、グラデーションや pixmap を駆使したものに見劣りはしても、
機能的にはこれで殆ど不足の無いものになりました。

目次へ


5. グラデーションを使いちょっとオシャレに

最後に、多少見映えを考慮し たスタイルを作ります。
シンプルさを心掛けてはいますが、グラデーションはアイテムごとに個別指定の
必要が有る為、ファイルサイズは多少大きくなります。

お好みのエディタを開き、以下をコピー&ペーストして、"gradation" と言う名
前で ~/.fluxbox/styles ディレクトリに保存して試して下さい。


! ----- global 設定

!    ※ 個々のアイテムに共通する設定は '*' を用いて纏めて設定して置きます。
!    ※ 但し、グローバル設定が全アイテムに適用されるとは限らないので、
!    ※ その場合は後の方でアイテム毎に個々に設定します。
!    font & text
*.font:                   *-10
*.textColor:              Black
*.unfocused.textColor:    Gray80
*.unfocus.textColor:      Gray80
!    color
*.color:                  SkyBlue
*.colorTo:                DeepSkyBlue4
*.unfocus.color:          SkyBlue3
*.unfocus.colorTo:        DeepSkyBlue4
*.unfocused.color:        SkyBlue3
*.unfocused.colorTo:      DeepSkyBlue4
*.button.color:           White
*.borderColor:            MidnightBlue
!    space size
*.borderWidth:            1

!    以下はアイテムごとの個別設定です。

! ----- toolbar 関連
!    gradient
toolbar.button:           raised gradient vertical
toolbar.workspace:        raised gradient vertical
toolbar.clock:            raised gradient vertical
toolbar.iconbar.focused:  raised gradient vertical
toolbar.iconbar.unfocused: raised gradient vertical

! ----- menu 関連
!    color
menu.frame.color:         LightSkyBlue
menu.frame.colorTo:       DeepSkyBlue3
!    gradient
menu.title:               raised gradient vertical
menu.hilite:              raised gradient vertical
menu.frame:               raised gradient vertical

! ----- window 関連
!    color
window.button.unfocus.picColor: Black
!    gradient
window.button.focus:      raised gradient vertical
window.button.unfocus:    raised gradient vertical
window.label.focus:       raised gradient vertical
window.label.unfocus:     raised gradient vertical
!    space size
window.handleWidth:       3


! ----- background 関連
!    旧書式
rootcommand: fbsetroot -gradient SunkenPyramid -from SkyBlue -to DeepSkyBlue4
!    新書式
background:  SunkenGradientPyramid


前項同様、'!'で始まる赤字の行は注釈行です。
実効行(緑字の行)だけなら 31行と、かなりコンパクトな割には、これ迄のものに較
べ、ややスタイルらしくなりました。


gradation
<"gradation" style>

次のスタイルは "gradation" の色指定のみを調に変えたものです。

(以下には変更部分のみを書いておきます)

*.color:              Gray90
*.colorTo:            Gray30
*.unfocus.color:      Gray60
*.unfocus.colorTo:    Gray20
*.unfocused.color:    Gray60
*.unfocused.colorTo:  Gray20
*.borderColor:        Gray10

menu.frame.color:     White
menu.frame.colorTo:   Gray50



gradation2
<"gradation2" style>

基本的なスタイル指定に付いて書いて来ましたが、ここでは、各ボタンを押し
た状態や、アイテムや背景に画像を貼り付ける方法等については触れていませ
ん。

より詳しくは、

    参考(色の指 定)
    fluxstyle manpage ($ man fluxstyle) (やや古い情報を含みます)
    FluxTips (manpage に書かれていない新しい情報に触れています)
    テーマサイト等で配布されているスタイルファイル

等を参考にして下さい。

「スタイルが複雑になれば作動が重くなる」というのは、確かにその通りです
が、実際の所はメモリ占有量がせいぜい 100キロバイト単位程度で増えるだけ
です。
あなたのマシンが相等古いものであればこれも大きな負担になるかもしれませ
んが、昨今のマシン(CPU 1GHz、メモリ 250MB 程度以上)なら、ほとんど負担
に感じる事は無いでしょう。
臆する事無く、貴方のデスクトップを演出する素晴らしいスタイルの自作に挑
戦して下さい!

目次へ

------------------------------------------------------------------------

色の指 定

色彩指定リソース
名称
色彩
開始色の指定
終端色の指定
Solid 単色
color:
-------
Gradient グラデーション
color: colorTo:


色彩 指定の方法

色指定の例として使用する色


1.色の名前で指定する
    *.color:   SteelBlue4

    ※色の名前の詳細は rgb.txt (又は rgb.txt) をご覧下さい。

2.カラースペース名:red/green/blue 形式での指定
    *.color:   rgb:36/64/8b

3.#rrggbb での指定(古い形式:後方互換性を保つ為使用可能となっている)
    *.color:   #36648b

※1〜3 は同じ色を指定しています。


Gradient:陰影/グラデーション(色勾配)の指定

グラデーション(色勾配)は、(陰影の種類)、Gradient、(グラデーション種別)
の順に指定します。

表記例: (大文字/小文字は無視されます)
    toolbar.clock:     Flat Gradient Vertical
    toolbar.workspace: flat gradient vertical

※上の例では、ツールバーの時計/ワークスペースに Flat(陰影の種類)、
Vertical(グラデーション種別)のグラデーションを使う事を指定しています。

陰影の種類
※各部品の周辺の陰影の付け方を指定します。
※(背景等、指定アイテムによっては、グラデーションの方向を制御する場合も
  有ります)

    使用色
        *.color:    lightcyan
        *.colorTo:  darkcyan


陰 影の種類 周囲の陰影
flat
flat
平坦
raised
raised
隆起(浮き上がらせる)
sunken
sunken
沈下(くぼませる)


グラデーション種別
※color/colorTo で指定した 2色でのグラデーション(色勾配)の付け方を指定し
ます。

    使用色
    *.color:     SteelBlue4
    *.colorTo:   white

    グラデーション指定の例
    toolbar.button:    xxx gradient yyy
    toolbar.workspace: xxx gradient yyy

xxx には上記の flat/raised/sunken の内のいずれかを、yyy には下記の
"種別の名称" の内のいずれかを指定します。

適用例
(ツールバーの一部)
種別の名称 種別の意味
勾配方向
(color: 〜 colorTo:)
vertical vertical
垂直 上から下
horizontal
horizontal
水平 左から右
diagonal
diagonal
対角線 左上から右下
crossdiagonal
crossdiagonal
対角線 右上から左下
pipecross
pipecross
円筒状十字形 外から内
elliptic
elliptic
楕円 外から内
rectangle
rectangle
矩形 外から内
pyramid
pyramid
角錐 外から内




目次へ

------------------------------------------------------------------------
背景/壁紙の設定

style ファイルは、'background:' により背景/壁紙を設定します。

   
背景/壁紙を設定したくない場合は style ファイル内に、
    background: none
と、書いておきます。


   
以下の
    <color>、<colot-to> は、色彩 指定の方法で、
    <texture> は、陰 影の種類と、グラデーション種別で、
指定します


背景の設定:
  色彩、色彩のグラデーション、パターンを使って、背景を描画する場合は、以
  下の項目を設定します(fbsetroot コマンド同等の機能で背景が描画されます)。

背景を単色で描く:  以下の 2項目を設定します。
    background: solid
    background.color: <color>

背景をグラデーションで描く:  以下の 3項目を設定します。
    background: gradient <texture> グラデーションの種類
    background.color: <color> 開始色
    background.colorTo: <color-to> 終了色

背景を格子パターンで描く:  以下の 5項目を設定します。
    background: mod
    background.color: <color> 線の色
    background.colorTo: <color-to> 下地の色
    background.modX: <x> 整数値
    background.modY: <y> 整数値
        <x>、<y> の数値は 2 〜 16 を指定します。
       
格子パターンは、<color-to>色の画面を 16ピクセル毎に縦横に分割、
更に各単位を、縦<y>、横<x>ピクセル毎に<color>色の線で分割します。
16/<x>、16/<y> の剰余が 0 の場合は 等間隔に分割、そうでない場合
は、縦は<y>ピクセル毎、横は<y>ピクセル毎と剰余分とに分割されます。


壁紙の設定:
デスクトップに壁紙(画像ファイル)を貼る場合は、以下の項目を設定します。
(fbsetbg コマンド同等の機能で壁紙が設定されます)
       
以下の、<file> は画像ファイル名、<directory> は画像ファイルを
納めたディレクトリ名です


画面サイズと同じ大きさの画像を使用: 以下の 2項目を設定します。
    background: pixmap
    background.pixmap: <file>
        例: background.pixmap:  ~/.fluxbox/background/wallpaper1.jpg

画面サイズと違う大きさの画像を使用: 以下の 3項目を設定します。
    background: pixmap
    background.pixmap: <file>
  以下の 4つの内のいずれか一つで、画像の配置方法を指定します。
    background: centered
        原寸で中央に
            (画面サイズより小さい場合。大きい場合は fllscreen と同じ)
    background: aspect
        縦横比を保持して画面サイズに拡大縮小
    background: tiled
        原寸でタイル状に端から並べる(画像サイズが小さいパターン画像など)
    background: fullscreen
        縦横比を無視して画面サイズに拡大縮小

指定ディレクトリ内の任意の画像を使用: 以下の 2項目を設定します。
    background: pixmap
    background.pixmap: <directory>
        例: background.pixmap:  ~/.fluxbox/background
  画面サイズと違う大きさの画像が有る場合は、前項同様に画像の配置方法を指
  定します。

※ fluxbox では root ウィンドウに壁紙を貼り付けるのに fbsetbg コマン
ド(fluxbox パッケージ付属)を使用しています。
fbsetbg はそれ自体は壁紙貼り付け機能は持たず、chbg、xsri、display、
Esetroot、wmsetbg、xsetbg、xli、qiv、xv、feh、hsetroot、icewmbg
等の画像表示アプリの内のいずれかを呼び出す事によって、root ウィンドウ
に壁紙を貼り付けています。

上記各画像表示アプリの内、メニューやウィンドウタイトルなどの背景透過
機能を利用するには、背景透過機能を持ったアプリが必要になります。
充分にこの機能を利用できるのは、xsri、Esetroot コマンド(Eterm パッ
ケージに付属)、wmsetbg (WindowMaker パッケージ付属)、feh(単独パッ
ケージ)等です。
Eterm、WindowMaker ユーザーで無い方には、パッケージサイズの小さい
feh のインストールをお奨めします。(vine の fluxbox パッケージでは
feh を依存パッケージとして指定しているので、自動的にインストールさ
れます)


目次へ

------------------------------------------------------------------------
スタイルファイルを使わない壁紙の設定

※壁紙をスタイルファイルと切り離して設定したい場合は、以下のような設定を
して置いて下さい。

   
・[Fluxbox] - [Vineツールメニュー] - [Style旧書式有効/無効]
  を無効に設定する。
・使用する可能性の有るスタイルファイルの "background" の項を、
      background: none
  と書き替える。
  ※システムスタイルを変更したい時は、
      /usr/share/fluxbox/styles
      /usr/share/fluxbox/styles2
  から、
      ~/.fluxbox/styles
  にコピーして、修正します。


以上の設定により、style を切り替えた場合にも、先に設定した壁紙が変更され
なくなります。


コマンドラインから設定す る:


  背景/壁紙を設定するには、
   
fbsetroot / fbsetbg
  コマンドを使います。

  書式:
   
背景を単色/グラデーション/格子パ ターンで描画

  fbsetroot コマンドを使用

  ※<color>、<color-to> は、色彩 指定の方法をご覧下さい。

  fbsetroot 書式:
  1.fbsetroot -solid <color>
    背景を単色で描きます。
    例:

fbsetroot -solid DarkBlue

      ※例:の緑 字部分は、トリプルクリックでコピーし、xterm
        等に中クリックで貼り付けることが出来ます。

  2.fbsetroot -gradient <texture> -from <color> -to <color-to>
    背景をグラデーションで描きます。
    <textur>には、
        Flat、Raised、Sunken
    の何れかと、
        Horizontal、Vertical、Diagonal、Crossdiagonal、Pipecross
        Elliptic、Rectangle、Pyramid
    の何れかを接続して指定します。
    例:

fbsetroot -gradient RaisedPyramid -from black -to  blue

  3.fbsetroot -mod <x> <y> -fg <color> -bg <color-to>
    背景を格子パターンで描きます。
    例:

fbsetroot -mod 14 7 -fg Orange4 -bg DarkBlue

  fbsetbg コマンドを使用

    fbsetbg -b に続けて、fbsetroot のオプションを指定します。
    例:

fbsetbg -b -solid DarkBlue

   
背景を単色/グラデーション/格子パターンで描画する際に、
    fbsetbg -b ・・・
を使う利点は、~/.fluxbox/lastwallpaperとして記録され、
fbsetbg -l で再現可能な事です。

※下記 fbsetbg 書式 3 参照


背景に壁紙画 像を表示

  fbsetbg コマンドを使用

  fbsetbg 書式:
  1.fbsetbg -c|a|t|f <file>
    <file> 画像ファイル名
    -c  原寸で中央に
    -a  縦横比を保持して画面サイズに拡大縮小
    -t  原寸でタイル状に端から並べる
    -f  縦横比を無視して画面サイズに拡大縮小
    例:

fbsetbg -f /usr/share/fluxbox/backgrounds/muscat.jpg

  2.fbsetbg -r <directory>
    -r  <directory> 指定ディレクトリ内の画像をランダムに使用
    例:

fbsetbg -r /usr/share/fluxbox/backgrounds

  3.fbsetbg -l
    -l  前回 fbsetbg で使用した壁紙を使用
        前回 -r オプションで実行された場合は <directory>
        の別の壁紙を使用
        ※-l オプションは、実際には ~/.fluxbox/lastwallpaper
        を参照し、前回の壁紙を表示します。
    例:

fbsetbg -l

   
各オプショ ンスイッチ文字を大文字に変えた場合(例: -c → -C)
は、 ~/.fluxbox/lastwallpaper に記録されません。



メニューから設定する:


  壁紙メニューを有効にする

     
~/.fluxbox/menuconfig の

    # BACKGROUNDMENUITEM=yes
    # BACKGROUND_DIRS=...

をアンコメント(行頭の '# 'を削除)する。
必要に応じて、BACKGROUND_DIRS にパスを追加/削除する。
※通常はアンコメントだけで充分です

  以上を行った上でメニュー再作成すれば、[壁紙]メニューが有効になりま
  す。

  壁紙メニューで設定した壁紙は、ログイン時に再設定の必要が有ります。
  壁紙メニューでの選択の手間を省くには、usermenu で設定をしておけばい
  いでしょう。

  usermenu で設定する
      前回設定した壁紙は、fbsetbg を "-l"  オプションで呼び出す事がで
      きます(上記書式の "-l" オプションをご覧下さい)。
      ~/.fluxbox/usermenu を直接編集し、"fbsetbg -l" コマンドを直接登録
      する事も出来ますが、ここでは addapps ファイルを利用する方法を紹介
      します。

      まず以下のような簡単なスクリプトを準備し、"fbsetbg_l" という名前
      で実行パスの通ったディレクトリに 保存しておきます。
         
#!/bin/sh
exec fbsetbg -l
          ※スクリプトには必ず実行属性をあたえておいて下さい。
          例: $ chmod u+x ~/bin/fbsetbg_l


      ~/.fluxbox/addapps ファイルの SUBMENU の箇所を以下のように編集
      し、"fbsetbg_l" スクリプトをメニューに追加する準備をします。
         
SUBMENUNAME1="Desktop menu"
SUBMENU1="fbsetbg_l"
      メニュー再作成すれば、
         
[Fluxbox] - [Desktop menu] - [fbsetbg_l]
      が有効になります。


startup で設定する:

  ログイン時に壁紙を設定するには、~/.fluxbox/startup を編集し、
      exec /usr/bin/fluxbox
  と書かれた行より前に、
     
fbsetbg -l
  を書き加えておきます。
  これで前回ログイン時に最後に設定された壁紙が、ログイン時に表示されるよ
  うになります。


init で設定する:


  fluxbox を再起動するたびに前回の壁紙を利用するには、init ファイルを利
  用します。
  ~/.fluxbox/init の 'rootCommand' の箇所を、以下のように書き換えます。
     
session.screen0.rootCommand:  fbsetbg -l


lastwallpaper を有効利用する:

  fbsetbg の "-l" オプションはとても便利なオプションですが、このオプショ
  ンが参照する /.fluxbox/lastwallpaper は、fbsetbg を実行するたびに自動
  に 書き替えられます。

  この為、色々な壁紙を [壁紙]メニューで試したいような場合、試した壁紙の
  中から、最終的に lastwallpaper に設定する壁紙を選ぶには、"壁紙のファイ
  ル名"を「記憶」しておく必要が有ります。

  [壁紙]メニューが複数のパスを含むような場合、これでは少し不便なので、ち
  ょっとした"スクリプト"の作成と、"メニュー"に手を加える事で、「記憶」を
  自動化する方法を紹介します。

  1.以下のような二本のスクリプトを用意し、実行パスの通ったディレクトリ
  保存しておきます。

      ファイル名 "backup_lw"    機能:lastwallpaper のバックアップ
     
#!/bin/sh
cp ~/.fluxbox/lastwallpaper ~/.fluxbox/lastwallpaper.backup

      ファイル名 "restore_lw"   機能:バックアップの書き戻しと表示
     
#!/bin/sh
cp ~/.fluxbox/lastwallpaper.backup ~/.fluxbox/lastwallpaper
fbsetbg -l
        ※スクリプトには必ず実行属性をあたえておいて下さい。
        例: $ chmod u+x ~/bin/backup_lw


  2.~/.fluxbox/addapps で以下のように設定後、[メニュー再作 成] を実行し
  ておきます。
    ※usermenu で設定するでの設定に赤字の部分を追加しています。

     
SUBMENUNAME1="Desktop menu"
SUBMENU1="fbsetbg_l backup_lw restore_lw"

  上記 1、2 を実行後、コマンドライン[壁紙]メニューで、壁紙を表示させ、
  気に入ったものが有れば、メニューの
     
[Fluxbox] - [Desktop menu] - [backup_lw]
  で lastwallpaper のバックアップを取っておきます。

  色々の壁紙を試した後、メニューの
     
[Fluxbox] - [Desktop menu] - [restore_lw]
  を実行すれば、バックアップが lastwallpaper に書き戻され、壁紙に設定さ
  れます。

  ※上記スクリプトではバックアップは一階層のみですが、工夫次第で複数のバ
  ックアップを利用することも可能でしょう。

  以下は三階層のバックアップを作る例です(~/.fluxbox/addapps の設定、使い
  方は先の例と同じです)。

      "backup_lw"
     
#!/bin/sh

#バックアップファイルが無 い場合、仮のックアップファイルを作成
if ! [ -a ~/.fluxbox/lastwallpaper.backup ]; then
    cp ~/.fluxbox/lastwallpaper ~/.fluxbox/lastwallpaper.backup
fi

if ! [ -a ~/.fluxbox/lastwallpaper.backup2 ]; then
    cp ~/.fluxbox/lastwallpaper.backup ~/.fluxbox/lastwallpaper.backup2
fi

if ! [ -a ~/.fluxbox/lastwallpaper.backup3 ]; then
    cp ~/.fluxbox/lastwallpaper.backup2 ~/.fluxbox/lastwallpaper.backup3
fi

#バックアップファイルを三本まで登録 (古いものは上書きされる)
cp ~/.fluxbox/lastwallpaper.backup2 ~/.fluxbox/lastwallpaper.backup3
cp ~/.fluxbox/lastwallpaper.backup  ~/.fluxbox/lastwallpaper.backup2
cp ~/.fluxbox/lastwallpaper         ~/.fluxbox/lastwallpaper.backup


      "restore_lw"
     
#!/bin/sh

#バックアップファイルが無 い場合、仮のックアップファイルを作成
if ! [ -a ~/.fluxbox/lastwallpaper.backup ]; then
    cp ~/.fluxbox/lastwallpaper ~/.fluxbox/lastwallpaper.backup
fi

if ! [ -a ~/.fluxbox/lastwallpaper.backup2 ]; then
    cp ~/.fluxbox/lastwallpaper.backup ~/.fluxbox/lastwallpaper.backup2
fi

if ! [ -a ~/.fluxbox/lastwallpaper.backup3 ]; then
    cp ~/.fluxbox/lastwallpaper.backup2 ~/.fluxbox/lastwallpaper.backup3
fi

#バックアップファイルを lastwallpaper に書き戻し、壁紙として表示
cp ~/.fluxbox/lastwallpaper.backup ~/.fluxbox/lastwallpaper
fbsetbg -l

#三本のバックアップファイ ルを入れ替える
cp ~/.fluxbox/lastwallpaper.backup3 ~/.fluxbox/lastwallpaper.tmp
cp ~/.fluxbox/lastwallpaper.backup2 ~/.fluxbox/lastwallpaper.backup3
cp ~/.fluxbox/lastwallpaper.backup  ~/.fluxbox/lastwallpaper.backup2
cp ~/.fluxbox/lastwallpaper.tmp     ~/.fluxbox/lastwallpaper.backup
rm ~/.fluxbox/lastwallpaper.tmp


目次へ

------------------------------------------------------------------------

主要テーマサイト

http://tenr.de/styles/

http://browse.deviantart.com/customization/skins/themes/fluxbox/

http://customize.org/fluxbox

http://www.boxshots.org/style/

http://box-look.org/


目次へ


------------------------------------------------------------------------

スタイルファイルのトラブルシューティング

テーマサイトなどから落としてきたスタイルファイルは、そのまま使用可能
なものも有りますが、いくつかの理由で正常に表示されない場合もあります。

    フォント指定
    画像収納ディレクトリ指定

等は、PC環境に依存する場合が有り、又、古いスタイルファイルの場合、
使用中の fluxbox に適合しない設定がされていることも有ります。

    「スクリーンショットが気に入ってるんだけど...」

こんな時も、諦める必要は有りませんは、以下のような簡単な修正で、殆ど
の場合利用できるようになります。

・日本語が文字化けする

    指定フォントがインストールされていない、又は日本語に対応していな
    い可能性が有ります。
    font-family の指定を外すか、適切なフォントに書き換えてください。

           例:
           *Font:    -*-lucidatypewriter-medium-r-*-*-*-100-*-*-*-*-*-*
              サイズを考慮し、以下のように書きかえます。
           *Font:    *-7

・背景画像やウィンドウボタン等の pixmap が正常に表示されない

     画像ファイルの収納パスが現在の環境に不適合な可能性が有ります。
     落としてきたスタイル内の画像ファイルが実際に保存されているパス
     に書き換えてください。(絶対パスで指定するのが確実です)

           例:
           background.pixmap:    /usr/local/share/pixmap/backgrounds/bg1.jpg
              実際に画像ファイルを納めたパスに書きかえます。
           background.pixmap:    /home/hoge/.fluxbox/backgrounds/bg1.jpg

・背景(壁紙)が表示されない 2

     style ファイル内で rootCommand: を使って壁紙を表示するように指
    示してある場合は、そのままでは表示されません。
       ルートメニュー → Fluxboxメニュー → Vineツール
         → RootCmds代行スクリプト生成

    を実行し、
       ルートメニュー → Fluxboxメニュー → Vineツール
         → Style旧書式有効/無効

    で、旧書式への後方互換を有効にしておく必要があります。

    この場合でも、
        インストールされていない壁紙セッター(背景表示コマンド)が使われていて表示
        されない。
        メニューやターミナルエミュレータ等の背景透過機能が利用できない。

    などの不具合が起こる事が有ります。
    このような場合は、前もって styleファイルを編集し、fbsetbg、
    fbsetroot に書き替えて置きます。

        例:
        rootCommand: bsetbg -full ~/.fluxbox/backgrounds/wp1.jpg
            bsetbg に不都合が有る場合、fbsetbg に書き替えます。
        rootCommand: fbsetbg ~/.fluxbox/backgrounds/wp1.jpg

        ※ $ perl -pi -e 's,([^f]|^)bsetbg,fbsetbg,' <file>
        により、
<file> の bsetbgfbsetbg に 書き替える事が出
        来ます。("$ fbsetbg -p" による Tips より)
       

    ※この方法で旧書式を有効にした場合、style 指示の背景/壁紙を正
    常に表示するには、スタイル切り替え毎に、メニューから fluxbox
    を再起動する必要が有ります。

    最も確実に表示させるには、background.pixmap: を使った、新書式
    に書き替え、旧書式を無効にして置きます。

        例:
        rootCommand: bsetbg -full ~/.fluxbox/backgrounds/wp1.jpg
            background.pixmap:を使った新書式に書き替えます。
       
background.pixmap:    ~/.fluxbox/backgrounds/wp1.jpg

    但し上の方法の場合は、rootCommand: からスクリプトやアプ
    リケーションをなどを呼び出すような事はできません。
    必要なら、新旧書式のどちらかを選択出来るようにして置く方法も
    有ります。

        例:
        rootCommand: bsetbg -full ~/.fluxbox/backgrounds/wp2.jpg & gkrellm -w
            新旧の二つの書式で併記しておきます。
        rootCommand: fbsetbg ~/.fluxbox/backgrounds/wp2.jpg & gkrellm -w
        background.pixmap:   ~/.fluxbox/backgrounds/wp2.jpg

    上のように書いて、RootCmds 代行スクリプト生成を実行しておけば、
    メニューから、Style旧書式有 効/無効を切り替えて、どちらにも対
    応させる事ができます。


目次へ






------------------------------------------------------------------------

素顔の fluxbox

基本色: DarkGray
文字色: White
フォント名、フォントサイズ: X のデフォルト値

戻 る














------------------------------------------------------------------------
実行パスの通っ たディレクトリ

実行パス上にある実行可能ファイルは、ファイル名だけで実行する事が出来ます。
$ echo $PATH の実行で、現在設定されている実行パスが表示されます。

通常は /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin 等が設定されています
が、一般ユーザー権限で気軽に自作スクリプトを実行できるように、ホームディ
レクトリ内に実行パスを通しておけば便利です。

ログインシェルの初期化ファイルに $HOME/bin を追加しておけば、$HOME/bin
に置いたスクリプトは、ファイル名だけで実行可能になります。

例:ログインシェルが bash の場合は、~/.bash_profile に、
    PATH=$PATH:$HOME/bin
を書き加えておきます。

------------------------------------------------------------------------
スタイルファイルの後方互換性

fluxbox の style ファイルでは、かって "RootCommand" という項目が有り、
スタイル切り替え時に、任意のコマンドが実行可能でしたが、"RootCommand"
の主要用途である「壁紙設定」を実行する "Background" が新設された事によ
り、廃止されました。

Vine Linux の fluxbox パッケージでは、廃止された "RootCommand" の、
紙設定以外のコマンドもスタイル切り替え時に実行出来る機能
を、実現す
る為、後方互換性として、擬似的に "RootCommand" を実行するツールを用意
しています。
ツールの一つは、
      
 ルートメニュー → Fluxboxメニュー → Vineツール
     → Style旧書式有効/無効
により、後方互換性を有効にするかどうかを選択する事ができます。
次のツールでは、
      
 ルートメニュー → Fluxboxメニュー → Vineツール 
     → RootCmds代行Script生成
により、各 style ファイル内の "RootCommand" 行を吸い出し、擬似的に
"RootCommand" を実行するスクリプト($HOME/.fluxbox/change-rootcmd)が生
成されます。
このツールで生成されたスクリプトは、通常は、スタイル切り替え時に即実行
される訳ではなく、再ログインした時に実行される ~/.fluxbox/startup によ
り自動実行され、現在の style が "RootCommand" 行を含む場合は、上のスク
リプトにより、"RootCommand" 相当のコマンドを実行されるように仕組まれて
います。
なお、スタイル切り替え後、すぐに "RootCommand" 行を適用したい時は、メ
ニューの、
      
 ルートメニュー → Fluxboxメニュー → Vineツール 
    
→ 旧styleを適用
を実行するか、~/.fluxbox/keys で、~/.fluxbox/change-rootcmd スクリプト
に、任意のキーをバインドする事により、再ログインする事なく適用可能とな
ります。
      
 keys への記述例:
    Control Shift 2 :Exec $HOME/.fluxbox/change-rootcmd 
    * 新規ユーザーの keys には、このバインドが既に設定されています

* 従来からのユーザーで、この機能を利用したい方は、~/.fluxbox/startup と
~/.fluxbox/keys をリネーム後、再ログインすれば、新規 startup と keys
が自動生成されますので、リネーム退避したファイルから必要な項目を書き戻
すなどの工夫を加えて、ご利用下さい。



ページ先頭へ

index へ





inserted by FC2 system