在linux下显示农历
看到标题,很多熟悉linux的朋友估计都会想到曾经的 lunar-applet ,我之前也用过这款软件。
不过lunar-applet其实是基于gnome-panel的clock这个applet的代码做的,只是替换了原来显示日历的控件而已,这样,如果成为单独一个软件的话,得同步上游的代码,维护起来比较累。
所以,最近软件的作者 yetist 再次发力,把lunar-applet拆成了2个包外加一个patch。
具体就是:
- 只依赖 glib-2.0 的liblunar,这个只提供了计算农历信息的核心的算法;
- 依赖 gtk库 和 liblunar 的 liblunar-gtk 这个提供一套基于 gtk 的 widget;
- 然后是给 gnome-panel 的一个 patch,这个patch调用 liblunar-gtk 的 widget,替换掉 clock 的日历显示。
这样虽然描述起来比较费力,但是显然比较合理和易于维护,所以lunar-applet本身也就停止维护了。
现在貌似还没有deb/rpm的包,不过如果你用的也是gentoo的话,可以试试我传到gentoo-china-overlay的ebuild。如果你已经加了这个overlay的话,现在就可以给 gnome-panel 加上 lunar 这个USE,然后重新emerge一下 gnome-panel,就可以看到效果了。
我这里的截图,已经被传到项目主页里去了:
另外,值得一提的是,liblunar 还自带 python 的绑定哦,你要在python里使用的话,也是相当方便的,给个例子:
>>> import locale, time, liblunar >>> locale.setlocale(locale.LC_ALL, "") 'zh_CN.UTF-8' >>> t = time.localtime() >>> l = liblunar.Date() >>> l.set_solar_date(t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour) >>> format = "\n公历:%(YEAR)年%(MONTH)月%(DAY)日\n农历:%(NIAN)年%(YUE)月%(RI)日\n干支:%(Y60)年%(M60)月%(D60)日\n生肖:%(shengxiao)\n" >>> print l.strftime(format) 公历:二○○九年九月二十九日 农历:己丑年八月十一日 干支:己丑年癸酉月丁丑日 生肖:牛 >>> |
更多信息,还可以在项目主页里挖到。
GunsNRose 在 2009年09月29日 16:23 说:【 】
非常棒,赞一个
GunsNRose 在 2009年09月30日 00:05 说:【 】
骨头 提交ebuild到gentoo-china-overlay吧
在archlinux下试着安装打过补丁的 gnome-panel-liblunar,但还是没有显示农历
bones7456 在 2009年09月30日 08:31 说:【 】
写这个文章的时候,已经提交了啊。