How My Heart Sings

Sun, 14 Sep 2008

最近のFinder.appに対する不満と、その解決

…何が不満といって、サイドバーが使い勝手が悪くてしょうがない。いくつもウィンドウを開いていると邪魔でしょうがないし、アイコンも小さいよ。大きくしたりできないし、かといって表示しないでおこうとすると、ツールバーまで隠れてしまうし。ツールバーは使いたいけれど、サイドバーなんかイラネ。

このほどさように、最近のFinder.appは気に入らなかったのですが、つい最近、発想の転換をしまして、少し気が楽になったというか…

まずもう、デスクトップとか直接見ないようにする。デスクトップに表示されているディスクとか、ただの飾りです。ウィンドウはボコボコ開かない、全画面に常にひとつだけウィンドウを表示しておき、閉じない。何かの加減でウィンドウを開いたりしたとしても、不要になったらすぐ閉じる。ファイル階層を見る、ファイルやフォルダの移動、コピーもエイリアスを作るのも、このひとつのウィンドウから行なう。今までFinder.appを何か特権的なものとして捉えていたけれど、そうじゃないんだ。サイドバーも徹底的に活用する。フォルダを登録したり後はスマートフォルダとか、少ないステップで目的のものに到達できるようにする。起動項目に以下のスクリプトを入れておく。

tell application "Finder"
        activate
        close every window
        open home
        --make new Finder window
        --set target of Finder window 1 to home
        set bounds of Finder window 1 to {10, 48, 1671, 893}
        set (icon size of icon view options of window 1) to 96
end tell

それにしても、上のようなAppleScriptを書くのにも、けっこう時間がかかってしまいました。Script Editor.appから記録してやれば良い部分もありましたが、「全てのウィンドウを閉じる」部分で躓きました。

後は、コンテキストメニューからファイルをコピー、移動、エイリアスを作るAutomatorプラグインとかを書きました。ありがちなものなので、サンプルはいくらでもみつけられました。ただ、ファイル/フォルダのコピーを任意の場所に、というのはSystem Eventsを使ったものになっています。マウントしたディスクイメージをコピーできなかったので、こういう方法になってしまいました。どれも動作速度の点で少し不満がありますが、おおむね満足して使っています。

on run {input, parameters}
        
        tell application "Finder"
                activate
                tell application "System Events"
                        keystroke "c" using {command down}
                end tell
                
                --set aResult to choose folder default location home as alias
                set target of Finder window 1 to (choose folder default location home as alias)
                
                tell application "System Events"
                        keystroke "v" using {command down}
                end tell
                
        end tell
        
        return input
end run
on run {input, parameters}
        try
                if length of input is not 0 then
                        tell application "Finder"
                                set aDest to (choose folder)
                                move input to aDest replacing no
                                --move input to desktop
                        end tell
                else
                        display dialog "No Selected items" buttons {"OK"} default button 1
                end if
        end try
        return input
end run

on run {input, parameters}
        
        try
                if length of input is not 0 then
                        tell application "Finder"
                                set aDest to (choose folder)
                                make new alias file to input at aDest
                        end tell
                else
                        display dialog "No Selected items" buttons {"OK"} default button 1
                end if
        end try
        
        return input
end run

Meta Infomation of this entry

You can add this Entry to your  はてなブックマーク and Delicious

Comments

Posted by やました at Tue Sep 16 23:03:47 2008
moveをduplicateに替えると、volumeであってもコピーしてくれることを確認。…こんなのあったっけ。

Add Comment...

スパム対策のため、一ヶ月を経過したエントリにはコメントを書き込めないのです…後、http:と書くこともできません。

Name:

Comment:

Le violon intérieur....
Yasuo Yamashita
vaiorinnhiATTOnaDOTrimDOTorjye-pi-
Y.A.S.U.O Ytterbium Artificial Sabotage and Utility Organism Y.A.S.U.O Yelling Abomination from the Sunless Underground Oasis

Pyblosxom and plugins. For detail, see http://viole.sakura.ne.jp/blosxom/blosxom.cgi/plugin_info