X ウィンドウシステムのための
ドラッグ-アンド-ドロップ プロトコール
Drag-And-Drop Protocol for the X Window System
ドラッグ-アンド-ドロップ使用例
ドラッグ-アンド-ドロップは、現在、"意図することを行なうため"には、最も身近なオペレーションであり、それゆえに
デフォルトとなるような、最も自然な操作を選ぶことが重要であります。
テキストをドラッグする(またはその他のもの)
たとえ、これが DND の最も簡単な例だとしても、まだまだ不足していると言えます。
ユーザーがドキュメント内でテキストをドラッグする時、デフォルトのアクションとして自然なものが移動であります。ユーザーがテキストをコピーするのに
DND を使いたいならば、モディファイア・キーを定義する必要があります(Meta
など)。 Xユーザーは、中央ボタンのクリックが『ペースト』を、右-クリックが『現在の選択域を広げる』を期待するため、違うるマウスボタンを使うことができないかも知れません。(xterm
のデファクト・スタンダードとなっている)
もう一方では、ユーザーが他のドキュメントにテキストをドラッグするとき、デフォルトのアクションとして自然なものが、コピーであります。これはより安全な選択として、元のデータが無くなってしまわないからです。これら二つのドキュメントは、関連していないからです。ドロップの後、ターゲットが何をするかに関係なく、同様に、デフォルトとしてではなく、移動を提供するのは合理的であります。
特別のケースが、異なるパーツが、異なるアプリケーションによって取り扱われる複合ドキュメントであります。この場合、移動がデフォルトのアクションとして自然であり、ユーザーが単一のドキュメントとなるのを、理解しているからです。ユーザーは、テキストを異なるドキュメントへドラッグする時、コピーがデフォルトとなることを期待するでしょう。(ソースのXウィンドウ
ID が、XdndPosition メッセージを含む為、同じドキュメントの異なる部分にドロップするのは可能です)
二つのドキュメントが相互依存し合う時(リンクされたスプレッドシート等)、リンクが適切な選択でありますが、これはデフォルトとすべきではありません。
別のページで、詳細について述べられていますので、ここでは注意にとどめます。多くのプログラムが、ドロップを受け付けるとき(Makefile
を作るプログラム等)、ファイルマネージャーが、実際のファイル・システムを修正することを期待する、唯一のプログラムである。よって、皆さんが
text/uri-list タイプのデータを受け取るためのにも、ユーザーが行なって欲しい事を伝えるアクション(XdndActionCopy,
XdndActionMove, XdndActionLink)を伝えるためにも、これらを内部的に取り扱うファイルマネージャーのためにも、適切な設計が必要とされます。.
ごみ箱
ごみ箱は、ファイルを削除することでよく知られているメタファーを提供するファイルマネージャーの便利な拡張機能であります。これらは、面白い設計の変形として紹介されています。ごみ箱を利用する上で最も便利な方法は、ユーザーが、最初に、保存か、焼却のどちらかに設定し、その設定で、その上にファイルをドロップします。これは、ターゲットがソース代わりアクションを決めることになります。ごみ箱は、text/uri-list
を(どのようなソースからも)受けつけます。いつ、それを ~/.trash へ移動するか、削除するかを決定します。(
XdndActionAsk は、ある特定のドロップの後、ごみ箱が問い合わす事を伝えるために使われる。)
ドロップの後に起こることをユーザーに伝える最も良い方法が、ユーザーのセッティングを基に、ごみ箱がその姿を変えることです。
もし面白いサンプルがあるならば、 ご連絡ください.
最終更新日: 1998年8月17日
main pageに戻る