X ウィンドウシステムのための

ドラッグ-アンド-ドロップ プロトコール

Drag-And-Drop Protocol for the X Window System

--------

ファイルのドラッグ

ドラッグ-アンド-ドロップの目的は、ユーザー が素早く、簡単に、あるプログラムから他のプログラムにデータを持って行くことであり、このためには、全てのプログラムが同じプロトコル、および同じデータ型を使う必要があります。

特に重要なデータ・タイプは、ファイルです。全てのプログラムに対し、ユーザーが、データをアクセスできるように、グラフィカルなファイルマネージャを可能な限り使いドロップされたファイルを認識することです。

UNIX は、強力なネットワークをサポートし、X は、同じスクリーンに違うマシンのファイルマネージャーを表示することをユーザーへ提供しますが、実際には、ドラッグされたそれぞれのファイルに対して URL (ホスト名を含めて)を使わなくてはなりません。より洗練されたプログラムが、ftp といった方法でファイルを受け取ることができても、シンプルなプログラムでは、ローカルで利用できないファイルを拒否します。(サンプルは,URL とディスク上にあるファイルの名をコンバートするものも含まれております)

URL あるいは URLのリストのデータ型は text/uri-list です。

ファイルマネージャが、お互いに連絡を取れるようにするには、ターゲット側でドロップされたファイルに、特定のアクションを指定することが出きるようにする必要があります。予め定義されている XdndActionCopy、XdndActionMove、および XdndActionLink のアクションは、この目的のために使われるファイル・マネージャー以外に、ターゲットは、例えば、検索したり、コンパイルしたり、ファイル対して何か別の作業を行うことを知らせるために、XdndActionPrivate に対して応答します。ファイル・マネージャーは、もしターゲットがリクエストされたアクションを受け入れるかどうか、ビジュアルなフィード・バックを提供します。(もしターゲットが XdndActionLink を受け入れた場合、小さな矢印を表示します)

これはとても重要です.ファイル・マネージャーは、しばしば、XdndFinished を受け取るまで、ブロックする必要があります。たとえば、ユーザーがローカル・ディレクトリからftp 経由でオープンされているディレクトリまで、ファイルをドラッグするならば、ユーザーは、ftp でのファイル転送が終了するまで、そのファイルを移動したり、削除することは出来ません。( もちろん、プログラムはこれらの2つのディレクトリをブロックするものではありません。)

ごみ箱にファイルをドラッグことは、特例として取り扱われなくてはなりません。この場合、最も自然のモデルとして、ユーザーが、保存するか、焼却するか、どちらかのモードをごみ箱に設定します。そして、ごみ箱は、Text/ uri-list または XdndActionAsk を受付けます。前者の方法は、「ユーザーによって選ばれたアクションを実行する」。後者の方法は、「ユーザーに、どちらのアクションを実行すべきかを要求します」。ごみ箱が、ユーザーに現在の設定について知らせるもっとも良い方法は、その外見を変えることです。

ファイルマネージャのウィンドウからファイルをドラッグするとき、ディフォルトのアクションは、XdndActionMove であります。.

他のプログラムからファイルをドラッグするとき(例えば、検索、またはコンパイルすべきファイルのリスト) 、XdndActionPrivate がディフォルトであり、ユーザーが何をするかはっきりしていないため、ファイルマネージャとごみ箱は、ユーザーにどうするかを訪ねてきます。


最終更新日 1998年9月19日

 main page へ戻る