How My Heart Sings

Sun, 14 Sep 2008

ブックマークを特定のアプリケーションに縛りつけない

ウェブブラウザは自分的にはOmniWeb.appで決りなのですが、今後もそうであるかは分りません…Safari.appは常に、システムとの親和性や速度でOmniWeb.appを脅かしています。ということで、ブックマークはWeb Locationファイルとしてそれらの外に置いておこうと思いました。

最初がOmniWeb.appの例、次がSafari.appの例です。最初の部分以外は共用です。ベージのタイトルに「:」が入っていると、名前を付けるときにまっきんのファイルシステムの規則とかちあってしまうので、全角文字に置き換えています。ハマったのはここくらいでしょうか。

できあがったhoge.weblocはダブルクリックしても良し、Dockのアイコンにドロップしても良し。

set aURL to ""
set aTitle to ""

tell application "OmniWeb"
        if not (browser 1 exists) then
                beep
                return
        end if
        
        set aFrontMostDocument to browser 1
        set aURL to address of aFrontMostDocument
        set aTitle to name of aFrontMostDocument
        
end tell

--set the clipboard to aTitle & return & aURL

set aOldDel to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
set aTitle to every text item of aTitle
set AppleScript's text item delimiters to ":"
set aTitle to text of aTitle as text
set AppleScript's text item delimiters to aOldDel

tell application "Finder"
        --activate
        set webloc to make new internet location file to aURL at "hoge:Users:hoge:Bookmarks" with properties {name:aTitle}
end tell

tell application "Safari"
        if not (document 1 exists) then
                beep
                return
        end if
        
        set aFrontMostDocument to document 1
        set aURL to URL of aFrontMostDocument
        set aTitle to name of aFrontMostDocument
        
end tell

Meta Infomation of this entry

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

最近の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

Sun, 24 Aug 2008

spurl.netとJoltMarkへブックマークするリンクを廃止、新Deliciousへの対応

今まで、エントリをブックマークしていただくためのリンクとして、いつつのソーシャルブックマークを設定していましたが、今回それらを見直すことにしました。これは、自分自身が使うブックマークサービスの取捨選択とも関係するのですが…

具体的には、del.icio.usが新Deliciousへ移行したことに対する対応と、spurl.netJoltMarkの使用停止、このふたつを行ないました。

JoltMarkには特別思い入れとかはなく、最近負荷が高いのか上手くブックマークできない状態が続いているために切っただけですが、spurl.netは…タグ付けと階層管理のふたつの切り口からブックマークを管理する方法が気に入っていたので非常に残念なのですが、近年は大量のスパムによって荒されたために、ソーシャルブックマークとしての機能を停止したままの状態が長く続いているので、もはやこれまでか、と。

次は、これも負荷が高いのかホットエントリ等のフィードが取れないことがままある1470.netが整理の対象かな、と考えております。って結局、はてなとDeliciousが残るのか…

Meta Infomation of this entry

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

Sun, 17 Aug 2008

KEditとosascript

ひさしぶりにまっきんの話題。iMac買うたので。

KEditで使うために、以下のようなものを書いてみました。KEditからosascriptを使う、というもののとっかかりです。

#!/bin/sh
`osascript << EOF
on run
        tell application "KEdit"
                if not (document 1 exists) then
                        beep
                        return
                end if
        end tell
end run
EOF`

…帰ってきません。KEditがハングします。この例なら素直にAppleScriptで書けば良いのですが…こんなテストをしようとしたのは、次のようなAppleScriptを書こうとして、途中で面倒になってきたからです。リストを表示させて、その値によって挿入する文字列を変えようとしたのは良いのですが、ここからif文を延々書いていかなきゃならないのか、case文とか使えたら良いのに、AppleScriptじゃなくShellScriptだったら、と。あ、この例では、リストの返り値をそのまま文字列として挿入しています。

set aResult to ""

tell application "SystemUIServer"
    activate
    try
        set myList to {
            "Language=czech", 
            "Language=german", 
            "Language=english", 
            "Language=spanish", 
            "Language=french", 
            "Language=italian", 
            "Language=japanese", 
            "Language=latin", 
            "Language=polish"}
        set aResult to (choose from list myList default items "Language=en") as string
    on error
        beep
    end try
    
end tell

tell application "KEdit"
    if not (document 1 exists) then
        beep
        return
    end if
    activate
    tell document 1
        set selectedText to selected text
        if selectedText is not "" then set aResult to selectedText
        set selected text to aResult
    end tell
end tell

Meta Infomation of this entry

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

Wed, 23 Jul 2008

ストーカー(密猟者)、あるいは願望機

文学好きの岩波さんにお勧めされたので、買うてきました。アルカジイ&ボリス・ストルガツキーのストーカー、早川書房。

4150105049

ストーカー
ASIN: 4150105049 Buy at Amazon,co.jp

原題は路傍のピクニック。アンドレイ・タルコフスキーの同名映画の元ネタ。ストルガツキー兄弟の書いたシナリオのタイトルは願望機。異星人が残したと思しきというか人類の理解を越えずぎているから多分そうなんだろう的な品々が転がる「ゾーン」と、その周囲でのたくるかしこやらアホな人間たち。かしこな人々は人類の進歩がどうとか、アホな人々は金になるからといってそこにある品々を持ち出す。ゴールドラッシュみたいだがただし、「ゾーン」の中は重力異常とか時間の流れが変とかはあたりまえで、入って出てくるだけでも命懸け。何かしらんが地面のこの染みを踏むと良くないことがおこる、この道を通った奴は挽肉にされるがその後しばらくは大丈夫(しばらくってどれだけの間だ?)、ストーカーの子供は不具になる…

…以下は自分語り。はじめて読んだのは高校生の頃。早川文庫で一冊だけ残すならこれか山尾悠子の遠近法だと信じるくらいむちゃくちゃ影響を受けてあげくふたつを混ぜこぜにしたような小説を一本でっちあげそれが学内誌にとはいえ掲載されたりしたのも嬉し恥し良き思い出なわけだが。てゆーか、この傑作が1983年の初版からこっち八刷しかなっていないなど信じられないがその他の蟻塚のかぶと虫にせよ収容所惑星にせよ苦労して入手したは良いがとんでもなく退屈なしろものであってがっかりだったからさもありなんというかじぶんがエスエフに嵌らなかったのはこのせいだとおもうんだ。でも、最後の一文を覚えていていまでも忘れていない。

すべてのものに幸福をわけてやるぞ、無料で。だから、だれも不幸なままで帰しゃしないぞ!

願望機が叶えてくれるのは心の一番底にある願いだけ。

Meta Infomation of this entry

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

<<  Page 8 of 131  >>

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