<?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>G法师的实验室</title>
	<atom:link href="http://www.jatx.org/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jatx.org</link>
	<description>I&#039;m Jser</description>
	<lastBuildDate>Fri, 27 Jan 2012 10:40:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>我发现的设计与UE</title>
		<link>http://www.jatx.org/archives/234</link>
		<comments>http://www.jatx.org/archives/234#comments</comments>
		<pubDate>Fri, 27 Jan 2012 10:40:00 +0000</pubDate>
		<dc:creator>G法师</dc:creator>
				<category><![CDATA[system]]></category>

		<guid isPermaLink="false">http://www.jatx.org/?p=234</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<h2>硬盘灯的重要性</h2>
<p>说这个的原因是我的本本竟然没有硬盘灯,这在购买的时候是个意外<br />
不过这些年也用过来了,虽然有时候不得不爬在本本上听听硬盘是否在响... --!</p>
<p>就一般的pc来说,假如你的系统失去了响应,硬盘灯可以提示电脑是否真的挂了.<br />
这一点是很重要的,因为如果程序是在拼命地读盘,你可能需要等一会(或者等好一会..),而如果它似乎已经死了,那最好把它干掉<br />
如果干掉一个正在读写磁盘的程序是要付出代价的,轻者留下垃圾文件,重者文件丢失或者系统损坏<br />
没有硬盘灯,是一个糟糕的想法</p>
<h2>送进回收站的确认框</h2>
<p>我认为这是一个鸡肋<br />
既然是鸡肋就是说它在某些地方还是有一点用处的,比如说电脑新手或是"习惯"了的用户<br />
不过,仔细想想,你点击"取消"的机率有几成呢?反正我几乎从来不会点那个,因此,这个确认成为一个累赘<br />
误删文件的双保险(这个确认框+回收站)是不必要的,通常当你习惯成自然而漫不经心地点"删除-&gt;确认-&gt;清空回收站"的时候,这一切都形同虚设了<br />
放心地依靠回收站吧,请不要经常地清空它,里面的东西不会变质<br />
试着把那个确认框去掉,那个选项就在回收站的右键里,也许你会觉得世界更美好</p>
<blockquote><p>我对我的部下说:"去,把那个家伙干掉!"<br />
我希望他回答:"是!"<br />
而不是:"您真的要干掉它吗?"...</p></blockquote>
<p><span id="more-234"></span></p>
<h2>日期和时间的显示</h2>
<p>我有时候会忘了今天是几号或是星期几<br />
我希望这些东西能显示在目所能及的地方<br />
就这么简单的要求</p>
<h2>CTRL键的位置(Fn)</h2>
<p>某些知名的笔记本(Fn)键"竟然"取代了Ctrl的左下角的位置,这让人很纠结.<br />
我需要在台式机下工作,也要用本本,如果是这样的设计,,<br />
话说回来,市场上,谁是老大谁就是标准</p>
<h2>IE关闭后台标签(不能直接关闭, 必须先点出来)</h2>
<p>我指的是原生的IE7+<br />
当我打开了N个网页而想要关闭某一个的时候,必须点它出来才能看到那个x,很可惜IE显示新内容的时候很卡,所以这件事的体验更糟糕了<br />
其它浏览器是可以直接看到那个关闭按钮的,不信点它试试,那个网页就静静地关闭了</p>
<h2>网站的链接(下划线,焦点框)</h2>
<p>首先想说的是,一个东西看起来像什么,它就应该是什么<br />
在设计的时候,请尊重用户的直觉</p>
<p>在网页上, 蓝色的带下划线的字是链接,当然没人会阻止你把它弄得像个按钮.<br />
但是不要把普通文字弄成这个样子<br />
假如有两种状态的文字,可点击的和不可点击的,要加下划线的话,一定给可点击的加(我正好遇到过相反的设计)</p>
<h2>懒得双击(双击使人厌烦)</h2>
<p>首先,双击费力<br />
其次,双击费鼠标<br />
好的设计,应该减少点击鼠标的次数(这也包括单击)</p>
<h2>爱上滚轮</h2>
<p>鼠标滚轮是一个伟大的设计<br />
假如现在给你一个没有滚轮的鼠标,你是不是会觉得有某种失落感,呵呵<br />
在这里不得不赞一下Gnome里对于鼠标滚轮的响应,你不用聚焦想要滚动的窗口或窗口部件<br />
比如,你在后面全屏开了一个网页,在前面开了一个小窗口的记事本,想要滚动网页的时候不用把网页点出来只需鼠标放到网页上滚动就行了<br />
同理,想调音量也是如此<br />
方便之处,谁用谁知道</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jatx.org/archives/234/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用Python调用glade</title>
		<link>http://www.jatx.org/archives/231</link>
		<comments>http://www.jatx.org/archives/231#comments</comments>
		<pubDate>Fri, 13 Jan 2012 12:38:19 +0000</pubDate>
		<dc:creator>G法师</dc:creator>
				<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.jatx.org/?p=231</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p>Python 2.6.5, glade 3.6.7</p>
