diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-05-06 07:20:03 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-05-06 07:20:03 -0700 |
commit | 309c3d594de5a053aef9d9f830170d4da953da0c (patch) | |
tree | 691e0b9ff45fca9d1c921940f0f93bd618ce9906 /pw.c | |
parent | bbaa0628b2bd81ef47bee702b184e72568319f45 (diff) | |
download | pw-309c3d594de5a053aef9d9f830170d4da953da0c.tar.gz pw-309c3d594de5a053aef9d9f830170d4da953da0c.tar.bz2 pw-309c3d594de5a053aef9d9f830170d4da953da0c.zip |
Don't change middle pane origin and width when moving left split.
Diffstat (limited to 'pw.c')
-rw-r--r-- | pw.c | 11 |
1 files changed, 3 insertions, 8 deletions
@@ -364,7 +364,7 @@ static void hlchar(pwstate *pw, int ch) static void drawline(pwstate *pw, const char *line, int lineno) { const char *oline = line; - size_t len = dslen(line); + size_t olen = dslen(line), len = olen; int columns = pw->columns; unsigned vsplit1 = pw->vsplit1; unsigned vsplit2 = pw->vsplit2; @@ -1208,20 +1208,15 @@ int main(int argc, char **argv) case ']': if ((int) pw.vsplit1 < pw.columns - 2) { pw.vsplit1++; - if (pw.vsplit2 > 0) { + if (pw.vsplit2 && + (int) (pw.vsplit1 + pw.vsplit2) >= pw.columns - 2) pw.vsplit2--; - pw.vs2pos++; - } pw.stat |= stat_force; } break; case '[': if (pw.vsplit1 > 0) { pw.vsplit1--; - if (pw.vsplit2 > 0) { - pw.vsplit2++; - pw.vs2pos--; - } pw.stat |= stat_force; } break; |