blob: 6af0ef6e1f9f4a957f3ecc9fdd85a9d614743c5e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# karlender
A bloated calender software.
## Features
- flexible condition-based recurring tasks
- automatic scheduling of tasks, based on priority
- blazing fast and highly configurable 🚀🚀
- undocumented
## Components
- `karld` daemon process calculating occurences and scheduling
- `karlc` cli-interface for karld (uses unix domain socket)
- `karlgui` graphical user interface made with egui (uses the unix domain socket too)
- `karlcommon` rust library for shared e.g. protocol
- _`????`_ browser interface (future, will use websocket)
## Protocol
Packets with JSON-serialized instances of either `ServerboundPacket` or `ClientboundPacket` respectively as declared in ([karlcommon/protocol.d.ts](./karlcommon/protocol.d.ts)) are sent over one of the supported methods.
### Unix domain socket
Every line is a packet. Default location for the socket is `/run/user/<uid>/karlender`.
### Websocket
Packets are text messages. Default bind address is `127.0.0.1:18752`.
## Licence
GNU Affero General Public License Version 3 only. See [COPYING](./COPYING)
|