aboutsummaryrefslogtreecommitdiffstats
path: root/filters/calendar
diff options
context:
space:
mode:
authorBence Ferdinandy <bence@ferdinandy.com>2024-04-13 10:45:10 +0200
committerRobin Jarry <robin@jarry.cc>2024-04-13 21:46:49 +0200
commit777bbb77e806cd127d63f0d19cda38a8ab6ec1fb (patch)
tree74e9af7757e65be327b6f715c2f3f1d8de48c998 /filters/calendar
parent771e676953c54aa6c818020687b53470ec5597f3 (diff)
downloadaerc-777bbb77e806cd127d63f0d19cda38a8ab6ec1fb.tar.gz
contrib: improve readability of meeting requests
Meeting requests may contain dozens of participants, making the attendee list potentially very long, hiding one of the most important piece of information in the request, namely the time of the meeting. Also the RSVP statuses of participants usually does not carry any information, since when the meeting is created all participants RSVP status will be the same (needs-action). The current layout uses three rows for a single participant, making it hard to glance over quickly. Move the start and end time of the meeting up into a more prominent place and leave the variable length attendee list last. Add a quick overview list of attendees before listing the participations status. Changelog-changed: Improved readability of the builtin `calendar` filter. Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com> Tested-by: "Matěj Cepl" <mcepl@cepl.eu> Tested-by: inwit <inwit@sindominio.net> Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'filters/calendar')
-rwxr-xr-xfilters/calendar33
1 files changed, 23 insertions, 10 deletions
diff --git a/filters/calendar b/filters/calendar
index 2808e13f..8d7e67dc 100755
--- a/filters/calendar
+++ b/filters/calendar
@@ -161,10 +161,33 @@ BEGIN {
is_duplicate = (id in UIDS);
if(is_duplicate == 0) {
printf fmt, "SUMMARY", unescape(summary, 0)
+ printf fmt, "START", start_date
+ printf fmt, "END", end_date
+ if (intfreq != "") {
+ printf "\n"fmt, "RECURRENCE", intfreq
+ if (rcount != "")
+ printf fmt, "COUNTS", rcount
+ if (rrend != "")
+ printf fmt, "END DATE", rrend
+
+ }
if(location != "")
printf fmt, "LOCATION", location
if(organizer != "")
printf fmt, "ORGANIZER", organizer
+ printf " %-14s", "ATTENDEES "
+ for (idx in people_attending) {
+ if (idx == 1){
+ printf "%s,\n", people_attending[idx]
+ }
+ else if (idx == length(people_attending)){
+ printf " %-14s%s\n", "", people_attending[idx]
+ }
+ else{
+ printf " %-14s%s,\n", "", people_attending[idx]
+ }
+ }
+ printf "\n\n %-14s\n", "DETAILED LIST:"
for (idx in people_attending) {
printf fmt, "ATTENDEE [" idx "]", people_attending[idx]
partstat = people_partstat[idx]
@@ -176,16 +199,6 @@ BEGIN {
printf fmt, "", "RSVP\t" rsvp
}
}
- printf fmt, "START", start_date
- printf fmt, "END", end_date
- if (intfreq != "") {
- printf "\n"fmt, "RECURRENCE", intfreq
- if (rcount != "")
- printf fmt, "COUNTS", rcount
- if (rrend != "")
- printf fmt, "END DATE", rrend
-
- }
if(entry != "")
print "\n" unescape(entry, 1);
UIDS[id] = 1;