diff options
author | Frederick Yin <fkfd@fkfd.me> | 2022-04-11 16:24:24 +0800 |
---|---|---|
committer | Frederick Yin <fkfd@fkfd.me> | 2022-04-11 16:24:24 +0800 |
commit | 579662f919502caf605c1e053685084d8dfe7498 (patch) | |
tree | 88af31e29735928c243b5f5ccbfa8a9bcea4200c | |
parent | 22dc4f825a7c3dcab5601c5d4d7df042d39454bc (diff) |
Add README
-rw-r--r-- | README.md | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..f71bdbc --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# Kanvas + +Kanvas is a plasmoid that syncs announcements and assignments from your +university's Canvas®™© LMS to your Plasma desktop. It lacks features and +configs, and I would not say it is not production-ready. + +Kanvas is written in QML. It is the first QML application I wrote and +I have not touched JavaScript in two years, so the code sucks. + +Right now, it looks like this: + +![Screenshot](img/screenshot_0.1.png) + +## Development + +First obviously you need the Plasma framework. If you have zero Plasma +development experience like me, here are some useful links: + +- [Techbase: Plasma 5](https://techbase.kde.org/Development/Tutorials/Plasma5) +- [Developer: Plasma Widget Testing](https://develop.kde.org/docs/extend/plasma/widget/testing/) + +My workflow as of now is a simple Makefile. Run `make install` to install +the plasmoid to your `~/.local/share/plasma/plasmoids/`, then `make` to +run it in a window (`plasmawindowed`). Each time you `make`, the plasmoid +in `.local/` will be updated. + +At startup you will see sample announcement/assignments. They are for +layout tweaking in the early stages of development. Before doing anything +you will need to configure the plasmoid. Right click the "Kanvas" heading +and click "Configure Kanvas". Go to the "Canvas" tab and fill out your +Canvas domain and OAuth2 token. Click "Fetch courses", then follow +instructions on the UI. Click "OK" to save. The configuration will be +saved for plasmawindowed every time you debug, but kept separate from the +rest of Plasma; if you add the widget to your desktop it has to be +configured again. + +## Todo + +- [ ] Placeholders when a list is empty +- [ ] Placeholders when machine is offline +- [ ] Sort assignments by urgency +- [ ] More friendly course list in config dialog +- [ ] Remember finished tasks |