<pre class="code python">import pygtk
pygtk.require("2.0")

import gtk
import gtk.glade

class TestGlade:
	def destroy(self,widget,data=None):
		gtk.main_quit()
	def __init__(self):
		builder = gtk.Builder()
		builder.add_from_file('glade/gtk2.glade')
		self.mainwindow = builder.get_object('mainWindow')
		self.mainwindow.connect('destroy',self.destroy)
		button = builder.get_object('button')
		button.connect('clicked', self.click_event)
		self.mainwindow.show()

	def click_event(self, widget):
		widget.set_label('clicked')

	def main(self):
		gtk.main()

if __name__ == "__main__":
		window = TestGlade()
		window.main()</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jatx.org/archives/231/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>这不是DOS</title>
		<link>http://www.jatx.org/archives/227</link>
		<comments>http://www.jatx.org/archives/227#comments</comments>
		<pubDate>Wed, 04 Jan 2012 06:13:54 +0000</pubDate>
		<dc:creator>G法师</dc:creator>
				<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.jatx.org/?p=227</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p>不过也就是模拟了一个输入框,再者就是任务树(任务-&gt;子任务...)</p>
<p>另外就是通过它改进了一下keymap,它的事件派发用起来更"有趣"了..</p>
<p>参观请移步: <a href="http://www.jatx.org/jatx/jxui/console/">http://www.jatx.org/jatx/jxui/console/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jatx.org/archives/227/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Orta+Faenza主题方案</title>
		<link>http://www.jatx.org/archives/224</link>
		<comments>http://www.jatx.org/archives/224#comments</comments>
		<pubDate>Wed, 28 Dec 2011 05:31:30 +0000</pubDate>
		<dc:creator>G法师</dc:creator>
				<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.jatx.org/?p=224</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p>Orta是一款gtk主题,而Faenza是著名的图标主题</p>
