[wiki] [sites] st scrollback: fixed altscreen detection || Fun Maker

From: <git_AT_suckless.org>
Date: Thu, 31 Jan 2019 20:03:34 +0100

commit 270090df88dbda257d7636a791b308a1a31b5079
Author: Fun Maker <funmaker95_AT_gmail.com>
Date: Thu Jan 31 20:02:15 2019 +0100

    st scrollback: fixed altscreen detection

diff --git a/st.suckless.org/patches/scrollback/index.md b/st.suckless.org/patches/scrollback/index.md
index 926ccae3..639ade27 100644
--- a/st.suckless.org/patches/scrollback/index.md
+++ b/st.suckless.org/patches/scrollback/index.md
_AT_@ -26,7 +26,7 @@ other than scrolling functions.**
 
 * [st-scrollback-mouse-altscreen-20170427-5a10aca.diff](st-scrollback-mouse-altscreen-20170427-5a10aca.diff)
 * [st-scrollback-mouse-altscreen-0.8.diff](st-scrollback-mouse-altscreen-0.8.diff)
-* [st-scrollback-mouse-altscreen-20190106-e23acb9.diff](st-scrollback-mouse-altscreen-20190106-e23acb9.diff)
+* [st-scrollback-mouse-altscreen-20190131-e23acb9.diff](st-scrollback-mouse-altscreen-20190131-e23acb9.diff)
 
 Notes
 -----
_AT_@ -46,3 +46,4 @@ Authors
   when using the auto altscreen scrolling)
 * Lorenzo Bracco - <devtry_AT_riseup.net> (update base patch, use static
   variable for config)
+* Kamil Kleban - <funmaker95_AT_gmail.com> (fix altscreen detection)
diff --git a/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-0.8.diff b/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-0.8.diff
index bc4a0ac9..8ee58d92 100644
--- a/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-0.8.diff
+++ b/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-0.8.diff
_AT_@ -14,54 +14,38 @@ index feec7e2..f1a9768 100644
  
  /* Internal keyboard shortcuts. */
 diff --git a/st.c b/st.c
-index 1d8c12a..f226625 100644
+index 1d8c12a..458dcfa 100644
 --- a/st.c
 +++ b/st.c
-_AT_@ -47,17 +47,6 @@
- /* constants */
- #define ISO14755CMD "dmenu -w \"$WINDOWID\" -p codepoint: </dev/null"
+_AT_@ -1051,6 +1051,11 @@ tnew(int col, int row)
+ treset();
+ }
  
--enum term_mode {
-- MODE_WRAP = 1 << 0,
-- MODE_INSERT = 1 << 1,
-- MODE_ALTSCREEN = 1 << 2,
-- MODE_CRLF = 1 << 3,
-- MODE_ECHO = 1 << 4,
-- MODE_PRINT = 1 << 5,
-- MODE_UTF8 = 1 << 6,
-- MODE_SIXEL = 1 << 7,
--};
--
- enum cursor_movement {
- 	CURSOR_SAVE,
- 	CURSOR_LOAD
++int tisaltscr(void)
++{
++	return IS_SET(MODE_ALTSCREEN);
++}
++
+ void
+ tswapscreen(void)
+ {
 diff --git a/st.h b/st.h
-index cdd25ae..bb6dad4 100644
+index cdd25ae..e6143f0 100644
 --- a/st.h
 +++ b/st.h
-_AT_@ -25,6 +25,17 @@
- #define TLINE(y)       ((y) < term.scr ? term.hist[((y) + term.histi - term.scr \
-                + HISTSIZE + 1) % HISTSIZE] : term.line[(y) - term.scr])
+_AT_@ -99,6 +99,7 @@ void sendbreak(const Arg *);
+ void toggleprinter(const Arg *);
  
-+enum term_mode {
-+	MODE_WRAP        = 1 << 0,
-+	MODE_INSERT      = 1 << 1,
-+	MODE_ALTSCREEN   = 1 << 2,
-+	MODE_CRLF        = 1 << 3,
-+	MODE_ECHO        = 1 << 4,
-+	MODE_PRINT       = 1 << 5,
-+	MODE_UTF8        = 1 << 6,
-+	MODE_SIXEL       = 1 << 7,
-+};
-+
- enum glyph_attribute {
- 	ATTR_NULL       = 0,
- 	ATTR_BOLD       = 1 << 0,
+ int tattrset(int);
++int tisaltscr(void);
+ void tnew(int, int);
+ void tresize(int, int);
+ void tsetdirtattr(int);
 diff --git a/x.c b/x.c
-index 1de5f6c..d3f869e 100644
+index 1de5f6c..991bc3e 100644
 --- a/x.c
 +++ b/x.c
-_AT_@ -417,13 +417,14 @@ bpress(XEvent *e)
+_AT_@ -417,11 +417,13 @@ bpress(XEvent *e)
  		return;
  	}
  
