An open API service indexing awesome lists of open source software.

https://github.com/sickmitch/nctasks_gtk

Nextcloud Tasks on Desktop
https://github.com/sickmitch/nctasks_gtk

calendar gtk4 nextcloud python3 tasks

Last synced: 4 days ago
JSON representation

Nextcloud Tasks on Desktop

Awesome Lists containing this project

README

        

# NCTasks

To use this: 1) clone the repo 2) run the entrypoint that is tasks.py 3) fill in setup. To update just pull the repo.

**BE CAREFULL** it's very early in development so backup your calendars before using it, if you don't know [this](https://codeberg.org/BernieO/calcardbackup) can be very usefull.

Do not use if the calendar MUST be preserved, I can't ensure on results.

## Dependencies
Tested only on Arch Linux for now, if you try on different platforms please report back.

If you get errors on runtime and find out missing dependencies please PR to this README, much appreciate.

```
sudo pacman -S python-gobject gtk4 libadwaita python-requests python-icalendar python-dotenv
```

## Setup Help
### Create API key in Nextcloud from browser

- Login

- Personal Settings

- Security Tab -> scroll to bottom

- In the field at bottom of the page insert app name, not important is usefull only to later reference

- Copy the unique key shown in a dialog **it will be seen only now**

- Paste the key into NCTasks's setup dialog
### Find available calendars :

$BASE_URL should be in a "https://nextcloud.example.xyz/" format
```
curl -u $USER:$API_KEY -X PROPFIND "$BASE_URL/remote.php/dav/calendars/$USER/" | grep -oE "$USER/[^/]*/" | cut -c"$(wc -m<<<$USER)"- | tr -d '/' | awk 'length != 1'
```

## Known problems
- Deleting is behaving strangely, usually when bulk deleting

## To implement:

- [x] State Walker
- [x] New Task

- [x] Add secondary tasks
- [x] Task management

- [x] Delete

- [x] Multiple selection
- [x] Various fields managing

- [x] Remove due

- [x] Edit task

- [x] Due hour manage
- [x] First use setup (WIP)

- [ ] Manage more then one calendar

- [ ] Graphical refinement

- [ ] Toggle for excluding completed tasks (now ever on)
- [ ] Collapse secondary tasks
- [ ] Add options button for setup dialog
- [ ] Overall consistency
- [ ] In app settings (defaults, server, ui, ...)