aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/island
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/island')
-rw-r--r--desktop/island/README.md19
1 files changed, 18 insertions, 1 deletions
diff --git a/desktop/island/README.md b/desktop/island/README.md
index 8f70506..4d21e6e 100644
--- a/desktop/island/README.md
+++ b/desktop/island/README.md
@@ -42,7 +42,7 @@ reports its initial state as events. The desktop icons come from
`Wed 07/10 15:07`, then one dot per VM that is running, paused, suspended,
saved or crashed (a plainly shut-off VM gets none). States come from the
drawer's `Virsh` service, whose lifecycle event stream runs whether the drawer
-is open or not.
+is open or not. Click opens the calendar panel.
## Status pill
@@ -81,6 +81,23 @@ they change and keeping keys it does not know. A tile added to the code
later starts hidden. Pure helpers in `Controls.js`, tested with
`node island/test_controls.js`.
+## Calendar panel
+
+The clock pill opens a month grid beside the selected day's agenda. Dots
+are one per calendar with something that day, in the khal colours; a bell on
+an agenda row means the event carries its own alarm. A click on an event, or
+"+ New event", opens the editor; while it is open the grid picks the date
+(shift-click for the end). Repeat is none, daily, weekly, monthly or yearly
+with an optional until-date; the alarm is none, 10m, 1h or 1d. An event with
+something richer shows custom and an edit leaves it alone. Edit and delete
+act on the whole series. Escape closes the editor, then the panel.
+
+Everything goes through `calendar/calctl`, which reads the calendar list
+from khal's config, writes the `.ics` files atomically and starts a
+`vdirsyncer sync` after each write. The panel watches the calendar
+directories, so khal edits and cron syncs show up live. Tests:
+`/usr/bin/python3 calendar/test_calctl.py`, `node calendar/test_cal.js`.
+
## Privacy
`privacy.sh` prints `mic cam loc scr`, each 0 or 1, and `Privacy.qml` polls it