<div class="wp-caption alignnone" style="width: 310px"><a href="http://gnome-look.org/CONTENT/content-pre2/134123-2.jpg"><img title="Orta theme" src="http://gnome-look.org/CONTENT/content-pre2/134123-2.jpg" alt="Orta theme" width="300" height="213" /></a><p class="wp-caption-text">Orta 主题</p></div>
<div class="wp-caption alignnone" style="width: 330px"><a href="http://gnome-look.org/CONTENT/content-pre1/128143-1.png"><img title="Faenza 图标主题" src="http://gnome-look.org/CONTENT/content-pre1/128143-1.png" alt="" width="320" height="240" /></a><p class="wp-caption-text">Faenza 图标主题</p></div>
<p>安装方法:</p>
<p>Orta: 参考地址<a title="http://gnome-look.org/content/show.php/Orta?content=134123" href="http://gnome-look.org/content/show.php/Orta?content=134123" target="_blank">http://gnome-look.org/content/show.php/Orta?content=134123</a></p>
<blockquote><p>sudo add-apt-repository ppa:nikount/orta-desktop<br />
sudo apt-get update<br />
sudo apt-get install orta-theme</p></blockquote>
<p>Faenza: 参考地址<a title="http://gnome-look.org/content/show.php/Faenza?content=128143" href="http://gnome-look.org/content/show.php/Faenza?content=128143" target="_blank">http://gnome-look.org/content/show.php/Faenza?content=128143</a></p>
<blockquote><p>sudo add-apt-repository ppa:tiheum/equinox<br />
sudo apt-get update &amp;&amp; sudo apt-get install faenza-icon-theme</p></blockquote>
<p>局部效果图:</p>
<div id="attachment_225" class="wp-caption alignnone" style="width: 450px"><img class="size-full wp-image-225" title="Orta+Faenza效果" src="http://www.jatx.org/wp-content/uploads/2011/12/20111228_001.png" alt="Orta+Faenza效果" width="440" height="390" /><p class="wp-caption-text">Orta+Faenza效果</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jatx.org/archives/224/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于窗口大小</title>
		<link>http://www.jatx.org/archives/205</link>
		<comments>http://www.jatx.org/archives/205#comments</comments>
		<pubDate>Tue, 20 Sep 2011 02:29:44 +0000</pubDate>
		<dc:creator>G法师</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[resizeTo]]></category>
		<category><![CDATA[窗口大小]]></category>

		<guid isPermaLink="false">http://www.jatx.org/?p=205</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p>通常需要设定窗口大小是在弹出窗口的时候.尽管浏览器的window对象有resizeTo方法,但是对于非弹出窗口现在许多浏览器已经不理会这个动作了(比如chrome,opera...的某些版本)</p>
<p>设定的方式有两种</p>
<p>1. 在弹出方法的第三个参数中指定</p>
<blockquote><p>window.open("url", "", "width=300, height=200");</p></blockquote>
<p>2. 调用子窗口的window.resizeTo方法</p>
<blockquote><p>win.resizeTo(300, 200);</p></blockquote>
<p>经测试:</p>
<p>第一种方法的数值指的是 窗口的"视口(viewport)"的大小,不包括窗口本身的一些东东(标题栏,边框,地址栏等)</p>
<p>第二种方法指定的是窗口本身的大小,所以若想用这个来适应网页内容是不靠谱的</p>
<p>值得一提的是 window.resizeTo 似乎与操作系统的窗口机制相关,在<span style="color: red;">ubuntu的火狐</span>下指定的并不是窗口本身的大小,而是除去"<strong>窗口装饰</strong>"的大小(即除去标题栏,边框.但包括地址栏,状态栏之类)</p>
<p>以下是截图(所有数值为300*200):</p>
<div id="attachment_208" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jatx.org/wp-content/uploads/2011/09/20110919_012.png"><img class="size-medium wp-image-208" title="弹出窗口的原始大小" src="http://www.jatx.org/wp-content/uploads/2011/09/20110919_012-300x92.png" alt="弹出窗口的原始大小为内容区大小" width="300" height="92" /></a><p class="wp-caption-text">弹出窗口的原始大小为内容区大小</p></div>
<p>上图依次为Opera, chrome, firefox 均在Ubuntu下.</p>
<p><span id="more-205"></span></p>
<div id="attachment_213" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jatx.org/wp-content/uploads/2011/09/20110919_003.png"><img class="size-medium wp-image-213" title="resizeTo后的Opera" src="http://www.jatx.org/wp-content/uploads/2011/09/20110919_003-300x211.png" alt="resizeTo后的Opera" width="300" height="211" /></a><p class="wp-caption-text">resizeTo后的Opera</p></div>
<div id="attachment_210" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jatx.org/wp-content/uploads/2011/09/20110919_005.png"><img class="size-medium wp-image-210" title="resizeTo后的火狐" src="http://www.jatx.org/wp-content/uploads/2011/09/20110919_005-300x220.png" alt="resizeTo后的火狐为除去窗口装饰的大小" width="300" height="220" /></a><p class="wp-caption-text">resizeTo后的火狐为除去窗口装饰的大小</p></div>
<div id="attachment_211" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jatx.org/wp-content/uploads/2011/09/20110919_007.png"><img class="size-medium wp-image-211" title="Windows下resizeTo后的火狐" src="http://www.jatx.org/wp-content/uploads/2011/09/20110919_007-300x203.png" alt="Windows下resizeTo后的火狐" width="300" height="203" /></a><p class="wp-caption-text">Windows下resizeTo后的火狐为窗口大小</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jatx.org/archives/205/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS 高度百分比</title>
		<link>http://www.jatx.org/archives/203</link>
		<comments>http://www.jatx.org/archives/203#comments</comments>
		<pubDate>Sat, 10 Sep 2011 10:19:03 +0000</pubDate>
		<dc:creator>G法师</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.jatx.org/?p=203</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p>关于CSS高度的百分比是这样规定的:</p>
