about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-04-02 17:03:10 -0400
committerJune McEnroe <june@causal.agency>2021-04-02 17:26:43 -0400
commitdf6bc07f44ea3974ba7376d8e3c2b04b0422bf7c (patch)
tree829dee90325abd56524ceaaa59fd68f053ae6d5c
parentFix README typo (diff)
downloadcatgirl-df6bc07f44ea3974ba7376d8e3c2b04b0422bf7c.tar.gz
catgirl-df6bc07f44ea3974ba7376d8e3c2b04b0422bf7c.zip
Skip STATUSMSG prefixes
This feature is rarely used, so just skip STATUSMSG prefixes in the
target so messages get routed correctly.
-rw-r--r--chat.h1
-rw-r--r--handle.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/chat.h b/chat.h
index 9f5d454..eb826a8 100644
--- a/chat.h
+++ b/chat.h
@@ -155,6 +155,7 @@ extern struct Network {
 	uint userLen;
 	uint hostLen;
 	char *chanTypes;
+	char *statusmsg;
 	char *prefixes;
 	char *prefixModes;
 	char *listModes;
diff --git a/handle.c b/handle.c
index d889f8e..9f323d1 100644
--- a/handle.c
+++ b/handle.c
@@ -270,6 +270,9 @@ static void handleReplyISupport(struct Message *msg) {
 		} else if (!strcmp(key, "CHANTYPES")) {
 			if (!msg->params[i]) continue;
 			set(&network.chanTypes, msg->params[i]);
+		} else if (!strcmp(key, "STATUSMSG")) {
+			if (!msg->params[i]) continue;
+			set(&network.statusmsg, msg->params[i]);
 		} else if (!strcmp(key, "PREFIX")) {
 			strsep(&msg->params[i], "(");
 			char *modes = strsep(&msg->params[i], ")");
@@ -1196,6 +1199,9 @@ static void colorMentions(struct Cat *cat, uint id, struct Message *msg) {
 
 static void handlePrivmsg(struct Message *msg) {
 	require(msg, true, 2);
+	if (network.statusmsg) {
+		msg->params[0] += strspn(msg->params[0], network.statusmsg);
+	}
 	bool query = !strchr(network.chanTypes, msg->params[0][0]);
 	bool server = strchr(msg->nick, '.');
 	bool mine = !strcmp(msg->nick, self.nick);
nroe I forgot that you can expand variables inside variables names in make. Certainly makes some fun things possible. 2018-02-07Add janky X11 graphics frontendJune McEnroe 2018-02-07Include stdio.h in gfb.cJune McEnroe As promised. 2018-02-07Exit by returning false from input to gf{b,cocoa}June McEnroe I haven't built gfb yet, so a fix commit is probably incoming. 2018-02-07Rename title to status in gfcocoaJune McEnroe Also separate the options and fileName buffers in gfxx. 2018-02-06Require 4 bit counts on gfxx command lineJune McEnroe 2018-02-06Add gfxx controls for custom bitsJune McEnroe 2018-02-06Add gfxx palette loading and dumpingJune McEnroe 2018-02-06Add tags targetJune McEnroe This seems a bit out of character for me, but this is basically free: ctags(1) is part of FreeBSD and Darwin, and vim automatically uses tags. Also the format of tags files is cute. 2018-02-06Replace gfxx SCALE macro with interp functionJune McEnroe Short-circuits for b = 8. 2018-02-05Rename gfxx space indexed and add palette samplingJune McEnroe 2018-02-05Take scale into account for when to stop drawing in gfxxJune McEnroe 2018-02-05Always skip most significant bits in gfxxJune McEnroe This works for CARDS.DLL but might not for other things. We'll see. 2018-02-05Set title in gfcocoaJune McEnroe 2018-02-05Double-buffer gfb frontendJune McEnroe Still not vsync (seems like a newer DRM-fbdev implementation handles FBIO_WAITFORVSYNC but my kernel doesn't), but avoids flicker from clearing to black for each frame. 2018-02-05Rewrite gfxx bit handlingJune McEnroe Specifies how many bits for each of "alpha" (ignored), red, green, blue. Separates byte-order and bit-order. Much more flexible, but now won't render CARDS.DLL graphics properly due to the skip bit being not where it expects. Also mmaps the file instead of reading it all in. And the default palette and sampling got removed again for now, since it's too awkward to use. 2018-02-05Add flip option to gfxxJune McEnroe This handles upside-down graphics much better than reverse did. 2018-02-05Remove gfxx reverse optionJune McEnroe 2018-02-04Fix gfxx draw stop conditionJune McEnroe Would not draw the last partially visible column when mirrored. 2018-02-04Reuse CGColorSpace and CGDataProvider in gfcocoaJune McEnroe 2018-02-04Mark mac target phonyJune McEnroe 2018-02-04Set up Makefile for gfxx-cocoa or gfxx-fbJune McEnroe 2018-02-04Avoid doing excessive work in gfxxJune McEnroe By stopping when the next column would be off the edge of the buffer. 2018-02-04Handle window resizing in gfcocoaJune McEnroe 2018-02-04Set cinoptionsJune McEnroe 2018-02-04Tweak colorscheme moreJune McEnroe 2018-02-04Color MatchParen DarkYellowJune McEnroe White is not obvious enough. 2018-02-04Add palette sampling to gfxxJune McEnroe 2018-02-04Add 4-bit RGB to gfxxJune McEnroe Replace default palette with alternating black and white. 2018-02-04Add Quit menu item to gfcocoaJune McEnroe 2018-02-04Switch back to sane Objective-C styleJune McEnroe 2018-02-04Quit gfcocoa when window closesJune McEnroe 2018-02-03Apparently this is how people write Objective-CJune McEnroe