« マディソン大統領の肖像入り紙幣 | トップページ | 冷蔵庫の電気代 »

2014年6月30日 (月)

意図しないドラッグ&ドロップを防ぐ

Windowsのエクスプローラーを使っていて、意図せずアイコンをドラッグ&ドロップしそうになることがある。

Dnd

大抵は気づいて元に戻して事無きを得るのだが、稀に止め切れずにファイルやフォルダーを移動してしまう場合がある。それでも移動してしまったことに気付けばCtrl+Zで元に戻すことができる。これはWindows標準のUndoショートカットである。

しかし止め切れない時は一瞬の出来事で何が起きたのかすらわからない場合も少なくない。「あれ、今のは何だったんだろう」で済ませざるを得ないから、ファイルやフォルダーが行方不明になってしまう。

こう言った事故を防止するためドラッグ&ドロップをシステム的に全面禁止にしたい、なんて意見も時々出ていたが、今までそれは技術的に不可能だとされてきた。しかしやればできるものらしい。最近、意図しないドラッグ&ドロップを防止する理想的なアプリが見つかったので紹介したい。この記事はAlterDnD Version 1.0.0に基づくものである。

/*-----------  -----------*/

AlterDnD

ドラッグ&ドロップ改変ツール (AlterDnD) がそのアプリである。sourceforge.jpからビルド済バイナリーがダウンロードできる。またオープンソースなのでGNU General Public Licenseに従って改変することも可能である。

このアプリはエクスプローラーおよびデスクトップに向けられたドロップイベントを代わりに受け取り、前処理した後本来のターゲットに渡すことで機能を実現している。なるほど、ドロップされた時の挙動を制御すればドラッグ&ドロップ全体を制御したことになる。今まで技術的に不可能と言われていたことが可能になったわけで、これは立派なブレークスルーだ。ソースコードを追いかければ詳細に何をやっているか分かるはずだが、快調に動いているので手を抜いて作者の受け売りで済ませてしまった。

このアプリはかなり良いと思うのだが、その割にあまり広まっていないようなのが少し気になる。

必要性が理解されない場合があるのは事実だろう。要らないと思う人が使わないのは仕方がない。オフィス系データを失ってしまう原因の9割以上が利用者の誤操作なのでこの種のアプリ利用に消極的になる理由は無いはずなのだが、一度酷い目に遭わないと必要と思わないのも分かるような気がする。機能を使えなくしたり手間を増やしたりするアプリが役立つとの考えに至るには、それなりに理由が要る。

もう一つ広まらない理由として思い当たるのが、このアプリはあまり親切にできていないことである。スキルのある管理者が段取りすることを想定しているからなのかもしれない。そう思って使えば出しゃばらない分邪魔にならなくて良いのだが、平均的ユーザーだと入口で躓いて結局使えない場合がありそうだ。この辺を補うための簡単な解説を、作者への注文を兼ねて書いてみたいと思う。

ただし私もあまり親切ではないので、手とり足とりにはならない。悪しからず。

 

インストーラーが無い

インストーラーの無いアプリを入れるフォルダーを決めていれば別だが、そうでなければデスクトップかドキュメントフォルダーに「アプリ」フォルダーを作るのが良いだろう。その中にAlterDnDフォルダーを作ってzipファイルの中身をコピーすれば良いはずだ。正確にはzipファイルの中に入っているAlterDnD_x.x.xフォルダーの中身をコピーする。

「適当なフォルダに展開してください」と言われても、平均的なユーザーはどこに展開していいのか困ってしまうから、インストーラーは欲しいところである。

 

起動したことが分かりにくい

展開したファイルの中にあるAlterDnD32.exeまたはAlterDnD64.exeをダブルクリックすれば起動するのだが、その時ウインドウは表示されずに通知領域にアイコンが追加される。特にWindows 8.1では (多分7や8も) 通知領域オーバーフローに入ってしまい起動したことが分からない場合がある。

Icon01

起動直後にスプラッシュウインドウを1秒くらい表示し、通知領域に最小化するアニメーションがあると良いと思う。本来の機能に関係のない動作で無駄なように思えるかもしれないが、こういった事が案外使い勝手を左右するのである。

 

ログイン時に自動起動させるにはショートカットを作る必要がある

このアプリを必要な都度起動するのは稀だろう。ほとんどの場合ログオン時に自動起動させたくなるはずである。そのためには「スタートアップ」フォルダーにショートカットを作ってやる必要がある。

Startup

問題なのは「スタートアップ」フォルダーの場所が深いことだ。Windows 8.1の場合だが、ユーザー毎に設定する場合、

  • x:\ユーザー\ユーザー名\AppData\Roaming\Microsoft\Windows\スタートメニュー\プログラム\スタートアップ

すべてのユーザーに一括設定する場合は、

  • x:\ProgramData\Microsoft\Windows\スタートメニュー\プログラム\スタートアップ

である。x: は通常C: だ。一部非表示のフォルダーも含まれるため、平均的なユーザーにはハードルが高い。

アプリのメニューに「ログオン時に起動」のチェック項目があるのが理想である。

 

動作モードのディフォルト

インストール直後の動作モードは「Shift/Ctrl/Altキーを押したときのみ許可」である。

Inaction0

アプリが起動していることを忘れると、原因不明でドラッグ&ドロップが効かなくなったと勘違いする場合が無いとも言えない。そういう習慣がないとキーストロークとマウス操作を組み合わせることに思いが及ばないものである。これは起動したことを忘れないよう利用者が注意するしかないだろう。

できれば「右ボタンでドラッグした様に振舞う」をディフォルトにすべきではないかと思う。これなら画面に選択肢が出るので、誰でもどうすればよいかすぐに分かるはずである。まぁ一旦設定を変えてしまえば関係なくなってしまうのだが、だからこそ心遣いが嬉しいのではないかと思う。

更に贅沢を言うと、アプリで禁止されているドロップを行った場合にその旨のメッセージ (「Shift/Ctrl/Altキーを押さないとドロップできません」など) をマウスポインターの近くに一定時間表示してもらえれば最高だ。

 

今回のまとめ

平均的なユーザーに使い易くするために私ならどうするかと考え、いろいろ注文を付けた。これは期待の表れである。

|

« マディソン大統領の肖像入り紙幣 | トップページ | 冷蔵庫の電気代 »

パソコン・インターネット」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 意図しないドラッグ&ドロップを防ぐ:

« マディソン大統領の肖像入り紙幣 | トップページ | 冷蔵庫の電気代 »