スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Posted at --:-- | スポンサー広告 |
2008.03.29

Safari 3.1 をシングルウインドウモードにする方法

macosxhints で Safari 3.1 を所謂シングルウインドウモードにする方法が紹介されていました。Terminal.app で次のコマンドを実行すれば設定が有効になり、target="_blank" がついたリンクをタブで開くようになります。

$ defaults write com.apple.Safari TargetedClicksCreateTabs -bool true

macosxhints の記事を読むと Safari 本体にこの機能が入ったのは 3.1 からみたいですね。他のタブブラウザでは普通の機能だし環境設定から設定できるようにしても良かったと思うんですがどうでしょうね。


スポンサーサイト
Posted at 07:52 | Application | COM(0) | TB(1) |
2008.03.22

permissions.sqlite から hostperm.1 への変換方法

凡ミスで常用している Firefox 2 のプロファイルで Firefox 3.0b4 を起動してしまった。まだ Fx3 を常用する気はないのだが、困った事に hostperm.1 は permissions.sqlite に変換された後に削除された模様。バックアップを取っていなかったが、幸い permissions.sqlite から結構簡単に復旧できたのでメモしとく。

$ sqlite3 permissions.sqlite 'select * from moz_hosts;' > hostperm.1
$ perl -pi.bak -e 's/^(\d+)\|([^|]+)\|(\w+)\|(\d)$/host\t\3\t\4\t\2/' hostperm.1

なお手順は以下の通りなので、

  1. permissions.sqlite のデータをテキストで書き出す
    例:上記の sqlite3 コマンドで書き出すとこういう形式
    1|update.mozilla.org|install|1
  2. タブ区切りの hostperm.1 形式に変更
    host	install	1	update.mozilla.org

sqlite3 や perl を使わなくとも、何らかのアプリ、例えば SQLite Manager 等で書き出してからエディターで変換してもいい。


Posted at 16:49 | Firefox | COM(0) | TB(0) |
2008.03.14

Google + SBM Greasemonkey スクリプトをアップデート

長らくほったらかしにしていたのを少しバージョンアップしました。下記のページからどうぞ。

変更点

  • AutoPagerize, oAutoPagerize に対応
  • livedoor クリップを追加
  • 他のソーシャルブックマークの追加が少し簡単に

AutoPagerize で追加されるページに適用させたくない場合は、スクリプトの13行目付近の

USE_AUTOPAGER = true;

USE_AUTOPAGER = false;

に変更して下さい。


Posted at 19:25 | Greasemonkey | COM(1) | TB(0) |
2008.03.05

DownloadComment for Firefox

スポットライトコメント

ダウンロードしたファイルのコメントにURLを貼付ける userChrome.js スクリプトです。

Safari 用のプラグインを入れてみたら結構便利だったので作ってみました。ただし osascript コマンドで AppleScript を実行するという泥臭いやり方なので、インストールが若干面倒です。もっとスマートなやり方を知っている人教えてください ><

インストール

080304_install.png

~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/chrome フォルダに上記二個のファイルを入れて、Firefox の新規ウインドウを開いて下さい。AppleScript のファイル名と場所は決めうちです。必ず chrome フォルダに WriteComment.scpt という名前で保存して下さい。うーん、我ながら最悪。

あ、userChrome.js スクリプトなので、当然 userChrome.js 拡張と Sub-Script/XUL Loader は必要です。お忘れなき様。

更新履歴

  • 2008-06-08 コードを整理
  • 2008-04-28 オブジェクトを解放していなかったのを修正

Posted at 01:32 | userChrome.js | COM(4) | TB(0) |
2008.03.02

polipo のディスクキャッシュサイズ

なんだか polipo という proxy server が流行っているみたいなんで、物は試しと Mac 用 GUI がついてる Dolipo を入れてみた。読み込みも速いし、Activity Monitor で見ても CPU とメモリーの使用量も少ない。良いんじゃないかと思って2日程使ってみたら、キャッシュサイズが1.5GB超えてる!

なんてこったと思い、ディスクキャッシュを制限する設定は無いかなとマニュアルを探してみたら…

The variable maxDiskCacheEntrySize specifies the maximum size, in bytes, of an instance that is stored in the on-disk cache. If set to -1 (the default), all objects are stored in the on-disk cache,

[Disk cache - The Polipo Manual]

Polipo never removes a file in its on-disk cache, except when it finds that the instance that it represents has been superseded by a newer version.

[Purging - The Polipo Manual]

maxDiskCacheEntrySize(単位は byte )でキャッシュする単一ファイルの最大サイズは指定できるようだが、デフォルトでは制限無し。しかもファイルが更新されるまでそのままという男前な仕様。

またメーリングリストを探すとこういう記述も見つかった。

> i wondered if it's possible to limit the total size of the cache on disk.

No. Polipo doesn't maintain an index of the on-disk cache

[Email Archive: polipo-users]

どうも polipo ではキャッシュのトータルサイズを一定に制限する方法はないらしい。そりゃ容量くうわけだ。恐らく動画サイトをよく見る人は、初期設定のままで使っていると非常にすてきな事になると思われる。

ただ polipo のキャッシュを削除する方法も一応あるらしい。

polipo -x
polipo に -x オプションを付けて実行すると、アクセスされていないファイルを削除したり、でっかいファイルを truncate(いまいち意味が分からない)出来る。
$ killall -USR1 polipo
$ sleep 1
$ polipo -x
$ killall -USR2 polipo
     
なお「アクセスされていない」の期間だが32日(dolipo では7日)と長めに設定されている。diskCacheUnlinkTime で変更可能。
polipo-trimcache スクリプト
キャッシュを指定サイズ以下にしてくれる python スクリプト。
$ polipo_trimcache-0.2.py /path/to/cache/polipo 500M
こんな感じで引数にキャッシュディレクトリとサイズを指定して実行する。cron か OS X 10.4 以降なら launchd で定期的に回すのが現実的な方法だろうか。ただしそんなに速くない。
Disk quota
polipo を特定のユーザ、例えば polipo とかで実行して、そのユーザに disk quota で制限しとくという方法。OS X で disk quota をかけられるのかどうかは知らない。

うーん、どれもかったるい。設定で「キャッシュは1GB 以下ね、それ以上になったら適当に削除しといてね!」とか出来れば良いんだが。

<追記>
dolipo 1.0.7polipo_trimcache を起動時と24時間毎に実行する機能と、キャッシュするファイルの上限(maxDiskCacheEntrySize なのかな?)を設定できるようになっています。これでディスク容量に関してはそんなに心配しなくていいかも。
</追記>

まとめ

  • polipo はキャッシュを削除しない。
  • キャッシュを削除するときは polipo -x を実行
    • diskCacheUnlinkTime を小さい値にすると多分沢山削除される。
  • デフォルトではどんなでっかいファイルもキャッシュする
    • maxDiskCacheEntrySize でキャッシュするファイルサイズの上限を指定可能
    • ただし maxDiskCacheEntrySize を超えるようなストリーミング動画等で途中から再生されなくなる場合があるかも
  • 設定の変更は Polipo configuration から
  • とりあえず polipo-trimcache を定期的に実行しとくと吉

Posted at 23:04 | Mac | COM(0) | TB(0) |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。