agendafs
A filesystem for your calendar.
git clone git://mccd.space/agendafscommit 0e10b0e475b411592e2af657a9ed2d28c483212d
parent f207f67b28ac7467ba101f8ae0a65d3c3d2d615c
Author: Marc Coquand <marc@coquand.email>
Date: Thu, 10 Jul 2025 23:39:23 +0200
README
Diffstat:
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
@@ -4,6 +4,10 @@ Agendafs is a FUSE-based filesystem for writing notes that syncs to
ical-backends using [vdirsyncer](https://vdirsyncer.pimutils.org/) or
similar tools.
+## Status
+
+Agendafs is still in early development and is alpha-level software.
+
## Installation
Prerequisites: C compiler, libfuse, libuuid, libical and pkg-config
@@ -22,7 +26,12 @@ make
Agendafs uses [vdirsyncer](https://vdirsyncer.pimutils.org/) as a backend to sync iCalenar files to a remote caldav server.
-Each iCalendar entry (currently VJOURNAL only) is represented as a file or directory in Agendafs. Edit these files like you would on a regular filesystem. iCalendar entries that have a parent relationship are represented as directories. iCalendar attributes can also be accessed via xattr(7). Currently the only exposed xattribute is `user.categories`.
+Each VJOURNAL iCalendar entry (VTODO and VEVENTS in todo tracker) is represented as a file or directory in Agendafs. Edit these files like you would on a regular filesystem. iCalendar entries that have a parent relationship are represented as directories. iCalendar attributes can also be accessed via xattr(7). Current supported attributes are:
+
+- `user.categories` - comma separated list of categories
+- `user.class` - Can be either private, public, confidential.
+
+Agendafs pairs well with file explorers like `lf` or `nnn`.
## Usage
@@ -96,11 +105,23 @@ curl -X MKCALENDAR \
'https://my-nextcloud-server/remote.php/dav/calendars/me/journal'
```
-### Tool-specific notes
+### Categories
+
+#### Find all files with categories, and their categories
+
+```sh
+$ find . -type f -exec getfattr -n user.categories {} + 2>/dev/null
+```
+
+#### Find files by category
+
+```sh
+$ find . -type f -exec getfattr -n user.categories {} + 2>/dev/null | grep -B1 "MY_CATEGORY" | grep '^# file' | awk '{ print substr($0, 9) }'
+```
-#### lf
+### lf
-Updates might not be reflected with dircache set to true. If inodes are used correctly, this should be fixable.
+Updates might not be reflected with dircache set to true. This is probably because inodes are not updated correctly yet.
### Why C?