my fork of suckless' simple terminal
Go to file
Peter Hofmann 2fc7e532b2 Don't scroll selection on the other screen
Fixes garbage selections when switching to/from the alternate screen.

How to reproduce:

-   Be in primary screen.
-   Select something.
-   Run this (switches to alternate screen, positions the cursor at the
    bottom, triggers selscroll(), and then goes back to primary screen):

        tput smcup; tput cup $(tput lines) 0; echo foo; tput rmcup

-   Notice how the (visual) selection now covers a different line.

The reason is that selscroll() calls selnormalize() and that cannot find
the original range anymore. It's all empty lines now, so it snaps to
"select the whole line".
2023-10-07 12:16:59 +02:00
FAQ FAQ: document the color emojis crash issue which affected some systems is fixed 2022-09-16 23:07:09 +02:00
LEGACY LEGACY: typo. 2012-09-18 19:08:03 +02:00
LICENSE LICENSE: bump year 2022-01-10 17:11:17 +01:00
Makefile Makefile: remove the options target 2023-09-22 15:16:52 +02:00
README tic -s -> tic -sx (Treat unknown capabilities as user-defined.) 2016-11-14 19:05:47 +01:00
TODO Remove old TODO entry. 2015-04-13 17:06:11 +02:00
arg.h don't modify argv, use a counter 2018-03-20 21:22:27 +01:00
config.def.h Add support for OSC color sequences 2021-12-26 18:57:44 +01:00
config.mk bump version to 0.9 2022-10-04 19:40:30 +02:00
st.1 Add support for scroll(1) 2020-04-11 15:23:20 +02:00
st.c Don't scroll selection on the other screen 2023-10-07 12:16:59 +02:00
st.h code-golfing: cleanup osc color related code 2022-04-19 11:43:37 +02:00
st.info Partially add back in "support REP (repeat) escape sequence" 2020-05-30 22:04:28 +02:00
win.h code-golfing: cleanup osc color related code 2022-04-19 11:43:37 +02:00
x.c Fix bounds checks of dc.col 2023-10-07 12:16:59 +02:00

README

st - simple terminal
--------------------
st is a simple terminal emulator for X which sucks less.


Requirements
------------
In order to build st you need the Xlib header files.


Installation
------------
Edit config.mk to match your local setup (st is installed into
the /usr/local namespace by default).

Afterwards enter the following command to build and install st (if
necessary as root):

    make clean install


Running st
----------
If you did not install st with make clean install, you must compile
the st terminfo entry with the following command:

    tic -sx st.info

See the man page for additional details.

Credits
-------
Based on Aurélien APTEL <aurelien dot aptel at gmail dot com> bt source code.