<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tofu &#187; Opera</title>
	<atom:link href="http://tofu.im/blog/category/opera/feed/" rel="self" type="application/rss+xml" />
	<link>https://tofu.im/blog</link>
	<description>Tofu is the best food all around the world!</description>
	<lastBuildDate>Sun, 29 Apr 2012 07:58:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Opera snapshots checker v3</title>
		<link>https://tofu.im/blog/2011/09/27/opera-snapshots-checker-v3/</link>
		<comments>https://tofu.im/blog/2011/09/27/opera-snapshots-checker-v3/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 00:08:29 +0000</pubDate>
		<dc:creator>Csineneo</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://tofu.im/blog/?p=1361</guid>
		<description><![CDATA[以前寫的 checker 都是 php 的，早起無事，折騰下，用 shell 重寫個。 #! /bin/bash &#160; url=http://snapshot.opera.com/windows/latest dir=/ls.tl/check &#160; win=`curl -s -I $url &#124; grep Location &#124; awk 'BEGIN{ORS=&#34;&#34;} {print $2}' &#124; tr -d '\r'` #eval `echo $win &#124; awk -F '[-&#124;_&#124;/]' '{print &#34;codename=&#34;$5, &#34;ver=&#34;$6, &#34;build=&#34;$7 }'` eval `echo $win &#124; awk -F '[-&#124;.]' '{ print &#34;ver=&#34;$(NF-3)&#34;.&#34;$(NF-2), &#34;build=&#34;$(NF-1) }'` &#160; if [...]]]></description>
			<content:encoded><![CDATA[<p>以前寫的 checker 都是 php 的，早起無事，折騰下，用 shell 重寫個。</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"><div class="bash"><ol><li style=""><div style=""><span style="color: #666666; font-style: italic;">#! /bin/bash</span></div></li>
<li style="background-color: #f8f8f8;"><div style="">&nbsp;</div></li>
<li style=""><div style=""><span style="color: #007800;">url</span>=http:<span style="color: #000000; font-weight: bold;">//</span>snapshot.opera.com<span style="color: #000000; font-weight: bold;">/</span>windows<span style="color: #000000; font-weight: bold;">/</span>latest</div></li>
<li style="background-color: #f8f8f8;"><div style=""><span style="color: #007800;">dir</span>=<span style="color: #000000; font-weight: bold;">/</span>ls.tl<span style="color: #000000; font-weight: bold;">/</span>check</div></li>
<li style=""><div style="">&nbsp;</div></li>
<li style="background-color: #f8f8f8;"><div style=""><span style="color: #007800;">win</span>=<span style="color: #000000; font-weight: bold;">`</span>curl <span style="color: #660033;">-s</span> <span style="color: #660033;">-I</span> <span style="color: #007800;">$url</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> Location <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'BEGIN{ORS=&quot;&quot;} {print $2}'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">'\r'</span><span style="color: #000000; font-weight: bold;">`</span></div></li>
<li style=""><div style=""><span style="color: #666666; font-style: italic;">#eval `echo $win | awk -F '[-|_|/]' '{print &quot;codename=&quot;$5, &quot;ver=&quot;$6, &quot;build=&quot;$7 }'`</span></div></li>
<li style="background-color: #f8f8f8;"><div style=""><span style="color: #7a0874; font-weight: bold;">eval</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$win</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #660033;">-F</span> <span style="color: #ff0000;">'[-|.]'</span> <span style="color: #ff0000;">'{ print &quot;ver=&quot;$(NF-3)&quot;.&quot;$(NF-2), &quot;build=&quot;$(NF-1) }'</span><span style="color: #000000; font-weight: bold;">`</span></div></li>
<li style=""><div style="">&nbsp;</div></li>
<li style="background-color: #f8f8f8;"><div style=""><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-f</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>build <span style="color: #7a0874; font-weight: bold;">&#93;</span></div></li>
<li style=""><div style=""><span style="color: #000000; font-weight: bold;">then</span></div></li>
<li style="background-color: #f8f8f8;"><div style="">&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000;">0</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>build</div></li>
<li style=""><div style=""><span style="color: #000000; font-weight: bold;">fi</span></div></li>
<li style="background-color: #f8f8f8;"><div style="">&nbsp;</div></li>
<li style=""><div style=""><span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$build</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>build <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'BEGIN{ORS=&quot;&quot;} {print $0}'</span><span style="color: #000000; font-weight: bold;">`</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span></div></li>
<li style="background-color: #f8f8f8;"><div style=""><span style="color: #000000; font-weight: bold;">then</span></div></li>
<li style=""><div style="">&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #007800;">$build</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>build</div></li>
<li style="background-color: #f8f8f8;"><div style="">&nbsp;</div></li>
<li style=""><div style="">&nbsp; &nbsp; <span style="color: #007800;">mac</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$win</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'BEGIN{ORS=&quot;&quot;} {sub(/windows/, &quot;mac&quot;); sub(/exe/, &quot;dmg&quot;); print $0}'</span><span style="color: #000000; font-weight: bold;">`</span></div></li>
<li style="background-color: #f8f8f8;"><div style="">&nbsp; &nbsp; <span style="color: #007800;">unix</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$win</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'BEGIN{ORS=&quot;&quot;} {sub(/windows/, &quot;unix&quot;); sub(/Opera.*$/, &quot;&quot;); print $0}'</span><span style="color: #000000; font-weight: bold;">`</span></div></li>
<li style=""><div style="">&nbsp;</div></li>
<li style="background-color: #f8f8f8;"><div style="">&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">'&lt;h2&gt;Opera '</span><span style="color: #007800;">$ver</span><span style="color: #ff0000;">' build '</span><span style="color: #007800;">$build</span><span style="color: #ff0000;">'&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;'</span><span style="color: #007800;">$win</span><span style="color: #ff0000;">'&quot;&gt;Windows&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;'</span><span style="color: #007800;">$mac</span><span style="color: #ff0000;">'&quot;&gt;Macintosh&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;'</span><span style="color: #007800;">$unix</span><span style="color: #ff0000;">'&quot;&gt;Linux/FreeBSD&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;'</span> <span style="color: #000000; font-weight: bold;">&gt;</span> index.html</div></li>
<li style=""><div style="">&nbsp;</div></li>
<li style="background-color: #f8f8f8;"><div style="">&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #660033;">-e</span> <span style="color: #007800;">$win</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #007800;">$mac</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>dllist</div></li>
<li style=""><div style="">&nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-q</span> <span style="color: #660033;">-N</span> <span style="color: #660033;">-P</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>builds<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #660033;">-i</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>dllist</div></li>
<li style="background-color: #f8f8f8;"><div style="">&nbsp;</div></li>
<li style=""><div style="">&nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>s <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>timestamp</div></li>
<li style="background-color: #f8f8f8;"><div style="">&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>update</div></li>
<li style=""><div style=""><span style="color: #000000; font-weight: bold;">else</span></div></li>
<li style="background-color: #f8f8f8;"><div style="">&nbsp; &nbsp; <span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>s <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>timestamp</div></li>
<li style=""><div style="">&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">0</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$dir</span><span style="color: #000000; font-weight: bold;">/</span>update</div></li>
<li style="background-color: #f8f8f8;"><div style=""><span style="color: #000000; font-weight: bold;">fi</span></div></li>
</ol></div></div>
</div>

<p>嗯嗯，只有 php 的三分之一長</p>
<p>&#8212;<br />
update &#8211; 2011.09.29<br />
1076 更新时 codename 与 ver 之间插入了 “opera”，考虑到以后还会再有变化的可能性，改为从文件名中匹配版本号</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"><div class="bash"><ol><li style=""><div style=""><span style="color: #7a0874; font-weight: bold;">eval</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$win</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #660033;">-F</span> <span style="color: #ff0000;">'[-|_|/]'</span> <span style="color: #ff0000;">'{print &quot;codename=&quot;$5, &quot;ver=&quot;$6, &quot;build=&quot;$7 }'</span><span style="color: #000000; font-weight: bold;">`</span></div></li>
</ol></div></div>
</div>

<p>改为</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"><div class="bash"><ol><li style=""><div style=""><span style="color: #7a0874; font-weight: bold;">eval</span> <span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$win</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #660033;">-F</span> <span style="color: #ff0000;">'[-|.]'</span> <span style="color: #ff0000;">'{ print &quot;ver=&quot;$(NF-3)&quot;.&quot;$(NF-2), &quot;build=&quot;$(NF-1) }'</span><span style="color: #000000; font-weight: bold;">`</span></div></li>
</ol></div></div>
</div>

 <img src="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1361" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://tofu.im/blog/2011/09/27/opera-snapshots-checker-v3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>貓在叫春，風在吼</title>
		<link>https://tofu.im/blog/2011/04/01/%e8%b2%93%e5%9c%a8%e5%8f%ab%e6%98%a5%ef%bc%8c%e9%a2%a8%e5%9c%a8%e5%90%bc/</link>
		<comments>https://tofu.im/blog/2011/04/01/%e8%b2%93%e5%9c%a8%e5%8f%ab%e6%98%a5%ef%bc%8c%e9%a2%a8%e5%9c%a8%e5%90%bc/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 19:42:34 +0000</pubDate>
		<dc:creator>Csineneo</dc:creator>
				<category><![CDATA[Opera]]></category>
		<category><![CDATA[碎語]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Snapshot]]></category>

		<guid isPermaLink="false">http://blog.csineneo.com/?p=972</guid>
		<description><![CDATA[多可愛的爲嘛叫春的聲音那麼悽慘哪 =.=! 無聊，小更新了下 check.csineneo.com 之前爲了省事在訪問時才去抓頁面，響應時間倒是其次，倘若用的人多了，掛着不停的刷，萬一哪天被封掉就不好了 =.=! 現在把抓取頁面的動作獨立出來掛在後台，三分鐘取一次數據。 棄了 ereg()，改用 preg_match() 來做匹配 輸出和先前沒啥改動，多加了個最後更新時間 風很大，睡覺 =.=!]]></description>
			<content:encoded><![CDATA[<p>多可愛的爲嘛叫春的聲音那麼悽慘哪 =.=!</p>
<p>無聊，小更新了下 <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NoZWNrLmNzaW5lbmVvLmNvbS8=">check.csineneo.com</a></p>
<ul>
<li>之前爲了省事在訪問時才去抓頁面，響應時間倒是其次，倘若用的人多了，掛着不停的刷，萬一哪天被封掉就不好了 =.=! 現在把抓取頁面的動作獨立出來掛在後台，三分鐘取一次數據。</li>
<li>棄了 ereg()，改用 preg_match() 來做匹配</li>
<li>輸出和先前沒啥改動，多加了個最後更新時間</li>
</ul>
<p>風很大，睡覺 =.=!</p>
 <img src="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=972" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://tofu.im/blog/2011/04/01/%e8%b2%93%e5%9c%a8%e5%8f%ab%e6%98%a5%ef%bc%8c%e9%a2%a8%e5%9c%a8%e5%90%bc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>新風格</title>
		<link>https://tofu.im/blog/2011/03/29/%e6%96%b0%e9%a2%a8%e6%a0%bc/</link>
		<comments>https://tofu.im/blog/2011/03/29/%e6%96%b0%e9%a2%a8%e6%a0%bc/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 22:55:34 +0000</pubDate>
		<dc:creator>Csineneo</dc:creator>
				<category><![CDATA[Opera]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[風格]]></category>

		<guid isPermaLink="false">http://blog.csineneo.com/?p=947</guid>
		<description><![CDATA[移植自 opera internal pages，用了 CSS3 border-image，推薦使用 Opera 11.10 Beta 或更新版本瀏覽。 習慣了在 linux 下 cp xxx/ yyy/ -r，在 Mac 下非得把參數緊跟命令 cp -r xxx/ yyy/，怨念 =.=!]]></description>
			<content:encoded><![CDATA[<p>移植自 opera internal pages，用了 CSS3 border-image，推薦使用 <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5vcGVyYS5jb20v">Opera 11.10 Beta</a> 或更新版本瀏覽。</p>
<p>習慣了在 linux 下 cp xxx/ yyy/ -r，在 Mac 下非得把參數緊跟命令 cp -r xxx/ yyy/，怨念 =.=!</p>
 <img src="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=947" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://tofu.im/blog/2011/03/29/%e6%96%b0%e9%a2%a8%e6%a0%bc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Running multiple Opera/instances on Mac</title>
		<link>https://tofu.im/blog/2011/03/29/running-multiple-operainstances-on-mac/</link>
		<comments>https://tofu.im/blog/2011/03/29/running-multiple-operainstances-on-mac/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 18:16:20 +0000</pubDate>
		<dc:creator>Csineneo</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[suffix]]></category>
		<category><![CDATA[單用戶]]></category>

		<guid isPermaLink="false">http://blog.csineneo.com/?p=939</guid>
		<description><![CDATA[作為一名 QA，同時運行多個版本／實例是必須的。 注意：以下說明僅適用於 Opera 11.01 及更新版本。 Opera for Mac 沒有 Windows 安裝包那樣的圖形界面來選擇安裝方式，一切均在終端中進行 1， 單用戶模式 加參數 -csp 啓動，csp 是 create single profile 的縮寫 如果在主引導設備上運行，則在 ~/ 創建配置文件夾 .operaprofile 如果在其他設備上運行，則在卷的根目錄下創建 .operaprofile，其中包括緩存 示例： ./Opera.app/Contents/MacOS/Opera -csp 此命令生成的配置文件夾為 ~/.operaprofile/ 2，同時安裝多個版本 重命名 Opera.app 為 Opera suffix.app 後加參數 -csp 啓動 Opera 會創建一個名為 .operaprofile suffix 的配置文件夾 注意：重命名後的文件名中 Opera 與 suffix 間的空格可以省略，但在生成的配置文件夾名中 Opera 與 suffix [...]]]></description>
			<content:encoded><![CDATA[<p>作為一名 QA，同時運行多個版本／實例是必須的。</p>
<p>注意：以下說明僅適用於 Opera 11.01 及更新版本。</p>
<p>Opera for Mac 沒有 Windows 安裝包那樣的圖形界面來選擇安裝方式，一切均在終端中進行</p>
<blockquote><h3>1， 單用戶模式</h3>
<p>加參數 -csp 啓動，csp 是 create single profile 的縮寫</p>
<ul>
<li>如果在主引導設備上運行，則在 ~/ 創建配置文件夾 .operaprofile</li>
<li>如果在其他設備上運行，則在卷的根目錄下創建 .operaprofile，其中包括緩存</li>
</ul>
<p>示例：</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"><div class="dos"><ol><li style=""><div style="">./Opera.app/Contents/MacOS/Opera -csp</div></li>
</ol></div></div>
</div>

<p>此命令生成的配置文件夾為 ~/.operaprofile/</p></blockquote>
<blockquote><h3>2，同時安裝多個版本</h3>
<p>重命名 Opera.app 為 Opera suffix.app 後加參數 -csp 啓動<br />
Opera 會創建一個名為 .operaprofile suffix 的配置文件夾<br />
注意：重命名後的文件名中 Opera 與 suffix 間的空格可以省略，但在生成的配置文件夾名中 Opera 與 suffix 間仍然保留空格，即 “.operaprofile+空格+suffix”<br />
示例：</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"><div class="dos"><ol><li style=""><div style="">./Opera2064.app/Contents/MacOS/Opera -csp</div></li>
</ol></div></div>
</div>

<p>此命令生成的配置文件夾為 ~/.operaprofile\ 2064/</p>
<p>注：</p>
<ul>
<li>單用戶模式下應當將下列位置加入 Time Machine 和 Spotlight 的黑名單里

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"><div class="dos"><ol><li style=""><div style="">~/.operaprofile/application_cache/</div></li>
<li style="background-color: #f8f8f8;"><div style="">~/.operaprofile/cache/</div></li>
</ol></div></div>
</div>

</li>
<li>-csp 參數僅用於創建配置文件夾，僅需運行一次</li>
</ul>
</blockquote>
<blockquote><h3>3，運行同一版本的多個實例</h3>
<p>加參數 -ps suffix 啓動， ps 是 per session 的縮寫<br />
示例：</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"><div class="dos"><ol><li style=""><div style="">./Opera2064.app/Contents/MacOS/Opera -ps 2064</div></li>
</ol></div></div>
</div>

<p>以此命令啓動 Opera 將使用如下位置：</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"><div class="dos"><ol><li style=""><div style="">~/Library/Application Support/Opera\ suffix/</div></li>
<li style="background-color: #f8f8f8;"><div style="">~/Library/Caches/Opera\ suffix/</div></li>
<li style=""><div style="">~/Library/Preferences/Opera\ Preferences\ suffix/</div></li>
</ol></div></div>
</div>

<p>注：</p>
<ul>
<li>-ps suffix 啓動的 Opera 以多用戶模式運行</li>
<li>Opera 11.10 Beta 默認使用 Next 作為 suffix</li>
</ul>
</blockquote>
 <img src="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=939" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://tofu.im/blog/2011/03/29/running-multiple-operainstances-on-mac/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Three finger swipe gesture in Opera</title>
		<link>https://tofu.im/blog/2011/03/25/three-finger-swipe-gesture-in-opera/</link>
		<comments>https://tofu.im/blog/2011/03/25/three-finger-swipe-gesture-in-opera/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 06:44:26 +0000</pubDate>
		<dc:creator>Csineneo</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Finger Swipe]]></category>
		<category><![CDATA[Mouse Gesture]]></category>
		<category><![CDATA[shortcut]]></category>

		<guid isPermaLink="false">http://blog.csineneo.com/?p=932</guid>
		<description><![CDATA[Opera for Mac 中定義 finger swipe 手勢是在 keyboard.ini 中，而非 mouse.ini，這一無法理解的行爲讓我浪費了大把時間 =.=! Platform Mac, SwipeUp=Page up Platform Mac, SwipeDown=Page down Platform Mac, SwipeLeft=Back Platform Mac, SwipeRight=Forward &#124; Fast forward, 0 Opera for Mac 對於原生手勢的支持是通過雙指按下來激活的，極其不便，研究了下沒搞定雙指 swipe，三指 swipe 倒是可以實現部分功能，比如 Lock page &#124; Unlock page，New Page，Mark and select next unread 等命令，而最需要的 Open link in background 卻是無法實現，怨念 =.=! 怨念之二是直接從 win [...]]]></description>
			<content:encoded><![CDATA[<p>Opera for Mac 中定義 finger swipe 手勢是在 keyboard.ini 中，而非 mouse.ini，這一無法理解的行爲讓我浪費了大把時間 =.=!</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"><div class="ini"><ol><li style=""><div style="">Platform Mac, SwipeUp<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">Page up</span></div></li>
<li style="background-color: #f8f8f8;"><div style="">Platform Mac, SwipeDown<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">Page down</span></div></li>
<li style=""><div style="">Platform Mac, SwipeLeft<span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">Back</span></div></li>
<li style="background-color: #f8f8f8;"><div style="">Platform Mac, SwipeRight<span style="color: #000066; font-weight:bold;">=</span><span style="color: #000066; font-weight:bold;"><span style="color: #660066;">Forward | Fast forward, 0</span></span></div></li>
</ol></div></div>
</div>

<p>Opera for Mac 對於原生手勢的支持是通過雙指按下來激活的，極其不便，研究了下沒搞定雙指 swipe，三指 swipe 倒是可以實現部分功能，比如 Lock page | Unlock page，New Page，Mark and select next unread 等命令，而最需要的 Open link in background 卻是無法實現，怨念 =.=!</p>
<p>怨念之二是直接從 win 下同步過來的 keyboard.ini 與 Mac 系統快捷有部分衝突，有空了還是重新來過好了 =.=!</p>
<p>怨念之三是和 Mac 自帶輸入法有些小衝突，候選詞列出現的時候按 Command+W 即崩潰 =.=!</p>
<p>不過欣喜的是 Opera for Mac 看起來沒有使用 Vega 繪製窗口，截屏、取詞啥的全無問題，猶如回到了 9.x。</p>
 <img src="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=932" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://tofu.im/blog/2011/03/25/three-finger-swipe-gesture-in-opera/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Speed Dial 2.0</title>
		<link>https://tofu.im/blog/2011/03/18/speed-dial-20/</link>
		<comments>https://tofu.im/blog/2011/03/18/speed-dial-20/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 20:26:53 +0000</pubDate>
		<dc:creator>Csineneo</dc:creator>
				<category><![CDATA[Opera]]></category>
		<category><![CDATA[11.10]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Snapshot]]></category>
		<category><![CDATA[Speed Dial]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[快速撥號]]></category>

		<guid isPermaLink="false">http://blog.csineneo.com/?p=854</guid>
		<description><![CDATA[今天發了 Opera 11.10 Beta，快速撥號更新到 2.0，引入流佈局，優化縮略圖，增加動畫特效等，其實這些只能算完成了一半的快撥 2.0，是實現另一半的基礎。對 Opera 來說，版本號的躍進總是伴隨著功能的增加。 快速撥號 2.0 新的快撥配置對話框 新版快撥配置對話框與舊版基本相同，不過僅能設置列數，且按鈕位置移至快撥頁右上角。 新的快撥添加/編輯對話框 新版快撥添加/編輯對話框將 URL 輸入框移至頂部，且增加標題輸入框，支持自定義快撥標題。 支持無限多快撥 快撥 2.0 引入流佈局概念，理論上支持無限多快撥，但實際上過多的快撥會造成啟動緩慢，14250 個最簡單頁面的快撥帶來的啟動時間近兩小時。 舊版的“行x列”設置已經取消，取而代之的是有限的列數和無限的行數。 窗口寬度越大，默認顯示的快撥列數越多。可在快撥配置對話框中設置列數，亦可通過調整頁面縮放比列調整列數。 需要注意的是，即便當前窗口寬度無法顯示所有列，Opera 也不會顯示橫向滾動條；而行數超出窗口時則會顯示縱向滾動條。 支持在縮略圖中顯示動態內容 支持動態內容是快撥 2.0 非常重要的改進之一，在此基礎上可以實現很多有趣的想法，不过看上去似乎还没有完全实现。 这里有一个 Demo，缩略图每 10s 切换一次，切换四次后停止。 支持拖曳動畫特效 Vega 的性能現在已經非常不錯，10.50 還會加入硬件加速支持，介面特效會越來越多。 快撥拖曳特效在平滑度上應當會有更多優化。 支持縮放 快撥的縮放和普通網頁縮放一樣，可以通過窗口右下角的縮放滑杆來調整，也可以用快捷鍵 +/-。遺憾的是縮放後縮略圖需要再次刷新，之後應當會有所改進才是。 縮放比例保存在 opera:config#UserPrefs&#124;SpeedDialZoomLevel，默認值 100，最小值 50。 支持自定義縮略圖標題 快撥 2.0 中自定義縮略圖標題不再像舊版那樣頭大，直接在快撥編輯對話框中修改即可。 標題為空時自動抓取頁面 &#60;title&#62;，標題首尾空格會被移除，包括全角空格。 標題最大長度默認為 2048 字節，可在 opera:config#UserPrefs&#124;Maximumlengthoftitle [...]]]></description>
			<content:encoded><![CDATA[<p>今天發了 <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5vcGVyYWNoaW5hLmNvbS9uZXh0Lw==">Opera 11.10 Beta</a>，快速撥號更新到 2.0，引入流佈局，優化縮略圖，增加動畫特效等，其實這些只能算完成了一半的快撥 2.0，是實現另一半的基礎。對 Opera 來說，版本號的躍進總是伴隨著功能的增加。</p>
<h3>快速撥號 2.0</h3>
<ul>
<li class="list_style_none">新的快撥配置對話框<br />
<blockquote><p>
新版快撥配置對話框與舊版基本相同，不過僅能設置列數，且按鈕位置移至快撥頁右上角。<br />
<img src="http://tofu.im/blog/files/2011/03/config.dialog.png" alt="快撥配置對話框" title="快撥配置對話框" width="440" height="259" class="aligncenter size-full wp-image-861" />
</p></blockquote>
</li>
<li class="list_style_none">新的快撥添加/編輯對話框<br />
<blockquote><p>
新版快撥添加/編輯對話框將 URL 輸入框移至頂部，且增加標題輸入框，支持自定義快撥標題。<br />
<img src="http://tofu.im/blog/files/2011/03/add.or_.edit_.dialog.png" alt="添加/編輯對話框" title="添加/編輯對話框" width="387" height="319" class="aligncenter size-full wp-image-859" />
</p></blockquote>
</li>
<li class="list_style_none">支持無限多快撥<br />
<blockquote><p>
快撥 2.0 引入流佈局概念，理論上支持無限多快撥，但實際上過多的快撥會造成啟動緩慢，14250 個最簡單頁面的快撥帶來的啟動時間近兩小時。<br />
舊版的“行x列”設置已經取消，取而代之的是有限的列數和無限的行數。<br />
窗口寬度越大，默認顯示的快撥列數越多。可在快撥配置對話框中設置列數，亦可通過調整頁面縮放比列調整列數。<br />
需要注意的是，即便當前窗口寬度無法顯示所有列，Opera 也不會顯示橫向滾動條；而行數超出窗口時則會顯示縱向滾動條。
</p></blockquote>
</li>
<li class="list_style_none">支持在縮略圖中顯示動態內容<br />
<blockquote><p>
支持動態內容是快撥 2.0 非常重要的改進之一，在此基礎上可以實現很多有趣的想法，不过看上去似乎还没有完全实现。<br />
这里有<a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3QuY3NpbmVuZW8uY29tL3NwZWVkZGlhbDIwL29jLmh0bWw=">一个 Demo</a>，缩略图每 10s 切换一次，切换四次后停止。
</p></blockquote>
</li>
<li class="list_style_none">支持拖曳動畫特效<br />
<blockquote><p>
Vega 的性能現在已經非常不錯，10.50 還會加入硬件加速支持，介面特效會越來越多。<br />
快撥拖曳特效在平滑度上應當會有更多優化。
</p></blockquote>
</li>
<li class="list_style_none">支持縮放<br />
<blockquote><p>
快撥的縮放和普通網頁縮放一樣，可以通過窗口右下角的縮放滑杆來調整，也可以用快捷鍵 +/-。遺憾的是縮放後縮略圖需要再次刷新，之後應當會有所改進才是。<br />
縮放比例保存在 <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=b3BlcmE6Y29uZmlnI1VzZXJQcmVmc3xTcGVlZERpYWxab29tTGV2ZWw=">opera:config#UserPrefs|SpeedDialZoomLevel</a>，默認值 100，最小值 50。
</p></blockquote>
</li>
<li class="list_style_none">支持自定義縮略圖標題<br />
<blockquote><p>
快撥 2.0 中自定義縮略圖標題不再像舊版那樣頭大，直接在快撥編輯對話框中修改即可。<br />
標題為空時自動抓取頁面 &lt;title&gt;，標題首尾空格會被移除，包括全角空格。<br />
標題最大長度默認為 2048 字節，可在 <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=b3BlcmE6Y29uZmlnI1VzZXJQcmVmc3xNYXhpbXVtbGVuZ3Rob2Z0aXRsZQ==">opera:config#UserPrefs|Maximumlengthoftitle</a> 修改。
</p></blockquote>
</li>
<li class="list_style_none">支持服務器指定縮略圖<br />
<blockquote><p>
Opera 會讀取 &lt;link&gt; 指定的圖標，後面會詳細說明。<br />
抓取的圖標大小默認最小值為 114x114px，可在 <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=b3BlcmE6Y29uZmlnI1VzZXJQcmVmc3xUaHVtYm5haWxJY29uTWluSGVpZ2h0">opera:config#UserPrefs|ThumbnailIconMinHeight</a> / <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=b3BlcmE6Y29uZmlnI1VzZXJQcmVmc3xUaHVtYm5haWxJY29uTWluV2lkdGg=">opera:config#UserPrefs|ThumbnailIconMinWidth</a> 設置
</p></blockquote>
</li>
<li class="list_style_none">支持選取頁面 Logo 作為縮略圖<br />
<blockquote><p>
這也是快撥 2.0 的亮點之一，相對於全頁面縮略圖我更偏好能夠一眼看到 Logo。當然，一些站點不能正確的定位 Logo 區域，這也是被詬病的原因之一 =.=!<br />
Opera 提供了一系列參數來設置頁面內不同元素的權值： <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=b3BlcmE6Y29uZmlnI1RodW1ibmFpbCBMb2dvIFNjb3Jl">opera:config#Thumbnail Logo Score</a><br />
以及尋找 Logo 的目標區域： <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=b3BlcmE6Y29uZmlnI1RodW1ibmFpbCBMb2dvIFBvcw==">opera:config#Thumbnail Logo Pos</a>
</p></blockquote>
</li>
<li class="list_style_none">支持頁面指定本地縮略圖刷新間隔<br />
<blockquote><p>
Opera 可通過讀取 &lt;meta&gt; 信息來設置縮略圖刷新間隔，單位為秒，如：<br />
<code lang="cs" class="html">&lt;meta http-equiv="preview-refresh" content="3600" /></code><br />
服務器也可發送 HTTP Header 來指定：<br />
<code lang="cs" class="html">Preview-refresh: 3600</code>
</p></blockquote>
</li>
</ul>
<h3>快撥 2.0 通過多種方式智能抓取縮略圖，各方式優先級如下</h3>
<ol>
<li class="list_style_none">HTTP Header<br />
<blockquote><p>
快撥 2.0 會發送如下 HTTP Header 告訴服務器這是一次縮略圖請求：<br />
<code lang="cs" class="html">X-Purpose: preview</code><br />
服務器發現此 Header 後可返回指定頁面，Opera 使用此頁面生成縮略圖<br />
這裡有<a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3QuY3NpbmVuZW8uY29tL3NwZWVkZGlhbDIwL2hlYWRlci5waHA=">一個 Demo</a>
</p></blockquote>
</li>
<li class="list_style_none">&lt;link&gt; 指定的大圖標<br />
<blockquote><p>
Opera 將讀取以下值：<br />
<code lang="cs" class="html">&lt;link rel="icon" type="image/x-icon" href="/logo.png" /></p>
<link rel="apple-touch-icon" type="image/png" href="/logo.png" />
&lt;link rel="image_src" type="image/png" href="/logo.png" /></code><br />
如果同時有多個值，則使用較大的一個作為縮略圖；如果多張大圖大小一致，則使用第一張。<br />
這裡有<a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3QuY3NpbmVuZW8uY29tL3NwZWVkZGlhbDIwL2ljb24uaHRtbA==">一個 Demo</a><br />
<em><strong>注意：</strong>Opera 可能會將最後一個 rel=&#8221;icon&#8221; 指定的圖標作為 favicon，無論大小，這可能是一個 bug</em><br />
<img src="http://tofu.im/blog/files/2011/03/icon.png" alt="站點指定圖標作為縮略圖" title="站點指定圖標作為縮略圖" width="259" height="192" class="aligncenter size-full wp-image-878" />
</p></blockquote>
</li>
<li class="list_style_none">頁面中的重要區域<br />
<blockquote><p>
默認會在頁面頂部高 300px，寬 1200px 的區域內查找 Logo，Opera 會分析其中的圖片大小、文件名、鏈接、alt 值、title 值等信息<br />
<a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy51c2dzLmdvdi8=">usgs</a> 是一個很好的例子<br />
<img src="http://tofu.im/blog/files/2011/03/usgs.png" alt="usgs" title="usgs" width="256" height="190" class="aligncenter size-full wp-image-900" />
</p></blockquote>
</li>
<li class="list_style_none">CSS view-mode:minimized<br />
<blockquote><p>
關於 view-mode 請參看 <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy53My5vcmcvVFIvdmlldy1tb2RlLw==">W3C 文檔</a>。<br />
這裡有<a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3QuY3NpbmVuZW8uY29tL3NwZWVkZGlhbDIwL3ZpZXctbW9kZS5odG1s">一個 Demo</a>
</p></blockquote>
</li>
<li class="list_style_none">完整頁面<br />
<blockquote><p>
沒什麼可說的，舊版縮略圖的生成方式
</p></blockquote>
</li>
</ol>
<h3>小技巧</h3>
<ul>
<li class="list_style_none">無視頁面通過 &lt;link&gt; 指定的圖標<br />
<blockquote><p>
將 <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=b3BlcmE6Y29uZmlnI1RodW1ibmFpbCBJY29uIE1pbg==">opera:config#Thumbnail Icon Min</a> 設置為一個較大的數，比如 1200，即可。<br />
此設置定義最小圖標大小，設置一個大於一般圖標大小的數則可以將正常圖標作為“小圖標”忽略。
</p></blockquote>
</li>
<li class="list_style_none">總是生成完整頁面縮略圖<br />
<blockquote><p>
在上條基礎上將 <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=b3BlcmE6Y29uZmlnI1RodW1ibmFpbCBMb2dvIFNpemUgTWlu">opera:config#Thumbnail Logo Size Min</a> 設置為一個較大的數，比如 1200，即可。<br />
此設置定義最小 Logo 大小，設置一個大於頁面寬高的值則表示整個頁面即是 Logo。
</p></blockquote>
</li>
<li class="list_style_none">移除快撥最末“+”號按鈕<br />
<blockquote><p>
將 <a href="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=b3BlcmE6Y29uZmlnI1VzZXJQcmVmc3xTcGVlZERpYWxTdGF0ZQ==">opera:config#UserPrefs|SpeedDialState</a> 改為 2 即可。<br />
此設置定義快撥狀態，1 表示正常，2 表示只讀，3 表示禁用。<br />
設置為 2 後無法添加/修改/刪除快撥，無法打開快撥配置對話框。
</p></blockquote>
</li>
</ul>
 <img src="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=854" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://tofu.im/blog/2011/03/18/speed-dial-20/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Welcome to the &quot;Staff&quot; mailing list</title>
		<link>https://tofu.im/blog/2010/12/11/welcome-to-the-staff-mailing-list/</link>
		<comments>https://tofu.im/blog/2010/12/11/welcome-to-the-staff-mailing-list/#comments</comments>
		<pubDate>Sat, 11 Dec 2010 04:31:40 +0000</pubDate>
		<dc:creator>Csineneo</dc:creator>
				<category><![CDATA[Opera]]></category>
		<category><![CDATA[碎語]]></category>

		<guid isPermaLink="false">http://blog.csineneo.com/?p=797</guid>
		<description><![CDATA[這是我的 Opera 郵箱收到的第一封郵件的標籤，發自三年前的今天，也是我正式進入 Opera 實習的第一天。 寫了，刪了，三年時間讓我多了些許怨念，有了很多想法，如果有一天我離開 Opera，那時候再說吧。 三年時間，Opera Desktop 全球用戶增長了 150+% 中國增長了 150+%，俄羅斯增長了 325+%，全球市場份額從 1.11% 漲到 2.22%。 三年時間，Opera Mini 全球用戶增長了 100+%, 三年時間，My Opera 用戶數增長了 400+%]]></description>
			<content:encoded><![CDATA[<p>這是我的 Opera 郵箱收到的第一封郵件的標籤，發自三年前的今天，也是我正式進入 Opera 實習的第一天。<br />
寫了，刪了，三年時間讓我多了些許怨念，有了很多想法，如果有一天我離開 Opera，那時候再說吧。</p>
<p>三年時間，Opera Desktop 全球用戶增長了 150+% 中國增長了 150+%，俄羅斯增長了 325+%，全球市場份額從 1.11% 漲到 2.22%。<br />
三年時間，Opera Mini 全球用戶增長了 100+%, 三年時間，My Opera 用戶數增長了 400+%</p>
 <img src="https://tofu.im/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=797" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>https://tofu.im/blog/2010/12/11/welcome-to-the-staff-mailing-list/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

