Skip to content
Gary Wang edited this page May 25, 2022 · 14 revisions

我需要这个小部件吗?

此小部件开发的原始目的即解决 KDE 桌面环境下无法查看农历的问题,也旨在试验是否可将相关特性推进至 KDE 上游。

感谢 @easyteacher 的努力,KDE Plasma 自 5.26 起终于支持了设置包括农历在内的多个日历系统作为替代日历,故如果您在使用 Plasma 5.26,则您很可能不需要/不再需要此小部件了。如果您在使用早期版本,或是希望定制一部分显示效果或功能,则可继续阅读下面的段落来了解构建此小部件的相关步骤和相关信息。

构建带农历的“时间和日历” Plasma 桌面小部件

从现有软件包进行安装

AUR

若您使用 Archlinux ,您可以从 AUR 获取并安装此软件包:pineapple-calendar-git

安装方式与其它 AUR 软件包无异。

Fedora

@liusen373 维护了一个适用于 fedora 仓库的版本,可通过以下方式安装:

sudo dnf copr enable liusen/hello
sudo dnf install pineapple-calendar

另见:https://github.com/BLumia/pineapple-calendar/issues/4

Ubuntu LTS

Ubuntu 22.04

@mraandtux 制作了一个适用于 Ubuntu 22.04 的 0.2.0 版本对应的预编译软件包,若要获取请参阅 这个回复

Ubuntu 20.04

@mraandtux 制作了一个适用于 Ubuntu 20.04 的 0.1.1 版本对应的预编译软件包,若要获取请参阅 这个回复

从源码手动构建和安装

确保支持

源码的开发分支即为 master 分支。master 分支的版本目的上仅支持在最新的 KDE Plasma 桌面环境中使用,因此,master 分支的版本可能无法在 plasma 版本较早的发行版中安装。作为参考,此项目原作者的实际开发环境为 Arch Linux。若您使用的发行版所提供的 Plasma 桌面环境版本较低,从 master 分支安装遇到问题且不希望自行尝试解决/参与开发,则请先考虑使用较早的 tag release 版进行构建安装和使用,例如 0.1.1 版。

当您使用过程中遇到问题时,您可能需要自行解决或可以考虑在 Discussion 中发起讨论帖来一同讨论支持。

获取依赖

  • 此项目是 C++/QML 项目,故依赖基本的 c++ 构建工具链。
  • 此项目使用 cmake 进行构建。
  • 此项目依赖 icuqt5-declarative, extra-cmake-modules 软件包。
  • 此项目最终生成 Plasmoid Applet (Plasma 桌面小部件),意味着您需要使用 KDE Plasma 桌面环境。

请检查上述所涉及的软件包是否均已安装,若未安装请在您所使用的发行版中获取对应的软件包进行安装,完毕后进行构建步骤。

作为参考,在 Debian bullseye 中进行构建时,需要这些依赖:sudo apt install cmake libkf5plasma-dev libkf5declarative-dev libicu-dev,可参见这里

构建和安装

暂未测试安装到其它位置时的可用性,故如您没有相关经验,请将项目安装到 /usr 下。

$ cd /path/to/repo/ && mkdir build && cd build
$ cmake ../ -DBUILD_PLASMOID=ON -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/usr
$ make
$ sudo make install

进行 install 后您将会看到类似 -- Installing: xxx 的输出,cmake 并未提供 uninstall 目标,故您可以考虑记录此输出的内容,以便后续在希望移除此软件时进行手动删除。

安装后步骤

安装完毕后,您需要重启您的 plasmashell 来确保 Plasma 桌面环境可以查找和载入新安装的桌面组件:(建议在 Alt+F2 KRunner 中)plasmashell --replace

桌面环境重新载入后,即可直接右键您的“数字时钟”组件,选择可替换部件,并选择“时间和日历”组件。

“时间和日历”组件即为所安装的组件,当其位于 Plasma 面板中时,将显示时间和日期,点击后将显示月历(会在日期格子中显示当日对应的农历日期)。当其位于桌面时,将只呈现月历。

注意事项

  • 当您的发行版中 KDE Plasma 桌面环境或其它此小部件依赖的软件包(比如 ICU)进行版本更新后,(由于 ABI 可能存在变化,)此小组件的农历显示可能会消失,重新进行构建和安装步骤即可。
  • 当前提供版本 并非 Plasma 桌面环境所提供的数字时钟小部件的完全对等替代,例如并未提供不同时区世界时钟的支持。

故障排查

当在构建、安装、使用时,若出现问题,可以参考下面的惯用排查方案:

  • 若问题发生于系统软件包或此 Plasmoid 小部件本身更新后,请先尝试重启 plasmashell,方式参见“安装后步骤”。
  • 若问题发生于系统软件包(尤其是 Qt 或 Plasma 桌面环境相关的软件包)更新后,且重启 plasmashell 仍未解决此问题,请考虑 重新构建 并安装新构建的版本。
  • 使用 plasma-sdk 提供的 plasmoidviewer 预览效果并检查 stdout 输出:plasmoidviewer -a net.blumia.pineapple.calendar -l topedge -f horizontal
  • (其它待补充)

获取帮助

若仍未解决并希望获取帮助,请在发起讨论主题时附带您的:

  • 发行版名称及版本
  • KDE Plasma 桌面环境版本
  • 其它您认为可能有助于诊断问题的信息,例如若为构建失败则提供构建输出、若为正常构建但无法正常使用则提供 plasmoidviewer 输出等。

版本说明

编写此 Wiki 时所对应的仓库版本:

此 Wiki 意图上应当适用于的仓库版本:

  • master 分支的最新提交。