_AT_@ -70,7 +54,7 @@ index 1de5f6c..d3f869e 100644
 -				&& match(ms->mask, e->xbutton.state)) {
 -			ttywrite(ms->s, strlen(ms->s), 1);
 -			return;
-+	if (IS_SET(MODE_ALTSCREEN))
++	if (tisaltscr()) {
 +		for (ms = mshortcuts; ms < mshortcuts + LEN(mshortcuts); ms++) {
 +			if (e->xbutton.button == ms->b
 +					&& match(ms->mask, e->xbutton.state)) {
_AT_@ -78,7 +62,5 @@ index 1de5f6c..d3f869e 100644
 +				return;
 +			}
  		}
--	}
+ 	}
  
- 	for (mk = mkeys; mk < mkeys + LEN(mkeys); mk++) {
- 		if (e->xbutton.button == mk->b
diff --git a/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20190106-e23acb9.diff b/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20190131-e23acb9.diff
similarity index 53%
rename from st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20190106-e23acb9.diff
rename to st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20190131-e23acb9.diff
index e013ddfc..e9d9d218 100644
--- a/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20190106-e23acb9.diff
+++ b/st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20190131-e23acb9.diff
_AT_@ -1,5 +1,5 @@
 diff --git a/config.def.h b/config.def.h
-index f770d2e..19d35a7 100644
+index a6d2fb9..16830c8 100644
 --- a/config.def.h
 +++ b/config.def.h
 _AT_@ -162,8 +162,8 @@ static MouseShortcut mshortcuts[] = {
_AT_@ -14,51 +14,35 @@ index f770d2e..19d35a7 100644
  
  /* Internal keyboard shortcuts. */
 diff --git a/st.c b/st.c
-index 218ae73..3f385a0 100644
+index 218ae73..f543305 100644
 --- a/st.c
 +++ b/st.c
-_AT_@ -47,17 +47,6 @@
- 				term.scr + HISTSIZE + 1) % HISTSIZE] : \
- 				term.line[(y) - term.scr])
+_AT_@ -1058,6 +1058,11 @@ tnew(int col, int row)
+ 	treset();
+ }
  
--enum term_mode {
--	MODE_WRAP        = 1 << 0,
--	MODE_INSERT      = 1 << 1,
--	MODE_ALTSCREEN   = 1 << 2,
--	MODE_CRLF        = 1 << 3,
--	MODE_ECHO        = 1 << 4,
--	MODE_PRINT       = 1 << 5,
--	MODE_UTF8        = 1 << 6,
--	MODE_SIXEL       = 1 << 7,
--};
--
- enum cursor_movement {
- 	CURSOR_SAVE,
- 	CURSOR_LOAD
++int tisaltscr(void)
++{
++	return IS_SET(MODE_ALTSCREEN);
++}
++
+ void
+ tswapscreen(void)
+ {
 diff --git a/st.h b/st.h
-index 3592957..1469450 100644
+index 3592957..23f4ca3 100644
 --- a/st.h
 +++ b/st.h
-_AT_@ -20,6 +20,17 @@
- #define TRUECOLOR(r,g,b)	(1 << 24 | (r) << 16 | (g) << 8 | (b))
- #define IS_TRUECOL(x)		(1 << 24 & (x))
+_AT_@ -95,6 +95,7 @@ void sendbreak(const Arg *);
+ void toggleprinter(const Arg *);
  
-+enum term_mode {
-+	MODE_WRAP        = 1 << 0,
-+	MODE_INSERT      = 1 << 1,
-+	MODE_ALTSCREEN   = 1 << 2,
-+	MODE_CRLF        = 1 << 3,
-+	MODE_ECHO        = 1 << 4,
-+	MODE_PRINT       = 1 << 5,
-+	MODE_UTF8        = 1 << 6,
-+	MODE_SIXEL       = 1 << 7,
-+};
-+
- enum glyph_attribute {
- 	ATTR_NULL       = 0,
- 	ATTR_BOLD       = 1 << 0,
+ int tattrset(int);
++int tisaltscr(void);
+ void tnew(int, int);
+ void tresize(int, int);
+ void tsetdirtattr(int);
 diff --git a/x.c b/x.c
-index e9fd6e9..c914a0b 100644
+index e9fd6e9..2dc315e 100644
 --- a/x.c
 +++ b/x.c
 _AT_@ -417,11 +417,13 @@ bpress(XEvent *e)
_AT_@ -70,7 +54,7 @@ index e9fd6e9..c914a0b 100644
 -				&& match(ms->mask, e->xbutton.state)) {
 -			ttywrite(ms->s, strlen(ms->s), 1);
 -			return;
-+	if (IS_SET(MODE_ALTSCREEN)) {
++	if (tisaltscr()) {
 +		for (ms = mshortcuts; ms < mshortcuts + LEN(mshortcuts); ms++) {
 +			if (e->xbutton.button == ms->b
 +					&& match(ms->mask, e->xbutton.state)) {
Received on Thu Jan 31 2019 - 20:03:34 CET

This archive was generated by hypermail 2.3.0 : Thu Jan 31 2019 - 20:12:35 CET