aboutsummaryrefslogtreecommitdiffstats
path: root/pw.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-05-06 07:20:03 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-05-06 07:20:03 -0700
commit309c3d594de5a053aef9d9f830170d4da953da0c (patch)
tree691e0b9ff45fca9d1c921940f0f93bd618ce9906 /pw.c
parentbbaa0628b2bd81ef47bee702b184e72568319f45 (diff)
downloadpw-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.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/pw.c b/pw.c
index dca5cff..8311618 100644
--- a/pw.c
+++ b/pw.c
@@ -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;