site top fluxbox tips contact blog

Okumatsu_Hiroshi Website

last update 2010/5/19

Ideskの設定のしかた


 

INDEX




Ideskってなんなの?

Ideskは、デスクトップアイコンを描画するプログラムです。特徴としては以下が挙げられます。

    • 複数のシェルコマンドを実行
    • マウスアクションを設定可能
    • Xftフォントのアンチエイリアス
    • アイコンの擬似透明化
    • フォントエフェクト(影)
    • Snapによるアイコンの位置決め
    • マウスオーバーでキャプション表示
    • その他

メモリー消費量が少なくて(5~6メガバイトくらい)、比較的軽いウインドウマネジャー(fluxbox, openbox, windowmaker ...)に適しています。
特徴の中でも、わたしがユニークだと思う機能は「複数のシェルコマンドを実行」できることでしょうね。
以降で解説しますけど、マウスの操作の仕方で、同じアイコンから複数のコマンドを実行できるんです。


参考になるサイトを挙げておきますので、そちらも見てください。

Idesk(このサイト内のページ)

idesk.sourceforge.net - Main Page(英語)


あまりメジャーなソフトじゃないので、情報が少ないです。以下のファイルも見ることをおすすめします。

/usr/share/idesk/README



インストール

Ubuntuでのインストールは以下を見てください。

Idesk - Debian



設定ファイルをつくる

次はまず、ホームディレクトリに設定ファイルが必要です。~/.ideskrc という名前で ファイルをつくってください。


とりあえずお手本

サンプルファイルとして、/usr/share/idesk/dot.ideskrc というファイルがありますので、 これをコピーしてみましょうか。

table Config
  FontName: gothic
  FontSize: 11
  FontColor: #37CFA6
  ToolTip.FontSize: 11
  ToolTip.FontName: gothic
  ToolTip.ForeColor: #0000FF
  ToolTip.BackColor: #FFFFFF
  ToolTip.CaptionOnHover: true
  ToolTip.CaptionPlacement: Right
  Locked: false
  Transparency: 100
  Shadow: true
  ShadowColor: #000000
  ShadowX: 1
  ShadowY: 1
  Bold: true
  ClickDelay: 300
  IconSnap: true
  SnapWidth: 10
  SnapHeight: 10
  SnapOrigin: BottomRight
  SnapShadow: false
  SnapShadowTrans: 200
  CaptionOnHover: false
  CaptionPlacement: bottom
  FillStyle: fillinvert
  Background.Delay: 0
  Background.Source: None
  Background.File: None
  Background.Mode: Center
  Background.Color: #C2CCFF
end

table Actions
  Lock: control right doubleClk
  Reload: middle doubleClk
  Drag: left hold
  EndDrag: left singleClk
  Execute[0]: left doubleClk
  Execute[1]: right doubleClk
end

設定は2つのセクションになっています。
table Configはデスクトップ上の表示の設定。
table Actionsはマウスアクションの設定、です。

いくつかに分けて解説しましょう。


フォント

FontName:   Sans          => フォントの名前
FontSize:   16            => サイズ
FontColor:  #FFFFFA       => フォントの色
Bold:       true or false => 太字にするかどうか

フォントのエフェクト

Shadow:       true or false => キャプションに影を付けます
ShadowColor:  #000000       => 影の色
ShadowX:      1             => 影の横位置をピクセルで指定
ShadowY:      1             => 影の縦位置をピクセルで指定

キャプション

CaptionOnHover:   true or false         => trueにするとマウスオーバーした時だけキャプション表示
CaptionPlacement: top|bottom|left|right => キャプションを表示する位置

ツールチップ

ToolTip.FontSize:         10      => ツールチップのフォントサイズ
ToolTip.FontName:         Sans    => ツールチップのフォント名
ToolTip.ForeColor:        #0000FF => フォントの色
ToolTip.BackColor:        #FFFFFF => ツールチップの背景色
ToolTip.CaptionOnHover:   true    => マウスオーバー時だけ表示
ToolTip.CaptionPlacement: right   => 表示位置

Snapについて

Snapというのは、アイコンの位置決めに関する設定です。アイコンをドラッグ&ドロップして位置を決めるとき、 デスクトップ上に綺麗に配置できるように、Snapの幅と高さを設定します。
このSnapが無効だと、アイコンの位置を1ピクセル単位で決められますが、整列させるのに苦労することでしょう。

IconSnap:        true|false   Snapを有効にするかどうか
SnapWidth:       10           Snapの幅
SnapHeight:      10           Snapの高さ
SnapOrigin:      BottomRight  Snapの基準となる場所
SnapShadow:      true|false   この設定はどういう効果なのかよくわかりません
SnapShadowTrans: 0 to 255

その他

Locked:            true|false => アイコンのドラッグを許すかどうか
Transparency:      0 to 255   => アイコンの透明度
SingleClick:       true|false => シングルクリックを許すかどうか
ClickDelay:        300        => ダブルクリックの間隔(ミリセコンド)
FillStyle:         fillinvert => アイコンクリック時の振る舞い
Background.Delay:  0          => 以下壁紙の設定
Background.Source: None
Background.File:   None
Background.Mode:   Center
Background.Color:  #C2CCFF
CursorOver:                   => カーソルアイコンの設定(READMEを見よ)