<blockquote><p>百分基数为元素包含块的高度,不可为负值.如果包含块的高度没有显式给出(即取决于内容的高度),该值等同于"auto".</p></blockquote>
<p>元素在不设置高度的时候默认就是"auto".</p>
<p>所以百分比的高度必须在父元素有声明高度时使用.</p>
<p>但是有一种情况,如果此元素是绝对定位的(absolute或fixed) 那么百分比高度会起作用,其参照物为它的 <strong><em>offsetParent </em></strong>的高度(不论是否设置)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jatx.org/archives/203/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>省略连续的数字</title>
		<link>http://www.jatx.org/archives/198</link>
		<comments>http://www.jatx.org/archives/198#comments</comments>
		<pubDate>Tue, 02 Aug 2011 13:49:37 +0000</pubDate>
		<dc:creator>G法师</dc:creator>
				<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.jatx.org/?p=198</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p>Q群里有人发的, 很早以前写的了,,,<br />
演示在这里: <a href="http://www.jatx.org/pub/ShortNumStr.html" title="省略连续的数字" target="_blank">http://www.jatx.org/pub/ShortNumStr.html</a></p>
<div class="source">function doFilter(str, elli) {<br />
var stk = [];</p>
<p>return str.replace(/\d/g, function($$, i, str) {<br />
var n = parseInt($$, 10);<br />
var ret = '';<br />
//不满足就出栈<br />
if(!check(n)) {<br />
ret = joinStack(stk);<br />
}<br />
stk.push(n);<br />
//处理最后一个字符<br />
if(i == str.length - 1) {<br />
ret += joinStack(stk);<br />
}<br />
return ret;<br />
});<br />
function joinStack(stk) {<span id="more-198"></span><br />
elli = elli || "-";<br />
if(stk.length &gt; 2) {<br />
ret = stk[0] + elli + stk[stk.length - 1];<br />
stk.length = 0;<br />
} else {<br />
ret = stk.join('');<br />
stk.length = 0;<br />
}<br />
return ret;<br />
}</p>
<p>//规则<br />
function check(n) {<br />
return ( n - 1) == stk[stk.length - 1];<br />
}</p>
<p>}</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jatx.org/archives/198/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>开始使用Aptana3</title>
		<link>http://www.jatx.org/archives/180</link>
		<comments>http://www.jatx.org/archives/180#comments</comments>
		<pubDate>Fri, 29 Jul 2011 07:40:20 +0000</pubDate>
		<dc:creator>G法师</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[代码提示]]></category>

		<guid isPermaLink="false">http://www.jatx.org/?p=180</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p>Aptana3出来已经有一段时间了,今天有时间从2升级了一下,感觉还不错.</p>
