Frequently Asked Questions
**************************

 1. なぜ今は Sawfish と呼ばれているの?

     古い名前 (Sawmill) は既に他の企業に使われていて、商標として登録手続き中だったからです。

     改名はたいてい痛みをともないます。古いバイナリは今でも動きますが時間がたつにつれ段階的に除去されていきます。sawmill* というプログラム実行ファイルは sawfish* に置き換わっています。例えば sawmill は sawfish になり、sawmill-client は sawfish-client になっています。

     あなたの ~/.sawmill ディレクトリは既存のファイルを上書きすることなしに自動的に ~/.sawfish にリネームされます。今のところ、 ~/.sawfishrc と ~/.sawmillrc の両方ともチェックされます( 実際には一つだけ読み込まれます)。

     何らかの不具合がおきたらごめんなさい。

 2. でも何で Sawfish で <何かあなたの好きな別の名前>じゃないの?

     何か選ばなくてはいけなくて、それがまさに主な条件を満していたんです:

       * その名前を使っているコンピュータ関連のユーザがいないこと (2000 年四月現在)

       * 認知されるのに十分似た名前であること

       * ウィンドウ制御への相関が希薄でないこと[ちょっとよく意味わからず]

 3. sawfish をインストールしたのに動かないよ! X を起動するとデフォルトの点だけの画面になって何のプログラムもメニューもページャーもないんだけれど。

     期待通りの動作です。sawfish は ウィンドウマネージャ であって背景を設定したり、プログラムを起動したり、ページャーを表示したりする責任はありません。これらは他の分離されたプログラム(例えば、GNOME のようなデスクトップ環境)から呼べますし。

     デフォルトのメニューの出しかたはちょっとわかりにくいかもしれませんが、メニューを出すのにルートウィンドウで真中ボタンをクリックしないといけません (二つボタンのマウスを持っているなら両方同時に押してみましょう)。

     もしこれを読んだ後でまだあなたが sawfish が動いていないと考えるならその問題を sawfish メーリングリスト sawmill@aarg.net に投稿してみて下さい。

 4. どうやってカスタマイズしたらいいの?

     いくつか方法があります:

     ~/.sawfishrc
          手で lisp コードを書いて起動時に読み込まれるようにします。ほとんどすべての明示的なカスタマイズはここでします

     sawmill-defaults
          .sawfishrc ファイルがないときに唯一読み込まれる lisp ライブラリです

     ~/.sawfish/custom
          カスタマイズツールによって生成されたカスタマイズ保存で、マニュアルで編集してはいけません

          このファイルは sawmill-defaults の 後、.sawfishrc の 前 に読み込まれます。

 5. .sawfishrc を作ったけれど何が変ったの?

     もし ~/.sawfishrc ファイルがあれば sawmill-defaults が読み込まれなくなります。けれども sawmill-defaults はいくつかの共通のウィンドウマネージャの特性を読み込むので次の行を加えてみて下さい。

          (require 'sawmill-defaults)

     もし標準的な特性すべてを起動時に読み込みたいなら .sawfishrc ファイルは にして下さい。

 6. sawfish-client プログラムって何?

     これはウィンドウマネージャプロセスに接続し、任意の Lisp 形式を評価することを可能にします。詳細については sawfish-client -? としてみて下さい((sawfish-client - だと read-eval-print ループになります)。

     デフォルトでは(Unix ドメインソケットを用いて)ウィンドウマネージャを走らせているホストからだけ接続できます。ネットワークベースのサーバを可能にするには Lisp 形式 (server-net-init) を評価して下さい。

     これは X サーバを介して接続しますがあなたのディスプレイでウィンドウを開ける誰もが、またどんな Lisp コードもウィンドウマネージャの動いているホスト上で実行できる(そして拡大すると どんなプログラムも実行できる)ことを意味していることに注意して下さい。

     そういうわけで(あなたがネットワークに接続していない限り) X のアクセスコントロールを無効にしてネットサーバを動かさ ない で下さい。

 7. シェルコマンドを実行するにはどのようなショートカットをつくればいいですか?

     run-shell-command コマンドにショートカットを割当てて下さい。これは Edit binding ダイアログウィンドウであなたが実行したいシェルコマンドの文字列エントリを入力して保存できます。

 8. クリックしたらウィンドウが前面に出るようにするにはどうしたらいい?

     window-keymap の中のイベント Button1-Click1 を raise-window-and-pass-through-click コマンドにバインドします。

 9. Applications メニューを再定義するにはどうするの?

     Info マニュアル (see Popup Menus) の Popup Menus ノードを見て下さい。

 10. どうやって Info マニュアルを見ればいいの?

     コマンド info sawfish あるいは pinfo sawfish を実行する [pinfo は標準ではインストールされていないかもしれません]、あるいはEmacs で Info モードに入るか(C-h i) g (sawfish) RET と入力すればいいです。

     もし GNOME を使っていれば gnome-help-browser info:sawfish [日本語訳は gnome-help-browser info:sawfish-ja ] と実行してみてもいいでしょう。

 11. どうやってテーマを作るの?

     Info マニュアルの Window Frames ノードを見て下さい (see Window Frames)。

     しかし基本的には ~/.sawmill/themes/FOO というディレクトリ (FOO はテーマの名前)をつくり、画像をこのディレクトリにコピーし、読み込まれてテーマを初期化する theme.jl というファイルをつくります。

     カスタマイズツールはそのディレクトリ内の README [日本語版は README.ja] というファイル(1 行 80 文字で数行のテキスト)の内容を表示します。

     [訳注：日本語にしたい場合は、README.ja というファイルをつくります]

     最近のバージョンの sawmill は sawmill-themer というプログラムを含んでいて、これは GTK+ インターフェースを使って簡単にテーマをつくることができます。(また)Ian MckKellar が GimpMill をつくりました:

          GimpMill は James Henstrige の本当にクールな Python GIMP バインディングを使って Python で書かれた GIMP プラグインです。これは GAP 拡張がアニメーションの作成を可能にするように GIMP のインターフェースをテーマを作成できるように拡張し、GIMP の中で Sawfish のテーマを構成することを可能にします。

     GimpMill http://www.yakk.net/projects.gimpmill.html から手に入れることができます。

 12. どうやって Enlightenment のテーマを sawmill に移植するの?

     自動的な変換方法はないので利用できないです。ウィンドウの境界に使われているイメージを取ってきて、ウィンドウマネージャにそれらがどのようにウィンドウフレームを形成するのに使われるかを伝える theme.jl を書いて下さい。

     例として themes/brushed-metal を、そして Info マニュアルのドキュメントを見て下さい。

 13. どこで他のテーマを手にいれたらいいの?

     themes.org の素晴しい人々に感謝。テーマを楽しむために今や http://sawmill.themes.org/ があります。

 14. 何で GTK のテーマは sawfish といっしょに動かないのですか?

     古いバージョンの gtk-engines パッケージには問題があり、エンジンに基づいたテーマがいくつかのインタプリタ言語といっしょに動くことを妨げてしまいます。最新の gtk-engines を ftp://ftp.gnome.org/ から手に入れて下さい。

 15. なぜ GUILE を使わないのですか?

     ようは面倒だからです。 私は既に rep を書いて完全に理解しているので決して GUILE を使わないのです。また rep は GUILE では利用できないいくつかの特徴 (バイトコードコンパイル、自動読み込み、組み込みのイベントループ、 ...)を備えているからでもあります。

     でも、もちろん、あなたが私を中傷するまでもなく scheme がよりエレガントな言語であると考えています。

 16. 特性 X を加えるつもりですか?

     できる限り(そうします)。しかし、Lisp で書けるか全体の設計目標と競合しないものに限ります。

     目標というのは軽くて一般的に応用できるコアのウィンドウ制御関数をもち、すべての高等な関数を Lisp の拡張で書けるということです。

 17. 背景設定の機能を加えるつもり?

     いいえ。これは分離されたアプリケーションで簡単にできます(例えば、GNOME ヒントで単にルートウィンドウのプロパティ _WIN_WORKSPACE をモニタすればいいです)。

 18. sawmill のメーリングリストはありますか?

     はい、管理している Erik Arneson erik@starseed.com に感謝。

     講読するには majordomo@aarg.net 宛の本体にsubscribe sawmill に書いたメールを送って下さい。

     リストは http://inanna.starseed.com/sawmill にアーカイブされています。

 19. sawfish の IRC チャンネルはありますか?

     Ryan Pavlik rpav@mythosource.org のメールから:

          Sawfish は irc チャンネルも持っています! EFNet の #sawmill チャンネルです。irc クライアントを開くか、もし既に常習していれば参加して下さい。テーマ、lisp、一般的に sawfish について、そしてより雑多な他の話題歓迎です。

 20. なぜ sawfish は Solaris では奇妙に見える/クラッシュするのですか?

     Sawfish は Solaris では安定して動作しますがおそらく二つのことをする必要があります:

      1. Imlib で MIT-SHM (プログラム imlib_config を起動し、 Rendering ページの MIT-SHM オプション)を無効にして下さい

      2. configure 時に --disable-xim オプションをつけて GTK+ を再コンパイルして下さい。

 21. なぜいくつかのウィンドウはフォーカスされないの?

     オプション `ウィンドウが望んでいなくてもフォーカスを与える' がチェックされていないと(グループ フォーカス)、いくつかのウィンドウはフォーカスを要求しません。

     ウィンドウは WM_HINTS プロパティに適切に設定することでフォーカスを受け取ります。例えば gnome-terminal を xprop すると:

          WM_HINTS(WM_HINTS):
                          Client accepts input or input focus: True
                          Initial state is Normal State.
                          window id # of group leader: 0x5c00001

 22. なぜ GNOME デスクガイド / タスクリストはデスクトップの本当の状態を表示しないの?

     sawfish を再起動した後だけ起こるのですが、これらのアプレットには問題があるようです。これらは現ウィンドウ状態を見失うように見えます。

     これを直す簡単な方法は次のシェルコマンドを実行することです:

          $ save-session
          $ killall panel

     (panel を再起動するためにあなたがセッションマネージャを動かしていることを確認して下さい)

 23. bytecode-error メッセージの意味は何?

     これはあなたが Lisp 仮想マシンの古いバージョン用にコンパイルされた Lisp コードを実行しようとしているという意味です。あなたがローカルにインストールした Lisp ファイルは再コンパイルして下さい。

 24. Lisp ファイルをコンパイルするにはどうするの?

     シェルコマンドを使って下さい:

          sawfish --batch -l compiler -f compile-batch FILES...

     FILES... はあなたがコンパイルしたいファイルの名前です。

     普通は .jl 修辞句がついていて、コンパイラはコンパイルされた Lisp コードを含み、.jlc 修辞句のついたファイルを生成します。