fedora 29 安装gnome-shell 农历插件 手记
fedora吧
全部回复
仅看楼主
level 7
周子秦汉 楼主
2018年11月11日 15点11分 1
level 7
周子秦汉 楼主
工夫不负有心人,经一天努力,通过理解gnome-shell插件运行方式,摸索了半天,终于装好了。
这是效果图
2018年11月11日 15点11分 3
level 7
周子秦汉 楼主
2018年11月11日 16点11分 4
[真棒]
2018年11月12日 01点11分
level 7
周子秦汉 楼主
真他***aidu,发个贴非要说是广告,折腾死我了
2018年11月11日 16点11分 5
level 9
厉害,我农历折腾两天放弃了
2018年11月11日 23点11分 6
level 7
周子秦汉 楼主
后记,关于gnome-shell和农历插件,有一些笔记与大家分享。
1. 自己如何添加个人节日。我们在拷贝liblunar-data时,会在/usr/share/liblunar/中有三个文件,分别是holiday.zh_CN,holiday.zh_TW,holiday.zh_HK,相对应的,我们打开大陆节日表holiday.zh_CN这个文件中,在相关的公历,阴历或周中添加自己的节日,格式和文件本身数据格式保持一致就可以了。
2.lunar插件结构主要分为四个部分,一是插件的主文件extension.js,二是设置文件数据convenice.js(这个只是取得相关的数据接口),三是设置文件的ui接口(prefs.js,prefs.ui,schemas),四是整个插件元信息(metadata.json)。
3.该插件本质上是对liblunar-data.so的依赖,但GJS这里比较恶心,原以为仅是调用一个阴历的库,所以随便一个JS的阴历库应该都可以调用的,在这里花了很长一段时间,去试探如何在GJS中调用外面的NODE JS的包,但很遗憾没有成功。GJS调用外包,我从其调用GTK等C动态库来分析并翻阅资料,才知道,这货调用外部C动态库,需要一个中间xml说明文件,在此又返回查看该插件说明所依赖的两个包(girl-lunar-date,liblunar-date)去分析,前者提供了动态库的调用说明,后者提供了动态库。这便是二者关系
4.在extension.js中函数_getLunarClockDisplay 是用于topbar中间内容的显示,如图(我这个显示内容,自己简单更改过,与原版本不太一样)
而LunarCalendarSection._reloadEvents函数则是对应于日历消息栏的信息,这个大家也可以调整更改,如图(简单添加了一句话),这里addMessage方法只接受MessageList.Message及其派生类,原插件中其派生类是LunarCalendarMessage这个类将canclear,canclose两个方法均设置为false,即不能清除和关闭该消息,如果我们直接用MessageList.Message创建message,其canclear,canclose两个方法默认为true,即我们会看到在消息条目上有关闭按纽,也可以通过清除消息来删掉该信息。
当然,还有其他相关信息更改,如阴历年的显示区域,这个在updateData函数中,通过data_label.text来设置的。
好了,就想到这些了。
2018年11月12日 02点11分 7
周子秦汉 谢谢按你的方式果然成功了,以往fedora的悲崔就是好的插件装了不能用!
2018年11月12日 03点11分
level 10
[真棒]
2018年12月02日 15点12分 8
level 1
网页链接
搓了个新的,不需要依赖外部文件了,有兴趣的同学麻烦给试用下,喜欢请给个Star。
2026年05月16日 14点05分 9
@素虬ლ 不是基于历法计算,历法计算有成熟tyme.js来实现,这个依赖库对gnome-shell来说太重了。只是提供最近几十年的,大部分时候是为了看最近几年的农历和节假日,不是当作万年历来用的。
2026年06月24日 01点06分
@tigertall 如果不是基于历法计算而是通过字典查询的,没有任何意义。不过你的代码我没看,纯粹路过叨叨。
2026年05月17日 19点05分
@tigertall 有开源的历法,提供了多种开发语言接口,你自己去搜一搜,历法计算并不会很重,因为他们的实现都有缓存,不是每一次调用都去计算,再说了,你即使不用农历,那么公历其实也是计算出来的。所以不是重不重的问题,但是你有没有去实现的问题。
2026年06月24日 04点06分
@tigertall 最早的时候,我也是通过一些资料搜索,用的是通用的历法计算,农历的显示也比你那字典查询准确得多,但是他没办法计算十二节气,我们的农历比较麻烦,不仅有阳历,还有阴历。
2026年06月24日 04点06分
1