summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-02-03 14:52:16 -0500
committerJune McEnroe <june@causal.agency>2021-02-03 14:52:16 -0500
commit7807848bda7a0522f20fa942b1c46fd55ad2beba (patch)
treed87688b44d989b447de5c8810e77dbc6cc3e4272
parentchat.tmux.conf: Improve respawn, fix comment (diff)
downloadcatgirl-7807848bda7a0522f20fa942b1c46fd55ad2beba.tar.gz
catgirl-7807848bda7a0522f20fa942b1c46fd55ad2beba.zip
Add C-z C-v for literal next
A little annoying to make it a "chord" like this, but C-v is already
used for scrolling, following Emacs-style key bindings (in order
to have a way to scroll without using "special" keys like the arrows
and page up/down), and C-z is at least already in the business of
inserting control characters. This makes it possible to manually
enter some things that are otherwise only possible with /exec printf.
Diffstat (limited to '')
-rw-r--r--catgirl.16
-rw-r--r--ui.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/catgirl.1 b/catgirl.1
index d572a8b..03b708e 100644
--- a/catgirl.1
+++ b/catgirl.1
@@ -1,4 +1,4 @@
-.Dd January 26, 2021
+.Dd February  3, 2021
 .Dt CATGIRL 1
 .Os
 .
@@ -658,7 +658,9 @@ Scroll up a page.
 .El
 .
 .Ss IRC Formatting
-.Bl -tag -width Ds -compact
+.Bl -tag -width "C-z C-v" -compact
+.It Ic C-z C-v
+Insert the next input character literally.
 .It Ic C-z b
 Toggle bold.
 .It Ic C-z c
diff --git a/ui.c b/ui.c
index e75e0eb..557d0dc 100644
--- a/ui.c
+++ b/ui.c
@@ -1003,19 +1003,22 @@ void uiRead(void) {
 	}
 
 	wint_t ch;
-	static bool paste, style;
+	static bool paste, style, literal;
 	for (int ret; ERR != (ret = wget_wch(input, &ch));) {
 		if (ret == KEY_CODE_YES && ch == KeyPasteOn) {
 			paste = true;
 		} else if (ret == KEY_CODE_YES && ch == KeyPasteOff) {
 			paste = false;
-		} else if (paste) {
+		} else if (paste || literal) {
 			edit(windows.ptrs[windows.show]->id, EditInsert, ch);
 		} else if (ret == KEY_CODE_YES) {
 			keyCode(ch);
 		} else if (ch == (L'Z' ^ L'@')) {
 			style = true;
 			continue;
+		} else if (style && ch == (L'V' ^ L'@')) {
+			literal = true;
+			continue;
 		} else if (style) {
 			keyStyle(ch);
 		} else if (iswcntrl(ch)) {
@@ -1024,6 +1027,7 @@ void uiRead(void) {
 			edit(windows.ptrs[windows.show]->id, EditInsert, ch);
 		}
 		style = false;
+		literal = false;
 	}
 	inputUpdate();
 }
1'>Remove setoptJune McEnroe 2020-03-03Use getopts in shell scriptsJune McEnroe WTF why did no one tell me about this? 2020-02-27Style %T outside of Rs in italicJune McEnroe 2020-02-26Add Fierce Femmes and Notorious LiarsJune McEnroe 2020-02-23Add This Is How You Lose the Time WarJune McEnroe 2020-02-22Add See Ya LaterJune McEnroe 2020-02-20Remove wiki scriptJune McEnroe Wikipedia seems to have removed the one-sentence extracts from the opensearch results. Too bad. It's not a wiki script, what we need is a command that fetches single-sentence summaries of articles on Wikipedia. 2020-02-19Add The Obelisk GateJune McEnroe 2020-02-17Add Four Tet — HandsJune McEnroe One from the cafe that caught my attention. 2020-02-12Simplify macOS notify-sendJune McEnroe 2020-02-12Add imbox and notemap to pageJune McEnroe 2020-02-12Collapse simple linksJune McEnroe 2020-02-12Move catgirl up the pageJune McEnroe 2020-02-12Update catgirl pty grabJune McEnroe 2020-02-12Link to cgit /about pages where appropriateJune McEnroe 2020-02-11Separate LINKS from BINS for html to workJune McEnroe 2020-02-11Add margin to Bl-bullet itemsJune McEnroe 2020-02-10Match URLs inside parens or with paired parens insideJune McEnroe 2020-02-10Duplicate effective URL before passing it back to curlJune McEnroe Apparently sometimes it didn't like receiving its own internal storage to parse again. Understandable. 2020-02-09Add To Be Taught, If FortunateJune McEnroe 2020-02-04Add The Future of Another TimelineJune McEnroe Wow. One of the best I've read. 2020-01-31Reorganize the Makefile for the umpteenth timeJune McEnroe Broke out LDLIBS for each bin, and made everything more uniform. 2020-01-28Change scout sensitivity to 1.4June McEnroe idk it seems to work. 2020-01-28Import shows.txtJune McEnroe