Introduction
Introduction Statistics Contact Development Disclaimer Help
tAdd an option to disable alternative screens. - st - [fork] customized build o…
git clone git://src.adamsgaard.dk/st
Log
Files
Refs
README
LICENSE
---
commit 580c8bbd4691218849c9a809acaa4c95f65cb846
parent 502911e55442a89602bd5681763f68250bff330b
Author: Christoph Lohmann <[email protected]>
Date: Wed, 3 Apr 2013 20:42:27 +0200
Add an option to disable alternative screens.
Diffstat:
M config.def.h | 3 +++
M st.1 | 4 ++++
M st.c | 13 +++++++++----
3 files changed, 16 insertions(+), 4 deletions(-)
---
diff --git a/config.def.h b/config.def.h
t@@ -13,6 +13,9 @@ static char shell[] = "/bin/sh";
static unsigned int doubleclicktimeout = 300;
static unsigned int tripleclicktimeout = 600;
+/* alt screens */
+static bool allowaltscreen = true;
+
/* frames per second st should at maximum draw to the screen */
static unsigned int xfps = 60;
static unsigned int actionfps = 30;
diff --git a/st.1 b/st.1
t@@ -3,6 +3,7 @@
st \- simple terminal
.SH SYNOPSIS
.B st
+.RB [ \-a ]
.RB [ \-c
.IR class ]
.RB [ \-f
t@@ -23,6 +24,9 @@ st \- simple terminal
is a simple terminal emulator.
.SH OPTIONS
.TP
+.B \-a
+disable alternate screens in terminal
+.TP
.BI \-c " class"
defines the window class (default $TERM).
.TP
diff --git a/st.c b/st.c
t@@ -43,7 +43,7 @@
#define USAGE \
"st " VERSION " (c) 2010-2013 st engineers\n" \
- "usage: st [-v] [-c class] [-f font] [-g geometry] [-o file]" \
+ "usage: st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]" \
" [-t title] [-w windowid] [-e command ...]\n"
/* XEMBED messages */
t@@ -1615,7 +1615,10 @@ tsetmode(bool priv, bool set, int *args, int narg) {
break;
case 1049: /* = 1047 and 1048 */
case 47:
- case 1047: {
+ case 1047:
+ if (!allowaltscreen)
+ break;
+
alt = IS_SET(MODE_ALTSCREEN);
if(alt) {
tclearregion(0, 0, term.col-1,
t@@ -1625,8 +1628,7 @@ tsetmode(bool priv, bool set, int *args, int narg) {
tswapscreen();
if(*args != 1049)
break;
- }
- /* pass through */
+ /* FALLTRU */
case 1048:
tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD);
break;
t@@ -3316,6 +3318,9 @@ main(int argc, char *argv[]) {
for(i = 1; i < argc; i++) {
switch(argv[i][0] != '-' || argv[i][2] ? -1 : argv[i][1]) {
+ case 'a':
+ allowaltscreen = false;
+ break;
case 'c':
if(++i < argc)
opt_class = argv[i];
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.