<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://tres-graficos.jp/blog/rss/style.css" type="text/css"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:content="http://purl.org/rss/1.0/modules/content/"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xml:lang="en">
<channel rdf:about="http://tres-graficos.jp/blog/rss/1.0.php?id=435">
<title>TG BLOG</title>
<link>http://tres-graficos.jp/blog/index.php</link>
<dc:date>2007-07-14T10:08:28+0900</dc:date>
<description>
TG BLOG - RSS (RDF Site Summary).
</description>
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://tres-graficos.jp/blog/article.php?id=435" />
</rdf:Seq>
</items>
</channel>
<item>
<title>Preferences Manager.js</title>
<link>http://tres-graficos.jp/blog/article.php?id=435</link>
<dc:date>2007-07-14T10:08:28+0900</dc:date>
<description>ホットキーやレイアウトの設定を書き出し／読み込みするスクリプトを公開しました。
将来的にはビルトインで実装されそうですが、スクリプトと defaults コマンドで何とかなりそうだったので作ってみました。ただ間違ったファイルを読み込ませたり...</description>
<content:encoded>
<![CDATA[
<p>ホットキーやレイアウトの設定を書き出し／読み込みするスクリプトを公開しました。</p>
<p>将来的にはビルトインで実装されそうですが、スクリプトと defaults コマンドで何とかなりそうだったので作ってみました。ただ間違ったファイルを読み込ませたりすると、最悪ウィンドウが開かなくなったりするので注意が必要です。</p>
<hr />
<p>外部から初期設定をいじる事が出来るので、OSX の 'defaults' コマンドは非常に便利なんですが、ネストされた配列や辞書の値をセットする方法がわからず、ちょっとハマりました。</p>
<p>なんの事はない、指定のフォーマットで整形した文字列をシングルクオテーションでくくってセットしてやればいいんですよね。要するに read で出力された文字列を、そのままシングルクオテーションでくくって write でセットしてやればいいみたいです。</p>
<p>配列の配列 'A', 'B' を AA というキーの値として設定するには、</p>
<div class="code">
<code>defaults write someDomain.someApp AA '( ('A','B') )'</code>
</div>
<p>ただこの方法だと、設定値の置き換えや追加にはデータを予めパースしてやらないと駄目なんだよぁ。１次元の配列や辞書の場合、オプション -array-add や -dict-add なんかで、追加ができるんですが、この場合はネストされた値には使えないみたいですね。残念。</p>

]]>
</content:encoded>
</item>

</rdf:RDF>