1
0
Fork 0
nixos-config/packages/kassandra/README.md

2.1 KiB
Raw Blame History

kassandra

Kassandra from Greek mythology tells the Trojan warriors in the Illiad not to take in the horse offer by the Greek. They dont 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.

State

  • 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.

Plans

  • 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.