Split /raw and /quote

/quote is common in other IRC clients.
master
Curtis McEnroe 2019-07-02 18:57:57 -04:00
parent 906440968e
commit fdbc6f2fda
No known key found for this signature in database
GPG Key ID: CEA2F97ADCFCD77C
2 changed files with 13 additions and 9 deletions

View File

@ -141,7 +141,7 @@ Open a private message view.
.It Ic /quit Op Ar message .It Ic /quit Op Ar message
Quit IRC. Quit IRC.
. .
.It Ic /raw Ar command .It Ic /quote Ar command
Send a raw IRC command. Send a raw IRC command.
. .
.It Ic /topic Op Ar topic .It Ic /topic Op Ar topic

20
input.c
View File

@ -83,6 +83,11 @@ static void inputQuit(struct Tag tag, char *params) {
ircQuit(params ? params : "Goodbye"); ircQuit(params ? params : "Goodbye");
} }
static void inputQuote(struct Tag tag, char *params) {
(void)tag;
if (params) ircFmt("%s\r\n", params);
}
static void inputTopic(struct Tag tag, char *params) { static void inputTopic(struct Tag tag, char *params) {
if (params) { if (params) {
ircFmt("TOPIC %s :%s\r\n", tag.name, params); ircFmt("TOPIC %s :%s\r\n", tag.name, params);
@ -143,14 +148,12 @@ static void inputOpen(struct Tag tag, char *params) {
static void inputRaw(struct Tag tag, char *params) { static void inputRaw(struct Tag tag, char *params) {
(void)tag; (void)tag;
if (!self.raw || !params) { (void)params;
self.raw ^= true; self.raw ^= true;
uiFmt( uiFmt(
TagRaw, UIWarm, "%s window is %s", TagRaw, UIWarm, "\3%d%s\3 %s raw mode!",
TagRaw.name, (self.raw ? "enabled" : "disabled") colorGen(self.user), self.nick, (self.raw ? "engages" : "disengages")
); );
}
if (params) ircFmt("%s\r\n", params);
} }
static void inputURL(struct Tag tag, char *params) { static void inputURL(struct Tag tag, char *params) {
@ -195,6 +198,7 @@ static const struct {
{ "/part", inputPart }, { "/part", inputPart },
{ "/query", inputQuery }, { "/query", inputQuery },
{ "/quit", inputQuit }, { "/quit", inputQuit },
{ "/quote", inputQuote },
{ "/raw", inputRaw }, { "/raw", inputRaw },
{ "/topic", inputTopic }, { "/topic", inputTopic },
{ "/url", inputURL }, { "/url", inputURL },