アクション設定

Lock:       control right doubleClk => アイコンのドラッグを禁止
Reload:     middle doubleClk        => 設定をリロードする
Drag:       left hold               => アイコンをドラッグする
EndDrag:    left singleClk          => ドラッグしたアイコンをドロップする
Execute[0]: left doubleClk          => コマンド1を実行
Execute[1]: right doubleClk         => コマンド2を実行

この設定が idesk のおもしろいところ。
Execute[0]Execute[1]ときたら、Execute[2]もあるんじゃないか、と 思いませんか?
実は試してみたんです。
できました!

でも、一つのアイコンにコマンドを割り当てるのは三つが限界かな、という感じです。理論的にはできるかもしれないけど、 マウスのボタンが足りない。まあ、これ以上欲張ってもしょうがないか。

というわけで、三つのコマンド実行を可能にするアクションを少し修正しましょう。
以下にわたしの設定例を示しますので参考にしてください。

Lock:          control right doubleClk
Reload:        middle doubleClk
Drag:          control left hold      => ドラッグはコントロールキーを使う
EndDrag:       control left singleClk
Execute[0]:    left doubleClk         => これは変わらず。シングルにするとドラッグの時にコマンドが実行されてしまうので
Execute[1]:    right singleClk        => 左以外のダブルクリックはつらいのでシングルに
Execute[2]:    middle singleClk


アイコン毎に設定ファイルをつくる

ここまでの設定を踏まえて、やっとアイコン毎の設定ファイルを用意します。
ホームディレクトリに ~/.idesktop というディレクトリを作り、その中に設定ファイルを置きます。名前は 例えば editor.lnk とつけてください。拡張子に .lnk が必要です。

以下が三つのコマンドを実行するための設定ファイルです。参考にしてください。

Caption:     Editor                        => キャプション
CaptionTip:  Execute three editors         => ツールチップ
Icon:        /usr/share/pixmaps/editor.png => アイコンのパス
Width:       64                            => アイコンの幅
Height:      64                            => アイコンの高さ
X:           710                           => アイコンの横位置
Y:           720                           => アイコンの縦位置
Command[0]:  /usr/bin/SciTE                => コマンド1
Command[1]:  /usr/bin/gvim                 => コマンド2
Command[2]:  /usr/bin/gedit                => コマンド3

アイコンの位置(X, Y)は、まず適当に決めておいて、後からドラッグしたほうが楽です。
コマンド実行のマウスアクションは、先ほどの例だと Command[0] が左のダブルクリック、[1] が右のシングル クリック、[2] が真ん中のシングルクリックでした。

注意! シングルクリックを割り当てるときは、SingleClick:true にする必要があります。お忘れなく。




スクリーンショット

いくつかのアイコンを設定してデスクトップに置いたスクリーンショットです。


idesk_screen_shot.png



スタートアップの設定

最後に、fluxbox スタートアップ設定をしましょう。
起動時に自動的に idesk をスタートさせるには、~/.fluxbox/startup を以下の様に書き換えます。

#!/bin/sh
# fluxbox startup-script:

- 中略 -

exec /usr/bin/fluxbox &
fbpid=$!
sleep 15    => この数字は秒数。うまく表示できるように調節する。
{
idesk &   => 他に実行させたいプログラムがあればここに書く。conkyとか
} &
wait $fbpid

#exec /usr/bin/fluxbox    => これをコメントアウト

元のスタートアップファイルは fluxbox が最後にありましたね。この場合は fluxbox を先にスタートさせ、 idesk を後から起動するわけです。idesk はデスクトップに表示するわけですから、「fluxboxのデスクトップが表示されてない」のにスタートしても表示 できるわけがない、ということですね。{正確には「表示されない」わけではなく、表示はされるんです。が、ログイン時のバックグラウンド画像が アイコンのまわりにだけ残ってしまって、変な感じになってしまいます。やはり遅らせて起動した方がよいようです。}

しかし、スクリプトの決まりごととして「書かれた順番に実行して終了する」というのがありまして、普通はこの場合、idesk が起動された時点でスクリプトは終了し ます。つまり、fluxbox も終了してしまうのです。

最後の行、wait $fbpid というのはそれを防ぐためにあります。ユーザーが fluxbox を終了させるまでスクリプトの実行を続けてくださいよ、という意味 ですね。


解説はこれくらいにしましょう。
Idesk を楽しんでください。

追記 2010/5/19

Ubuntu 10.04 では、gdmのログイン・ログアウトのプロセスが速くなったので、fluxboxの起動プロセスにも少なからず影響があるようです。
上記の sleep 15 という部分ですが、もしかしたら遅らせなくてもうまく起動するかもしれません。とはいえ、ユーザーのマシンやディストリビューションの 環境に依存するのでなんとも言えません。いろいろ試して見てください。