summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-12-05 15:04:34 -0500
committerJune McEnroe <june@causal.agency>2018-12-05 15:04:34 -0500
commit9d7e0726c2ed205db450c70af26d4ea760f6476e (patch)
treef721fc7d3025ef41a88ed11fe734d165eb8c17c0
parentSend input errors to the current tag (diff)
downloadcatgirl-9d7e0726c2ed205db450c70af26d4ea760f6476e.tar.gz
catgirl-9d7e0726c2ed205db450c70af26d4ea760f6476e.zip
Add /raw command
-rw-r--r--catgirl.17
-rw-r--r--input.c13
2 files changed, 20 insertions, 0 deletions
diff --git a/catgirl.1 b/catgirl.1
index 5cb9ae8..62f373e 100644
--- a/catgirl.1
+++ b/catgirl.1
@@ -171,6 +171,13 @@ The default
 is
 .Dq Goodbye .
 .
+.It Ic /raw Op Ar command
+Toggle the
+.Ql -raw-
+view
+and send the raw IRC
+.Ar command .
+.
 .It Ic /topic Op Ar topic
 Show the topic of the current channel
 or set it to
diff --git a/input.c b/input.c
index 4814841..2cd0ca6 100644
--- a/input.c
+++ b/input.c
@@ -49,6 +49,18 @@ param(struct Tag tag, const char *command, char **params, const char *name) {
 
 typedef void (*Handler)(struct Tag tag, char *params);
 
+static void inputRaw(struct Tag tag, char *params) {
+	(void)tag;
+	if (!params || !self.raw) {
+		self.raw ^= true;
+		uiFmt(
+			TagRaw, UIWarm, "Raw view is %s",
+			self.raw ? "enabled" : "disabled"
+		);
+	}
+	if (params) ircFmt("%s\r\n", params);
+}
+
 static void inputMe(struct Tag tag, char *params) {
 	privmsg(tag, true, params ? params : "");
 }
@@ -168,6 +180,7 @@ static const struct {
 	{ "/part", inputPart },
 	{ "/query", inputQuery },
 	{ "/quit", inputQuit },
+	{ "/raw", inputRaw },
 	{ "/topic", inputTopic },
 	{ "/url", inputURL },
 	{ "/view", inputView },
mp;follow=1'>Reorganize UI code for the umpteenth timeJune McEnroe It's actually in a good state now, I think. 2019-02-21Replace "view" with "window"June McEnroe I think originally I didn't want to use the same word as curses WINDOW but it's really much clearer for the user if they're just called windows. UI code probably needs yet another rewrite though. Still feels messy. 2019-02-21Remove ROT13June McEnroe It's just not convenient when it can only do the whole line... 2019-02-21Clean up man pageJune McEnroe 2019-01-26Draw UI before connectingJune McEnroe Otherwise the "Traveling" message isn't visible while connecting. 2019-01-25Avoid unused variable warnings with getyxJune McEnroe 2019-01-25Add GNU/Linux build instructionsJune McEnroe