From aede92502c4fcf759f4fa4d6965595aee645c0a8 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Sun, 16 Aug 2020 15:33:47 -0400 Subject: contrib/palaver: Add no message preview flags --- contrib/palaver/notify.c | 13 +++++++++++-- contrib/palaver/pounce-palaver.1 | 10 ++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) (limited to 'contrib/palaver') diff --git a/contrib/palaver/notify.c b/contrib/palaver/notify.c index 2d2d0bb..e35dabb 100644 --- a/contrib/palaver/notify.c +++ b/contrib/palaver/notify.c @@ -527,17 +527,24 @@ static void handleReplyUnaway(struct Message *msg) { sqlite3_reset(stmts[Clear]); } +static bool noPreview; +static bool noPrivatePreview; + static void jsonBody( char *buf, size_t cap, struct Message *msg, const char *network, bool preview ) { + bool private = (msg->params[0][0] != '#'); + if (private && noPrivatePreview) preview = false; + if (noPreview) preview = false; + FILE *file = fmemopen(buf, cap, "w"); if (!file) err(EX_OSERR, "fmemopen"); fprintf(file, "{\"badge\":%d", badge); fprintf(file, ",\"sender\":"); jsonString(file, msg->nick); - if (strcmp(msg->params[0], nick)) { + if (!private) { fprintf(file, ",\"channel\":"); jsonString(file, msg->params[0]); } @@ -654,9 +661,11 @@ int main(int argc, char *argv[]) { const char *pass = NULL; const char *user = "pounce-palaver"; - for (int opt; 0 < (opt = getopt(argc, argv, "!c:d:k:p:u:vw:"));) { + for (int opt; 0 < (opt = getopt(argc, argv, "!NPc:d:k:p:u:vw:"));) { switch (opt) { break; case '!': insecure = true; + break; case 'N': noPreview = true; + break; case 'P': noPrivatePreview = true; break; case 'c': cert = optarg; break; case 'd': path = optarg; break; case 'k': priv = optarg; diff --git a/contrib/palaver/pounce-palaver.1 b/contrib/palaver/pounce-palaver.1 index 187b8ee..4f0b870 100644 --- a/contrib/palaver/pounce-palaver.1 +++ b/contrib/palaver/pounce-palaver.1 @@ -1,4 +1,4 @@ -.Dd August 11, 2020 +.Dd August 16, 2020 .Dt POUNCE-PALAVER 1 .Os . @@ -8,7 +8,7 @@ . .Sh SYNOPSIS .Nm -.Op Fl v +.Op Fl PNv .Op Fl c Ar cert .Op Fl d Ar path .Op Fl k Ar priv @@ -32,6 +32,12 @@ option must be enabled in .Pp The arguments are as follows: .Bl -tag -width Ds +.It Fl N +Never send message previews, +regardless of the app preferences. +.It Fl P +Never send message previews +for private messages. .It Fl c Ar cert Load the TLS client certificate from .Ar path . -- cgit 1.4.1