关于作者

用户名:whitebob
笔名:whitebob
地区:
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



Liloangel的blog小窝

Friends

Seeing|Feeling

访问统计:
文章个数:97
评论个数:60
留言条数:4




Powered by BlogDriver 2.1

Eros|Errors

 

Gold Price per Gram in China Yuan Renminbi

文章

zhcon-0.2.3 amd64 patch  (作者置顶)

- 作者: whitebob 2005年12月26日, 星期一 00:48  回复(2) |  引用(0) 加入博采

在 Fvwm 下把窗口移动到屏幕中心  (作者置顶)
呵呵,看上去简单,但实际上很难用一条命令来做到。因为 Fvwm 的移动尺度是不用窗口长度来标定的。
换句话说,就是对于不同大小的窗口,一次操作是只能将左上角或者右下角移动到同一个位置的,这样通过这种操作移动窗口到屏幕中心就不太容易。幸运的是有了 m 前缀和 WarpToWindow 这个命令,这样子就方便多了,因为可以在窗口内自由移动 pointer,然后可以Moveto m+0,m+0 ,窗口就自然移动了同pointer到窗口左上的反方向位移。而这个位移是我们可以利用WarpToWindow精确指认的!

于是乎:
+ I AnimatedMove -50 -50
+ I WarpToWindow 50 50
+ I AnimatedMove m+0 m+0 Warp
就做到了我们的要求。 这个概念推广后把窗口移到任意的合适位置已经难不倒你了吧,娃哈哈!

- 作者: whitebob 2005年12月3日, 星期六 02:13  回复(1) |  引用(0) 加入博采

Fvwm 下 win+D 和 win+L 功能的实现  (作者置顶)
突然对于 Fvwm 产生了浓厚的兴趣,大概是由于 Gnome 不能实现 Tile and Cascad 让我感到失望的缘故吧。Fvwm 的确让人爱不释手,玩起来上瘾。很多炫酷的功能就不讲了,谈谈怎么实现 Windows 下的 Win+D 显示桌面和 Win+L 锁定桌面的功能好了。后者很简单,前者稍微麻烦一点点。

Win+D 不是简单地把所有窗口最小化就完了,再按下一次会恢复原来的布局。就是说原来非最小化的窗口按一下最小化,按两下就恢复正常,而原来最小化的窗口始终保持最小化。这就涉及到分类和记忆状态。把这个问题想明白了,实现就简单多了。

DestroyFunc FuncFvwmIconifyTrue
AddToFunc FuncFvwmIconifyTrue
+ I All (!Iconic) State 1
+ I All (State 1) Iconify True

DestroyFunc FuncFvwmIconifFalse
AddToFunc FuncFvwmIconifyFalse
+ I All (State 1) Iconify False

DestroyFunc FuncFvwmIconifyToggle
AddToFunc FuncFvwmIconifyToggle
+ I FuncFvwmIconifyFalse
+ I All (State 1) State 1 False
+ I TestRc (NoMatch) FuncFvwmIconifyTrue

Key D A 4 FuncFvwmIconifyToggle
试试看,我不解释你能看明白思路吗?

其实很简单,首先尝试将标记过为普通又可能最小化了的窗口恢复。这是为了实现第二次按 Win+D 时的个功能,然后将标记撤除。如果没有这种标记,就将所有普通窗口标记,然后将其最小化,这就实现的第一次按 Win+D 的功能。看起来很麻烦,其实想想看很容易明白了哦。

实现 Win+L 就简单多了,和普通的快捷键定义没什么区别:)

DestroyFunc FuncFvwmLockScreen

AddToFunc FuncFvwmLockScreen
+ I All (xscreensaver) Nop
+ I TestRc (NoMatch) Exec xscreensaver -no-splash &
+ I Exec xscreensaver-command -lock

Key L A 4 FuncFvwmLockScreen

