Kassandra from Greek mythology tells the Trojan warriors in the Illiad not to take in the horse offer by the Greek. They don‘t listen to her.
This is a taskwarrior frontend build with Haskell and reflex-frp.
WARNING: This will eat all of your tasks! This app is underdocumented and not intended for use by anyone else, yet.
- This project is primarily for my personal use. I share it in the spirit of free software but it is not primarily intendend to be usable for anyone else, at least at the moment.
- This app provides a GUI to view and edit tasks.
- You can compile the standalone:kassandra2 target with ghc to get a webkit-gtk-app or you can compile with obelisk to get a webserver. (Which needs some authorization right now.)
- Right now there are only a few custom lists to see tasks. The most useful one under the button "List" are lists based on any tag.
- It is supposed to be completely reactive, so everything it shows should be up-to-date. It relies right now on two netcat hooks to get updated from taskwarrior:
❯ cat ~/.task/hooks/on-add.kassandra-notification
#!/bin/bash
tee > (nc 127.0.0.1 6545)
❯ cat ~/.task/hooks/on-modify.kassandra-notification
#!/bin/bash
tail -n 1 | tee >(nc 127.0.0.1 6545)
(In the future these hooks might be generated by the program.)
- Right now the app shows tasks in a tree. Tasks tagged with +root are roots. Tasks with partof: are children. If you dont use this feature you can still see a plain list of tasks and edit them.
- You can sort tasks by dragging and dropping them either in a taglist or as children of a common parent. The sortposition is saved in custom uda attributes.
- The default UI should use some reasonable search dialog which should more or less fit normal taskwarrior use.
- Some calendar integration to sort tasks by time.
- UI improvements und documentation. The current UI is not self explanatory and has some ugly quirks.
- Custom UDA based features should be deconfigurable.
- There is supposed to be a solid auth system so you can use any client: Android/webkit/web to connect to any server.