aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.def.h4
-rw-r--r--config.h4
-rwxr-xr-xstbin109768 -> 109768 bytes
-rw-r--r--st.c10
-rw-r--r--st.c.rej35
-rw-r--r--st.obin83152 -> 83776 bytes
-rw-r--r--x.obin75728 -> 75728 bytes
7 files changed, 9 insertions, 44 deletions
diff --git a/config.def.h b/config.def.h
index 8b25d40..6769f99 100644
--- a/config.def.h
+++ b/config.def.h
@@ -201,8 +201,8 @@ static Shortcut shortcuts[] = {
{ TERMMOD, XK_Y, selpaste, {.i = 0} },
{ ShiftMask, XK_Insert, selpaste, {.i = 0} },
{ TERMMOD, XK_Num_Lock, numlock, {.i = 0} },
- { ShiftMask, XK_Page_Up, kscrollup, {.i = -1} },
- { ShiftMask, XK_Page_Down, kscrolldown, {.i = -1} },
+ { ShiftMask, XK_Page_Up, kscrollup, {.f = -0.1} },
+ { ShiftMask, XK_Page_Down, kscrolldown, {.f = -0.1} },
};
/*
diff --git a/config.h b/config.h
index 57698ae..f87140d 100644
--- a/config.h
+++ b/config.h
@@ -196,8 +196,8 @@ static Shortcut shortcuts[] = {
{ TERMMOD, XK_Y, selpaste, {.i = 0} },
{ ShiftMask, XK_Insert, selpaste, {.i = 0} },
{ TERMMOD, XK_Num_Lock, numlock, {.i = 0} },
- { ShiftMask, XK_Page_Up, kscrollup, {.i = -1} },
- { ShiftMask, XK_Page_Down, kscrolldown, {.i = -1} },
+ { ShiftMask, XK_Page_Up, kscrollup, {.f = -0.1} },
+ { ShiftMask, XK_Page_Down, kscrolldown, {.f = -0.1} },
};
diff --git a/st b/st
index 373789f..b082159 100755
--- a/st
+++ b/st
Binary files differ
diff --git a/st.c b/st.c
index af45169..b034844 100644
--- a/st.c
+++ b/st.c
@@ -1087,14 +1087,14 @@ tswapscreen(void)
void
kscrollup(const Arg *a)
{
- int n = a->i;
+ float n = a->f;
if (IS_SET(MODE_ALTSCREEN))
return;
- if (n < 0) n = (-n) * term.row;
+ if (n < 0) n = MAX((-n) * term.row, 1);
if (n > TSCREEN.size - term.row - TSCREEN.off) n = TSCREEN.size - term.row - TSCREEN.off;
- while (!TLINE(-n)) --n;
+ while (!TLINE((int)-n)) --n;
TSCREEN.off += n;
selscroll(0, n);
tfulldirt();
@@ -1104,12 +1104,12 @@ void
kscrolldown(const Arg *a)
{
- int n = a->i;
+ float n = a->f;
if (IS_SET(MODE_ALTSCREEN))
return;
- if (n < 0) n = (-n) * term.row;
+ if (n < 0) n = MAX((-n) * term.row, 1);
if (n > TSCREEN.off) n = TSCREEN.off;
TSCREEN.off -= n;
selscroll(0, -n);
diff --git a/st.c.rej b/st.c.rej
deleted file mode 100644
index 72ef8d1..0000000
--- a/st.c.rej
+++ /dev/null
@@ -1,35 +0,0 @@
---- st.c
-+++ st.c
-@@ -1087,14 +1087,14 @@ tswapscreen(void)
- void
- kscrollup(const Arg *a)
- {
-- int n = a->i;
-+ float n = a->f;
-
- if (IS_SET(MODE_ALTSCREEN))
- return;
-
-- if (n < 0) n = (-n) * term.row;
-+ if (n < 0) n = MAX((-n) * term.row, 1);
- if (n > TSCREEN.size - term.row - TSCREEN.off) n = TSCREEN.size - term.row - TSCREEN.off;
-- while (!TLINE(-n)) --n;
-+ while (!TLINE((int)-n)) --n;
- TSCREEN.off += n;
- selscroll(0, n);
- tfulldirt();
-@@ -1104,12 +1104,12 @@ void
- kscrolldown(const Arg *a)
- {
-
-- int n = a->i;
-+ float n = a->f;
-
- if (IS_SET(MODE_ALTSCREEN))
- return;
-
-- if (n < 0) n = (-n) * term.row;
-+ if (n < 0) n = MAX((-n) * term.row, 1);
- if (n > TSCREEN.off) n = TSCREEN.off;
- TSCREEN.off -= n;
- selscroll(0, -n);
diff --git a/st.o b/st.o
index 2b7baf1..4ee0c38 100644
--- a/st.o
+++ b/st.o
Binary files differ
diff --git a/x.o b/x.o
index d978092..45d60ed 100644
--- a/x.o
+++ b/x.o
Binary files differ