aboutsummaryrefslogtreecommitdiffstats
path: root/st.c
diff options
context:
space:
mode:
authorq@c9x.me <q@c9x.me>2014-04-09 20:37:23 +0200
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2014-04-15 08:13:41 +0200
commitb8d6171cb00c28e4c90e58e101554097003b59d3 (patch)
tree4e7012dba8d976e1a322870d5d6c726af65e584c /st.c
parentebb6e03201ce0e5a00be7cff2e365ad3d6cb7195 (diff)
downloadst-b8d6171cb00c28e4c90e58e101554097003b59d3.tar.gz
fix cursor handling when alt screen is disabled
I don't like this alt screen thing, but when allowaltscreen == 0, the cursor is still saved and restored after calling 'less' (or 'man'). This patch makes allowaltscreen == 0 usable.
Diffstat (limited to 'st.c')
-rw-r--r--st.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/st.c b/st.c
index ced72ff..70caf82 100644
--- a/st.c
+++ b/st.c
@@ -1855,7 +1855,10 @@ tsetmode(bool priv, bool set, int *args, int narg) {
MODBIT(term.mode, set, MODE_8BIT);
break;
case 1049: /* swap screen & set/restore cursor as xterm */
+ if (!allowaltscreen)
+ break;
tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD);
+ /* FALLTHRU */
case 47: /* swap screen */
case 1047:
if (!allowaltscreen)
remember that computers suck.