My favorites | Sign in
Project Logo
                
Feeds:
People details
Project owners:
  wu2xiaotian, yetist
Project committers:
redwooods

这是一个linux下的中国农历函数库,实现了农历、节气、节日、自定义纪念日等功能。

feature

liblunar

  1. 实现公农历转换
  2. 显示农历、节气、节日、纪念日、干支、八字、生肖
  3. 支持自定义重要纪念日功能, 自定义纪念日功能需自行修改$XDG_CONFIG_HOME/liblunar/hodiday.dat文件。
  4. python、vala 绑定

liblunar-gtk

  1. 使用preload, 支持动态切换GtkCalendar和LunarCalendar(见后面截图)
  2. 支持自定义节日显示颜色。
  3. python,vala 绑定。

安装

./configure --prefix=/usr --enable-gtk-doc
make
make install

FAQ

1. 如何实现gnome-panel中的clock日历小部件显示农历?

编辑文件/etc/X11/xinit/xinitrc.d/99-liblunar-preload, 在其中设置环境变量LD_PRELOAD环境变量,并加上可执行权限,然后重新登录(重启X)。文件内容如下:

$ cat /etc/X11/xinit/xinitrc.d/99-liblunar-preload 
#!/bin/sh
LD_PRELOAD="/usr/lib/liblunar-gtk-preload.so"
export LD_PRELOAD
$ chmod +x /etc/X11/xinit/xinitrc.d/99-liblunar-preload

这将使得所有基于GtkCalendar的程序在运行时自动使用LunarCalendar显示农历日期,达到运行时切换。运行效果见后面截图。

2. 如果不想使用LD_PRELOAD环境变量,如何修改现在基于GtkCalendar的程序,使其支持农历显示?

将原有程序中的gtk_calendar_new()代码替换为lunar_calendar_new(); 设置GtkCalendar, 打开GTK_CALENDAR_SHOW_DETAILS。

3. 可以自已定义节日和纪念日吗?

可以,liblunar-gtk支持用户自定义节日,这里 有一份适合大陆的节日配置文件,将其下载回来放到~/.config/liblunar/目录中即可。用户也可以参照其格式,自定义自己的重要节日。

4. 可以在非中文环境下不让它显示拼音吗?

liblunar-gtk默认支持中国大陆、中国台湾、中国香港等地区的本地显示,在其它的locale环境下,将会显示拼音,如果不想在其它非中文环境下面显示拼音的话,可以设置系统环境变量LIBLUNAR_GTK_IGNORE_NON_CHINESE=1, 这样在其它locale环境下面,将不显示农历。

一些截图

almanah, gnome下的笔记本软件:

empathy,gnome的IM软件日志界面:

xfce4-panel,xfce4-panel的datetime面板插件:









Hosted by Google Code