aboutsummaryrefslogtreecommitdiff
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
parent771e676953c54aa6c818020687b53470ec5597f3 (diff)
downloadaerc-777bbb77e806cd127d63f0d19cda38a8ab6ec1fb.tar.gz
aerc-777bbb77e806cd127d63f0d19cda38a8ab6ec1fb.zip
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>
-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;