Commit Briefs

e8f1308586 Roberto E. Vargas Caballero

Receive only a wchar_t in tchar() (wchar)

It makes simpler the conversion from utf8 input string and makes simpler the checks done in tputc, but it still requires a lot of additional conversions that will be removed later.


d65ebe9aed Roberto E. Vargas Caballero

First step to plain unicode representation

tprinter() is used in tputc, so a first step is to change it to accept a wchar_t instead of a multibyte string. This patch makes more ugly the code because it needs a lot of conversions, but they will be removed later.


28f56c8842 Roberto E. Vargas Caballero

Remove last parameter of utf8encode

This parameter was always UTF_SIZ, so it is better remove it and use directly UTF_SIZ in in.


23af75fc75 Roberto E. Vargas Caballero

Simplify utf8decodebyte using some locals

These local variables help to make expressions simpler and avoid use a pointer as induction variable in a for loop.


c7a945c408 Roberto E. Vargas Caballero

Add missed names of charset sequences


5afb3862ba Roberto E. Vargas Caballero

Add support for utmp in st

St runs an interactive shell and not a login shell, and it means that profile is not loaded. The default terminal configuration in some system is not the correct for st, but since profile is not loaded there is no way of getting a script configures the correct values. St doesn't update the utmp files, this is the job of another suckless tool, utmp. Utmp also opens a login shell (it is the logical behaviour when you create a new user record) it is a good option execute utmp and then get a correct input in utmp, wtmp and lastlog file, and execute the content of the profile.


0392d165d0 Roberto E. Vargas Caballero

Remove indentation level in xdrawcursor


98a1085d0e Roberto E. Vargas Caballero

Removing wrapping newlines from selection

When getting selected text, lines that were wrapped because of length ought not include the wrapping newline in the selection. This comes up, for example, when copying a bash command that is long enough to wrap from the console and pasting it back into the console. The extra newline breaks it. Similiarly, changes behavior when trimming whitespace from the end of a physical line to only do so if the line does not wrap. Otherwise we are trimming whitespace from the middle of a logical line, which may change its meaning. Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>


51466e019a Roberto E. Vargas Caballero

Change the behavior of word snapping on delimiters

This makes any sequence of identical delimiters be considered a single word in word-snapping mode. This seems more coherent for this mode and is similar to what xterm does. Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>


c490a60b80 Roberto E. Vargas Caballero

Move calls to selsnap into selnormalize

This simplifies getbuttoninfo() and bpress(), and fixes a bug which made word snapping behave incorrectly when a delimiter was at the beginning or end of line. Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>


Branches

Tags

Tree

FAQcommits | blame
LEGACYcommits | blame
LICENSEcommits | blame
Makefilecommits | blame
READMEcommits | blame
TODOcommits | blame
arg.hcommits | blame
config.def.hcommits | blame
config.mkcommits | blame
st.1commits | blame
st.ccommits | blame
st.infocommits | blame

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 -s 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.