<p><strong>总览:</strong><div id="attachment_181" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jatx.org/wp-content/uploads/2011/07/20110729_002.png"><img src="http://www.jatx.org/wp-content/uploads/2011/07/20110729_002-300x183.png" alt="aptana3总览" title="aptana3总览" width="300" height="183" class="size-medium wp-image-181" /></a><p class="wp-caption-text">aptana3总览</p></div></p>
<p><strong>支持配色主题:</strong><div id="attachment_183" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jatx.org/wp-content/uploads/2011/07/20110729_003.png"><img src="http://www.jatx.org/wp-content/uploads/2011/07/20110729_003-300x240.png" alt="配色主题" title="配色主题" width="300" height="240" class="size-medium wp-image-183" /></a><p class="wp-caption-text">配色主题</p></div><br />
<span id="more-180"></span><br />
<strong>内置有N多主题:</strong><br />
<div id="attachment_184" class="wp-caption alignnone" style="width: 160px"><a href="http://www.jatx.org/wp-content/uploads/2011/07/20110729_009.png"><img src="http://www.jatx.org/wp-content/uploads/2011/07/20110729_009-150x150.png" alt="aptana配色主题" title="aptana配色主题" width="150" height="150" class="size-thumbnail wp-image-184" /></a><p class="wp-caption-text">aptana配色主题</p></div></p>
<p><strong>Formatters:</strong></p>
<p><a href="http://www.jatx.org/wp-content/uploads/2011/07/20110729_004.png"><img src="http://www.jatx.org/wp-content/uploads/2011/07/20110729_004-300x217.png" alt="" title="20110729_004" width="300" height="217" class="alignnone size-medium wp-image-185" /></a></p>
<p><strong>查找器嵌入到编辑器下方:</strong></p>
<p><a href="http://www.jatx.org/wp-content/uploads/2011/07/20110729_006.png"><img src="http://www.jatx.org/wp-content/uploads/2011/07/20110729_006-150x144.png" alt="" title="20110729_006" width="150" height="144" class="alignnone size-thumbnail wp-image-186" /></a></p>
<p><strong>代码提示比以前漂亮多了:</strong><div id="attachment_187" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jatx.org/wp-content/uploads/2011/07/20110729_007.png"><img src="http://www.jatx.org/wp-content/uploads/2011/07/20110729_007-300x103.png" alt="HTML 代码提示" title="HTML 代码提示" width="300" height="103" class="size-medium wp-image-187" /></a><p class="wp-caption-text">HTML 代码提示</p></div><br />
<div id="attachment_188" class="wp-caption alignnone" style="width: 310px"><a href="http://www.jatx.org/wp-content/uploads/2011/07/20110729_008.png"><img src="http://www.jatx.org/wp-content/uploads/2011/07/20110729_008-300x103.png" alt="javascript 代码提示" title="javascript 代码提示" width="300" height="103" class="size-medium wp-image-188" /></a><p class="wp-caption-text">javascript 代码提示</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jatx.org/archives/180/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vim</title>
		<link>http://www.jatx.org/archives/178</link>
		<comments>http://www.jatx.org/archives/178#comments</comments>
		<pubDate>Mon, 25 Jul 2011 14:12:59 +0000</pubDate>
		<dc:creator>G法师</dc:creator>
				<category><![CDATA[杂项]]></category>

		<guid isPermaLink="false">http://www.jatx.org/?p=178</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p>学vim就像学五笔, 闲得蛋疼才去学, 学会了才知道它的价值.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jatx.org/archives/178/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>犯傻</title>
		<link>http://www.jatx.org/archives/176</link>
		<comments>http://www.jatx.org/archives/176#comments</comments>
		<pubDate>Sat, 23 Jul 2011 07:55:23 +0000</pubDate>
		<dc:creator>G法师</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[pygtk]]></category>

		<guid isPermaLink="false">http://www.jatx.org/?p=176</guid>
		<description><![CDATA[ [...]]]></description>
			<content:encoded><![CDATA[<p>有一天,突然明白了一个错误<br />
当我在捣鼓Python 的 httplib 的时候, 我新建了一个文件 "httplib.py" 用来测试, 结果怎么都不行,告诉我该模块没有 "xxx" 方法...<br />
突然想到, 会不会自定义模块的引入方法也是这样的: <em>import httplib</em><br />
于是赶紧改名, 果然好了. 如梦初醒啊.<br />
以前纠结了N久的 pygtk 终于也复苏了</p>
<p>特此纪念python路上的经典低级错误</p>
<p>另, 还要记得把生成的.pyc清除</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jatx.org/archives/176/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

