在之前我通过修改calendar.js的方法解决了在Cinnamon桌面环境中增加中国农历显示的功能,但是在XFCE桌面环境中,面板的小部件不是由JavaScript编写的,功能修改起来就不一样了,需要查看一下C语言编写的源代码,我通过查看xfce4-panel-4.16的源代码,明白了clock插件是调用的gtk_calendar_new()函数绘制的GtkCalendar界面,并未发现自定义的绘制日历界面的语句,因此只能够从GtkCalendar方面的知识学习入手后再修改。
要修改GtkCalendar,肯定还会用到lunar-date等第三方的支持农历显示的库函数,通过github我找到了yetist负责维护的lunar-date和lunar-calendar,现在的最新版本为3.0,而Ubuntu软件仓库的最新版本则为2.1;我查看了Readme文件,发现安装完lunar-calendar 3.0版本,再做一些简单的配置,GtkCalendar就可以默认显示中国农历了。要安装lunar-calendar则必须先安装lunar-date,因此我通过Git clone命令将上述两个软件包的源代码下载了下来,准备进行编译安装。虽然在debian的官方的软件库中包含lunar-date 3.0的安装包,但是发现安装完成后仍然无法支持lunar-calendar 3.0的编译,提示未安装lunar-date 3.0,因此还是老老实实的编译源代码方式进行安装。
上述两个软件包是使用meson来完成编译工作,因此首先应该安装编译环境,安装需要以下两个语句:
sudo apt-get install python3 python3-pip ninja-build
pip3 install --user meson
一、下面就可以在源代码目录中开始编译,首先编译lunar-date 3.0,
第一步编译语句就会报错:
$ meson build --prefix /usr -Ddocs=true -Dintrospection=true -Dvapi=true -Dtests=true
错误信息
在XFCE桌面环境面板的clock插件之日历(calendar)部分增加中国农历显示功能
最新推荐文章于 2025-01-10 09:14:22 发布
本文详细介绍了如何在XFCE桌面环境中实现中国农历显示。首先,作者通过研究源代码发现需要利用lunar-date和lunar-calendar库,并解决编译过程中遇到的错误,如缺少valac和gtk-doc-tools。成功编译和安装这两个库后,对系统进行配置以支持GtkCalendar显示农历。然后,作者编辑xfce4-panel的clock插件源码,添加显示细节选项以显示农历。最后,调整gtk.css样式文件以优化日历显示。尽管在弹出日历中农历仍不直接显示,但已能在特定日期上查看农历信息。

最低0.47元/天 解锁文章
1059

被折叠的 条评论
为什么被折叠?



