星期二, 八月 28, 2007

Cursor Theme,鼠标指针的主题(2)

更正一下上一篇文章中的错误。
在CoreGraphics中,4517A0~4534A0都是Arrow和I-beam鼠标指针的样式。
4517A0+400 16*16 Arrow白底黑框 无阴影
451BA0+400 16*16 Arrow黑底白框 无阴影
451FA0+400 16*16 Arrow黑底白框 无阴影
4523A0+400 16*16 Ibeam无阴影
4527A0+400 16*16 Ibeam粗 无阴影
452BA0+900 24*24 Arrow有阴影
4534A0+400 16*16 Arrow黑底白框 无阴影

星期日, 八月 26, 2007

Cursor Theme,鼠标指针的主题

Mighty Mouse可以改变鼠标的样式,不过至今没有1.3版的sn,也没有破解。虽然Mighty Mouse只要$10,貌似很便宜,可以换成¥的话,就是¥80了,作为一个只是换鼠标主题的软件来说太贵了。

把Mighty Mouse踢开后,现在两种选择,要么继续忍受那个丑陋的I-beam满天飞,要么就hack系统的指针样式。在忍无可忍之后,我选择了后者。

然后就开始了漫长而枯燥的搜索和分析过程,developer.apple.com上没有什么很有价值的东西,example也看过了,都没有什么帮助。开始以为改进一下CarbonCocoa_PictureCursor这个 例子应该能实现,后来发现困难还是比较大的。只能hack系统中的资源了。curosrdata中没有包含arrow/I-beam等指针的图像,据说是包含在某个运行库中。
又仔细分析了一下Mighty Mouse里的那个QECursorDefaults.plist文件,其实.MightyMouse文件也是一个xml,把后缀改成.plist就可以用property list editor编辑了,看到里面又com.apple.coregraphics.arrow之类的keyword。系统并没有com.apple.coregraphics这个文件,估计应该是包含那个库里。最有可能的就是在CoreGraphics.framework里。

漫长的搜索+一点点运气+第六感和合作,终于在CoreGraphics里找到了,Arrow/I-beam/Alias/....的图像。在里面连续的存放着指针的图像,没有找到在哪里定义图像的大小和热点,没有和图像数据放在一起。这个问题不算严重。

10.4.10的CoreGraphics,偏移4527A0~452BA0存放的是I-beam的图像 ,大小16*16*4=1024字节,图像大小16*16,每点4字节,前3字节是rgb,第4字节是alpha。在Mighty Mouse的数据中,也是每个像素4字节,但是alpha是第1字节,后面3字节是rgb。

4527A0~452BA0 400Byte I-beam
452BA0~4534A0 900Byte arrow
4534A0~ alias

文件都放到自己的主页上了。

星期日, 八月 05, 2007

Linux又发展到一个调整期了

国外,kernel开发小组中一名重要的开发人员宣布退出,在最用用户体验方面,gnome只是在炒冷饭,3.0还只是停留在模糊的概念中,kde4已经发布了第一个alpha测试版,然而用户体验远未达到预期中“革命性的”改善,整体构架已经确定了,估计最终版也不会有什么打的变化。有相当多不错的linux程序在06年下半年和07年上半年停止的开发,也有许多优秀的程序停止的维护,更多的程序是处在半死不活的状态中。
国内,开发方面实在没有什么好说的,从来没有活跃过。各大linux社区的也渐渐的沉寂,尽管某人借开源和微软的名声炒了自己一把,但是对linux社区的发展没有任何贡献,只是增加了一些闲聊的话题罢了。
今年对linux社区贡献最大的应该是dell,敦促ati推出优质的linux驱动,恐怕也只有它有这个能力了。
总而言之,linux的泡沫再一次破了,接下来应该又是一个闷着头发展的时期了,再接着就是下一次泡沫……