呵呵,就此抛砖引玉好了,希望大家发挥自己的想象力,让自己的桌面更酷炫哦

- 作者: whitebob 2005年10月31日, 星期一 03:33  回复(5) |  引用(0) 加入博采

在VC++.NET中添加OPENGL wizard  (作者置顶)
摘要:利用glut在VC++.net环境下进行Opengl的编程。 查看全文

- 作者: whitebob 2005年06月27日, 星期一 14:29  回复(1) |  引用(0) 加入博采

linux下的一键大法  (作者置顶)
摘要:linux 下的 一键关机 一键收邮件 一键输密码 : ) 查看全文

- 作者: whitebob 2005年04月28日, 星期四 16:35  回复(4) |  引用(0) 加入博采

the soul of a new machine

一切从我在实验室的仓库中发现的一台旧机器说起。这台机器严格说来该叫做minicomputer,也就是传统的小型机,早被PC淘汰的老古董。不过它长得一点都不像PC,看起来更像是一台音响功放或者是均衡器之类的东西。

谁会知道,这就是DG公司早期的旗舰产品,与pdp-8同时代的8位机器nova

- 作者: whitebob 2008年08月25日, 星期一 12:42  回复(1) |  引用(0) 加入博采

关于接口

各种不同的系统有不同的接口,有N个系统,要想连接起来就至少有N-1种接口,由于没有谁会同时安装更不可

能同时使用N个系统,实际上需要的接口数目会更多。

众多接口都存在几个最基本的问题:

1.接口的划分

2.接口的命名

3.接口的兼容性

4.接口的文档

以上这些问题构成了接口使用上的诸多不便,也是让人感觉头疼得要死的原因。

1.关于接口的划分:从道理上讲,接口应该严格是程序可执行功能标准正交基。不应该多余,不应该耦合,不应该有功能而没实现的接口。实际上,为了程序员自己和使用者的方便,上述规则几乎一定不成立。当然这种做法可以理解,但是这就像把汇编代码同C++的framework放在一起一样,让人觉得有点乱。

2.关于接口的命名:很大程度上程序员对于接口的命名具有很大的随意性,尽管一般都遵循某些规范,但往往由于历史原因和程序员的个人喜好,不同部分间的命名存在不一致,这常常是让人感觉费解的地方。

3.关于接口的兼容性:接口的兼容性不仅仅是一个声明的问题,对于某些已经购买的程序,升级其他部分带来接口不兼容是致命的问题。接口的二进制兼容也是重要问题,否则只能用大量的proxy库来解决一个本来不应该有的问题。

4.关于接口的文档:没有文档的接口和没有及时更新,语焉不祥的文档使得本来就存在的混乱更加严重。

提出这些问题是一回事,设计出真正合理的接口是另一回事,COM、COMBRA 和 .net 在一步步努力实现二进制级别上的接口兼容。但是这就像教一门新的人类语言,需要把过去的概念用全新的symbol来代替,在新的symbol中建立更合理的关联和耦合。

但是我一直在想,这个世界,在巴别塔出现前,到底存不存在一种大家都了解的自然语言呢?

- 作者: whitebob 2008年08月12日, 星期二 05:00  回复(1) |  引用(0) 加入博采

我要回来。。。签证check中

回顾自己这两年,在实验室忙得天昏地暗,但从心里上感觉自己却在退步,远离一个喜欢新鲜的我。

看看自己从前发的文章,还能感觉到当时百思后偶有所得的兴奋之情,不行,我要回来!!!

- 作者: whitebob 2008年08月5日, 星期二 17:00  回复(1) |  引用(0) 加入博采

心情有点郁闷
摘要:胡言乱语 查看全文

- 作者: whitebob 2008年03月16日, 星期日 00:08  回复(2) |  引用(0) 加入博采

海底光缆

为什么中国附近的光缆那么乱啊

- 作者: whitebob 2008年02月17日, 星期日12:02  回复(1) |  引用(0) 加入博采