about summary refs log tree commit diff homepage
path: root/client.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2017-08-02 01:42:49 -0400
committerJune McEnroe <june@causal.agency>2017-08-02 01:42:49 -0400
commit8e6629ca5bde365470b194c738b09f40867745f2 (patch)
tree14781362a5a06ad4ae61be76440b506112cc1c2d /client.c
parentPreserve color on replace (diff)
downloadtorus-8e6629ca5bde365470b194c738b09f40867745f2.tar.gz
torus-8e6629ca5bde365470b194c738b09f40867745f2.zip
Move in insert direction on ~
Diffstat (limited to 'client.c')
-rwxr-xr-xclient.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/client.c b/client.c
index 464568b..2c95468 100755
--- a/client.c
+++ b/client.c
@@ -80,7 +80,7 @@ static struct {
     int8_t dx;
     int8_t dy;
     uint8_t len;
-} insert;
+} insert = { .dx = 1 };
 static char drawChar;
 
 static void insertMode(int8_t dx, int8_t dy) {
@@ -168,7 +168,11 @@ static void readInput(void) {
         case 'r': mode = MODE_REPLACE; break;
         case 'R': mode = MODE_DRAW; drawChar = 0; break;
         case 'x': clientPut(CH_COLOR(inch()), ' '); break;
-        case '~': clientPut(inputColor, inch() & 0x7F); clientMove(1, 0); break;
+
+        case '~':
+            clientPut(inputColor, inch() & 0x7F);
+            clientMove(insert.dx, insert.dy);
+            break;
 
         case '[': if (moveSpeed > 1) moveSpeed--; break;
         case ']': if (moveSpeed < 4) moveSpeed++; break;