From f4aa6acef8e34b2e0d176ef83e0b42fbd5c5d005 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 28 Jul 2021 22:46:01 +0000 Subject: Add faces(1) patch --- sites/pmikkelsen.com/_files/faces.patch | 105 ++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 sites/pmikkelsen.com/_files/faces.patch (limited to 'sites') diff --git a/sites/pmikkelsen.com/_files/faces.patch b/sites/pmikkelsen.com/_files/faces.patch new file mode 100644 index 0000000..3309c1b --- /dev/null +++ b/sites/pmikkelsen.com/_files/faces.patch @@ -0,0 +1,105 @@ +From 5595dbb332eae353832dbc2ad11ef92aeb8fcab0 +From: Peter Mikkelsen +Date: Mon, 28 Jun 2021 21:45:53 +0000 +Subject: [PATCH] Add -u flag to faces, making it only show unread messages. + +--- +diff 658757abed7be283e06bae3b1722fc2703334d74 5595dbb332eae353832dbc2ad11ef92aeb8fcab0 +--- a/sys/man/1/faces Sun Jun 27 02:13:58 2021 ++++ b/sys/man/1/faces Mon Jun 28 23:45:53 2021 +@@ -4,7 +4,7 @@ + .SH SYNOPSIS + .B faces + [ +-.B -ihc ++.B -ihcu + ] [ + .B -m + .I maildir +@@ -99,6 +99,15 @@ + rather than the current state of the mail box. + In particular, faces are not removed from the screen when messages are deleted. + Also, in this mode clicking button 1 in the display will clear the window. ++.PP ++The ++.B -u ++flag causes ++.I faces ++to read in the mailbox like with the ++.B -i ++flag, but it only shows the unread ones. ++When right-clicking on a message icon in this mode, the message is both plumbed and removed from the view. + .PP + .I Seemail + is an +--- a/sys/src/cmd/faces/main.c Sun Jun 27 02:13:58 2021 ++++ b/sys/src/cmd/faces/main.c Mon Jun 28 23:45:53 2021 +@@ -10,6 +10,7 @@ + int history = 0; /* use old interface, showing history of mailbox rather than current state */ + int initload = 0; /* initialize program with contents of mail box */ + int clickrm = 0; /* allows removing mail faces by left clicking */ ++int onlyunread = 0; /* initialize program with unread messages, remove when clicked */ + + enum + { +@@ -358,6 +359,28 @@ + unlockdisplay(display); + } + ++int ++isunread(char *dir, char *num) ++{ ++ char buf[1024], flags[8]; ++ int n, fd, unread; ++ ++ snprint(buf, sizeof(buf), "%s/%s/flags", dir, num); ++ fd = open(buf, OREAD); ++ if(fd < 0) ++ return 0; ++ n = readn(fd, flags, 7); ++ close(fd); ++ if(n != 7) ++ return 0; ++ flags[n] = '\0'; ++ if(strchr(flags, 's') != nil) ++ unread = 0; ++ else ++ unread = 1; ++ return unread; ++} ++ + void + loadmboxfaces(char *maildir) + { +@@ -370,7 +393,8 @@ + chdir(maildir); + while((n = dirread(dirfd, &d)) > 0){ + for(i=0; i