aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/island/calendar/calctl
AgeCommit message (Collapse)AuthorFilesLines
5 daysName the project Keystone, and move its paths and namespacesDanilo M.1-1/+1
The repository had no name of its own, only the framework's. It is now Keystone, in the README, AGENTS.md, the settings window, notes commit messages, calctl's PRODID and the user page's User-Agent. Its files move off quickshell's name too: ~/.config/quickshell/greetings -> ~/.config/keystone/ ~/.config/quickshell/obs-scene-icons.json -> ~/.config/keystone/ $XDG_STATE_HOME/quickshell/desktop.json -> $XDG_STATE_HOME/keystone/ ~/.config/quickshell is Quickshell's own default config directory (a bare qs loads its shell.qml), so sharing it was a collision rather than a home. There is no fallback to the old paths: the files are moved once. The layer namespaces become keystone-*, and the Hyprland blur rules in hypr-theme are renamed to match in the same change. A running shell keeps its old namespaces until restarted. Left alone: the retired standalone mail and vm shells' namespaces, which their READMEs keep as history; Quickshell's own app id, binary and process name; and the repository directory. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 daysfix(calendar): review findings in calctl and the editorDanilo M.1-35/+61
An edit now rewrites only the fields that changed. A save with nothing changed used to rebuild the alarm, turning ACTION:AUDIO into DISPLAY and dropping ACKNOWLEDGED, re-anchor the start to the local zone, and strip SUMMARY's parameters; the test edits a foreign event unchanged and checks every one survives. get, edit and delete name the calendar the event is in. The same invite synced into two calendars has one UID, and the panel acted on whichever file came first, so editing one copy could overwrite or delete the other. A custom rule's date cannot be moved from the panel: BYDAY=MO stayed on Monday while the start moved, and the series lost the day shown. UNTIL is read back in local time, so a 22:30 series keeps its last occurrence. Files are written 0644 like vdirsyncer's. Enter in the title no longer bypasses the busy guard, which could create an event twice, and a throwing callback no longer leaks its Process. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 daysfeat(calendar): calctl creates, edits and deletes eventsDanilo M.1-0/+158
Edits change only what the form owns: a custom rule, extra alarms and properties this tool does not know survive, which the test checks on an event with BYDAY, two alarms and an X- property. Writes go through a temporary file and a rename so khal, cal-notif and vdirsyncer never read half a file, and a vdirsyncer sync is started detached afterwards. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
10 daysfeat(calendar): calctl reads the vdir as JSONDanilo M.1-0/+307
The calendar list comes from khal's config, so there is no second list. Recurrence is expanded with dateutil in naive local time, which keeps a weekly 09:00 at 09:00 across the DST change; the test pins that on 26 October. A rule richer than a plain FREQ, or alarms other than one preset, read as custom, which is what lets an edit leave them alone. A file that fails to parse is skipped rather than blanking the month. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>