2006-12-31

gnotepad

学习GTK+有一段时间了,终于下决心要做点什么。
先从简单的开始吧,做简单的有助于提升信心,循序渐进、逐步完善 好了,哈哈。
(用Linux这段时间看过太多“眼高手低,浅尝辄止”的例子了)
那么具体做什么呢?前一段时间做的LFS里X我只装了GTK+,GNOME/XFCE/KDE都没装(不想用这些大部头的东西,用了icewm),连QT我都没装的-_-... 这样有很多方便的东西就用不了了。
现在最想要的是一个小巧些的文本编辑工具,不是说vim不好,就是有时候零时性的输入一小段文字然后复制粘贴到其他地方去 老是启动个vim感觉有些大材小用了,呵呵
说做就做吧,很快一个小巧的文本输入工具就出来了(ver. 0.0.0) :D
但是现在除了输入、复制、粘贴文本,其他的什么都没的做的,以后慢慢的完善吧,今天太晚了,睡觉去了。
这个软件叫什么名字呢?于是想到了Win里面的notepad,呵呵,就叫gnotepad吧(GTK notepad)。
(管他有没有同名的,反正是我自己用——内部使用(仅供学习和交流),呵呵)
//EOF
Read More...

2006-12-25

鸡不葱,鱼不蒜。
大火豆腐,小火鱼;千煮豆腐,万煮鱼。
妈妈说的 :D Read More...

2006-12-22

新版bloger模板设置[1]

作者:h_Davy
===========================================
old:
<MainOrArchivePage>
   span.fullpost {display:none;}
</MainOrArchivePage>

<ItemPage>
   span.fullpost {display:inline;}
</ItemPage>
-------------------------------------------
new:

<style type='text/css'>
<b:if cond='data:blog.pageType != "item" '>
  span.hideonmain {display:none;}
<b:else/>
  span.hideonmain {display:inline;}
</b:if>
</style>
usage:
this will show on main
<span class="hideonmain">this will hide on main</span>

===========================================
old:
<MainOrArchivePage><br />
   <a href="<$BlogItemPermalinkURL$>">Read more!</a>
</MainOrArchivePage>
-------------------------------------------
new:
find the "<b:includable id='post' var='post'>" module,in the "<div class='post-body'>...</div>" field:
(follow the "<p><data:post.body/>" will better)
<b:if cond='data:blog.pageType != "item" '>
  <a expr:href='data:post.url'>Read More...</a>
</b:if>

===========================================
很久没上bloger了,今天上去看看发现改版了,出了个"new..."马上申请个试试:D
er...发现模板也用了新的模板技术(Ajex??),我之前对Ajex也没接触过,看Bloger的Help也看不出个头绪来,于是down了个template参考Help才慢慢摸出个头绪来。。。
新版的Template一般的布局、外观设置方便了很多,用Bloger的设置页面就可以了,模板中对应的是<b:skin><![CDATA[ ... ]]></b:skin>那段,所以那段我们暂时不用管。
so我们自己在<head></head>中加入一个<style>块,通过阅读之后的Template代码,发现用<b:if cond='data:blog.pageType != "item" '>(或<b:... == "item" '>)来判断是否(否是)在mainPage,并且可以用if ... else。
至于加入"Read More"就有些麻烦了,首先是位置,然后是变量名。
使用FireFox的FireBug括展或DOM括展可以轻松找到content的位置:
outer-wrapper -> wrap2 -> content-wrapper -> main-wrapper -> main -> Blog1 -> blog-posts -> post uncustomized-post-template -> post-body ...
在<b:includable id='main' 中可以找到'blog-post',如果你读过Bloger的Help,就会知道includable是定义一个模块、include是使用某模块。
下面的<b:include data='post' name='post' />就是我们要找的地方了,so找到'post'模块。。。接下来的一切将无比简单(在这里变量名已经给出了post.url,而post.link应该是浏览器Address里面显示的东西了--当前页面的地址)
而<data:post.body/>就是正文了。


另外:"codes"
div.codes {border: 1px solid rgb(198, 198, 198); margin: 0px; padding: 4px; overflow: auto; width: 500px; height: auto; text-align: left;}

<div class="codes">
codes here...
注意其中的'<'、'>'要换成'&lt;'、'&gt;',还有一些HTML转义符也要用相应的代之(如:'&'用'&amp;')
</div>
其实,bloger有个<blockquote>你只要重载它就可以了:
blockquote {border: 1px solid rgb(198, 198, 198); margin: 0px; padding: 4px; overflow: auto; width: 500px; height: auto; text-align: left;}


//EOF
Read More...

2006-12-15

屏蔽大片代码

有大块的代码段需要屏蔽掉用什么方法?
用/* ... */?如果中间还有/* ... */注释块乍办?
当然是用:
#if 0
 ...
#endif
预编译块了!!
//EOF Read More...

2006-12-07

我的LFS之旅[03]

LFS终于完成了,也顺利的进入了系统。

但是在用 mount file.iso 的时候会提示 “无/dev/loop#”,FrameBuffer也开不了。
仔细检查了 udev的配置文件,loop是存在的,但为什么就没有 /dev/loop[0-9]呢??

回忆一下,原来我编译 kernel 的时候基本上都是用的默认的只添加了和我硬件相关的几个选项,那就是说没有在kernel里面加入支持了,这个好办重新配置编译一次 kernel就可以了 ^_^

loop option:
Device Drivers => Block deviese => Loopback device support

FramBuffer:
Device Drivers => Graphics support => Console display driver support => Framebuffer console support
(顺便把Logo也选上^_^)

配置完后编译安装,再次进入呵呵, mount iso 成功了 :D
有了FrameBuffer也可以用 zhcon 了,呵呵:)


//EOF
Read More...

我的LFS之旅[02]

上次FC6里面做工具链的那个解决方法在做第五章的时候可以顺利完工,但在做第六章时出了点问题(我做了几次都这样)。
最后我是在 VM Ware 里面做好工具然后拿到主系统里面来做剩下的才完成的.(在VM里面做好第五章,把/tools copy 到FC6里面来完成剩下的工作)
(可能我这个办法显得很苯,但是这是我没有办法的办法了-_-,而且现在结果也成功了^_^,我现在就是在我的LFS里面回复的哦,呵呵 :) )
现在我正在做LFS的X系统,但还是有蛮多困难的,希望今后大家一起多多探讨探讨 :)

最后, Good Luck! ^_^ 祝你也早日完成LFS

//EOF
Read More...

2006-12-03

拷贝.config的必要性

以前我一直以为kernel安装好后# cp .config /boot/config-<version> 可做可不做,到今天我才发现是一定要做的(为了今后的方便)
$ make ... xxxconfig/menu 时会优先load目标目录中的.config,如果没有的话对应当前内核的/boot/config-<version>文件。
这样将大大简化配置过程,毕竟大多数情况下相对上次的配置只需要修改少量的设置或不需要修改。
//EOF Read More...

2006-12-02

LFS note

1.构建工具链时,如果用自己的目录(不用/tools/):
在第二次编译GCC时首先改 specs 那个补丁(替换里面的所有/tools/字符串为你的目录),然后命令中的/tools/目录同样替换掉。

2.注意:第二次binutils的make ld中的 LIB_PATH 决定下次连接的lib目录。
如果下次是做系统的话,这个是一定要做的。(注意做系统时cp ld-new ld)
如果下次还是做工具链的话,ld就用ld-old。(因为工具链的2次编译能做出自己的依赖关系)
(就是说做的时候用ld-old是依赖这个工具链的lib,用ld-new是依赖LIB_PATH里的)
//EOF Read More...