Code Monkey home page Code Monkey logo

pineapple-calendar's Introduction

Pineapple Calendar

Note: since Plasma 5.26, the Digital Clock plasmoid comes from KDE now has built-in support for alternate calendar!

Install Guide | 安装指南

The motivation is to solve the issue that we, well, I, was not able to watch Chinese Lunar Calendar under KDE. The current goal of this project is, provide some generic code (probably a library) so I can create a plasmoid for Plasma 5 to display Chinese Lunar Calendar, and also provide a simple standalone application which also use the same code for quick testing and maybe some further development.

Although the goal of this project will only provide Simple Chinese Luni-solar calendar support, I still would like to make the code extendable/flexable to be able to implement other calendar system support.

Actually I'm not familiar with the date and time thing, it could be more complex when we also need to deal with different locales, so correct me if anything mentioned here is wrong. I'll also provide the resources I found here when needed.

Intended Outcome

Current Goal

Non-goal, but may consider

  • Support calendar events.
    • Support Solar Terms(节气) via calendar events.
    • Support ics.

Building

Current state we already got a usable applet for the most recent KDE Plasma Environment, see the instruction below about how to try it out.

By default it will only build the standalone application (for simple testing). The plasmoid won't build unless you enable the BUILD_PLASMOID CMake option. Also please notice this applet only contains a hard-coded Chinese lunar calendar as alternate calendar.

Build and test the plasmoid

Ensure you build with -DBUILD_PLASMOID=ON option, do sudo make install once your compile completed.

Once it's installed, you can right click the digital clock applet and replace with the "Date and Calendar" applet. Or if you just would like to see what it's like, you can use plasmoidviewer:

$ plasmoidviewer -a net.blumia.pineapple.calendar -l topedge -f horizontal

Note: I'm not sure how to get the c++ native plugin loaded if you use custom DESTDIR for your installation, don't change install dir if you don't know either, and please let me know if you know

Other stuff

Files under /plasmoid/package/contents/ui/calendar/ are forked from plasma-framework with path /src/declarativeimports/calendar/qml/ and commit hash 532817c00455ef7ddb400529b9c102f142db508b.

All .cpp and .h files which under /app/declarativeimports/net/blumia/pineapple/calendar/ and .qml files under /app/calendar/ are forked from plasma-framework with path /src/declarativeimports/calendar/ and commit hash 532817c00455ef7ddb400529b9c102f142db508b, except CalendarView.qml is forked from plasma-workspace with tag 5.21.

If you have any suggestion about my implementation, or have any better idea about pushing alternate calendar support into KDE, please feel free to open up a new issue, or comment on the feature request in the KDE bug tracker or the Google Document page about my thought, or write to plasma-devel mailing list!

License?

TBD, will be released under an OSI approved DFSG-compatible license.

For the plasma applet which provided in this repo, it's licensed under the license of LGPL-2.1-or-later.

pineapple-calendar's People

Contributors

blumia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pineapple-calendar's Issues

22.04打包版(见7楼)

原标题:22.04编译后安装最新版扩展无法显示

详细出错信息:

file:///usr/share/plasma/plasmoids/net.blumia.pineapple.calendar/contents/ui/main.qml:15:34: Type CalendarView unavailable

file:///usr/share/plasma/plasmoids/net.blumia.pineapple.calendar/contents/ui/CalendarView.qml:128:13: Type LocalCalendar.MonthView unavailable

file:///usr/share/plasma/plasmoids/net.blumia.pineapple.calendar/contents/ui/calendar/MonthView.qml:338:9: Type DaysCalendar unavailable

file:///usr/share/plasma/plasmoids/net.blumia.pineapple.calendar/contents/ui/calendar/DaysCalendar.qml:118:13: Type DayDelegate unavailable

file:///usr/share/plasma/plasmoids/net.blumia.pineapple.calendar/contents/ui/calendar/DayDelegate.qml:18:1: module "net.blumia.calendar" is not installed

构建找不到ECM包

README 中能不能加上依赖列表啊,我这找不到这个包,也不知道到底是哪个库的。

打包了Fedora 版本,望更新wiki

安装

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

使用

安装之后手动添加部件即可

效果

共添加了2个部件,一个放在了任务栏,一个放在了桌面。

img

做一个Deepin版本的

KDE版的都做好了,为啥不做个Deepin的?
README请配一张预览图。
把这个代码看懂,是不是可以开发KDE任务栏插件了?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.