all repos — st @ 091ae143ce09e930fd61dae15f8d613c7eab5a61

st (suckless terminal) config

091ae143
Fixing the italic-bold font check. Thanks nsz.
Christoph Lohmann 20h@r-36.net
cd90969c
Added tag 0.3 for changeset 9d54ce4daf34
Christoph Lohmann 20h@r-36.net
b0ed3e28
0.3 release.
Christoph Lohmann 20h@r-36.net
c631e9bb
Make it possible to use the corefont font description too. It is not very

useful, but easy to implement.
Christoph Lohmann 20h@r-36.net
393825f9
Moving to the dwm config.h variable usage.
Christoph Lohmann 20h@r-36.net
e5d7c5a6
Adding a FAQ to reference utmp(1).
Christoph Lohmann 20h@r-36.net
784765ca
Cleaning up the TODO file.
Christoph Lohmann 20h@r-36.net
1d378227
Removing the now senseless comment in config.def.h. Thanks to bnwe!
Christoph Lohmann 20h@r-36.net
c5dd7fb3
Applying the patch of the little girl <yui@blekksprut.net> to make cjk input

possible. Thanks!
Christoph Lohmann 20h@r-36.net
b56a0da2
Applying the tab expansion patch from koga.
Christoph Lohmann 20h@r-36.net
71b09ec4
Adding a more flexible fontstring handling, shortcuts and a zoom function.
Christoph Lohmann 20h@r-36.net
6d4e525e
Applying the patch of Roberto Caballero to set WINDOWID and all the pwuid()

variables. Thanks! xinit() and ttynew() had to be switched in their
call-appearance. Otherwise xw.win is not set.
Christoph Lohmann 20h@r-36.net
35421371
Applying the patch of Rafa Garcia Gallega <rafael.garcia.gallego@gmail.com> to

not emulate the vt100 behaviour of selecting all whitespaces. Thanks!
Christoph Lohmann 20h@r-36.net
ee3fbeb6
Add error control to iofile

write can write less bytes than we request, so it is necessary check the
return value, in case of error print a message and don't continnue writing
in the file.
---
 st.c |   39 ++++++++++++++++++++++++++++++---------
 1 file changed, 30 insertions(+), 9 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
2e38ab7a
Well, I was confused. Damn state exams. Instead of discussing this shit I

should really learn opthalmology instead. :O
Christoph Lohmann 20h@r-36.net
eb6713ac
If there is really someone without SHELL set, help him/her.
Christoph Lohmann 20h@r-36.net
9e813947
Add DEC alignment test

This sequence was used by DEC personal in to for verifying the screen adjust
of terminals. It is the unique test sequence implemented by all the
emulators, and I think it is because they want be conforms with vttest which
uses this sequence in some tests.
---
 st.c |   31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
b7a7f171
Avoid initialization of vt100_0 in each call to tsetchar

If vt100_0 is a automatic variable then it is initializated in each call to
tsetchar, but if the variable is static it is initializated only in compile
time.
---
 st.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Roberto E. Vargas Caballero k0ga@shike2.com
25f47cb8
Fix Identification sequences

Do not send NUL character in the identification (use (sizeof(VT102ID) - 1),
and finish  the sequence once you execute it.
---
 st.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
ffeeb678
Add DA and DECID sequences

These sequences are used by the host in order to can detect which kind of
terminal is connected. St will answer like a vt102 terminal with this patch.
---
 st.c |    9 +++++++++
 1 file changed, 9 insertions(+)
Roberto E. Vargas Caballero k0ga@shike2.com
bffa6e5c
Fixing a typo.
Christoph Lohmann 20h@r-36.net
b16b5d77
Fixing a off-by-one error in the new border clearing code.
Christoph Lohmann 20h@r-36.net
2bd0c23f
Print control codes only in graphic mode

Non handled codes must be ignored, except in graphic mode. Also STR
sequences have higher priority than control codes, so they must be handled
before of them.
---
 st.c |  160 ++++++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 87 insertions(+), 73 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
034dc71f
Add SI and SO control codes

SI and SO allows change the G0 and G1 selection. This implementation is not
full vt100 compatible, but it is complatible with linux virtual terminal
implementation. For full vt100 compatibility we need remake a lot of stuff
relate to the different charmaps.
---
 st.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
fbfa1f83
Add SUB and CAN control codes

These control codes reset any escape sequence already initialised.
---
 st.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
ac8f05c4
Add documentation to control codes

Add the documentation from the vt100 manual programmer:

Control 	Octal      Action Taken
Character	Code
-------------------------------------------
NUL		000	Ignored on input (not stored in input buffer;
			see full duplex protocol).
ENQ		005	Transmit answerback message.
BEL		007	Sound bell tone from keyboard.
BS		010	Move the cursor to the left one character position,
			unless it is at the left margin,
			in which case no action occurs.
HT		011	Move the cursor to the next tab stop,
			or to the right margin if no further tab stops
			are present on the line.
LF		012	This code causes a line feed or
			a new line operation. (See new line mode).
VT		013	Interpreted as LF.
FF		014	Interpreted as LF.
CR		015	Move cursor to the left margin on the current line.
SO		016	Invoke G1 character set, as designated by SCS
			control sequence.
SI		017	Select G0 character set, as selected by ESC ( sequence.
XON		021	Causes terminal to resume transmission.
XOFF		023	Causes terminal to stop transmitted all codes
			except XOFF and XON.
CAN		030	If sent during a control sequence, the sequence is
			immediately terminated and not executed. It also causes
			the error character to be displayed.
SUB		032	Interpreted as CAN.
ESC		033	Invokes a control sequence.
DEL		177	Ignored on input (not stored in input buffer).
--------------------------------------------
---
 st.c |   28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
02f3b37a
Forgot to remove the xclearborders() definition from the last commit.
Christoph Lohmann 20h@r-36.net
0cc7ee5e
Removing the xclearborders() hack. St now cleans up the parts of the border,

if something needs to be drawn close to it.
Christoph Lohmann 20h@r-36.net
4eddf19f
The style inquisition was here. Yes, making it a unified style. The last

infidels will be squashed too!
Christoph Lohmann 20h@r-36.net
7efa4514
Adding the patch of David Dufberg Töttrup to implement WM_DELETE_WINDOW. Thank you!
Christoph Lohmann 20h@r-36.net
bf6cf05b
Fixing the brightening on bold. For the 256 colors and greyscale I assumed a

reasonable solution.
Christoph Lohmann 20h@r-36.net
5caa46cf
Turning on antialias by default really makes it more unreadable. Maybe if once

the majority has bigger screens, this can be turned on by default again.
Thanks pancake, for the hint.
Christoph Lohmann 20h@r-36.net
0b489c4a
When the drawing behaviour was changed underline was not corrected.

Thanks to Peter A. Shevtsov!
Christoph Lohmann 20h@r-36.net
2752018e
This adds the fontcache dependency to try something out. Additionally the

invert mode now works as expected. In the config.def.h autohint is set to
false, so the fonts are drawn correctly, without any overlapping.
Christoph Lohmann 20h@r-36.net
0d88f1ef
Thanks to c00kiemon5ter. Not changing bold to bright colors seems to be the

right choice.
Christoph Lohmann 20h@r-36.net
af9e248f
Removing the now obsolete definitions from the config.def.h file.
Christoph Lohmann 20h@r-36.net
5dfd5df4
This changes -f to be the parameter for the font. Now -f is -o.

The parameters were reordered according to the alphabet too.
Christoph Lohmann 20h@r-36.net
9cae1eb0
Remove the cruft of the user to have to define the different font styles.
Christoph Lohmann 20h@r-36.net
ed5b8700
We need all the colors to be available, so die() on some not available.

This is a new opportunity to see if X11 somewhen handled colors in a strange
way.
Christoph Lohmann 20h@r-36.net
d7b1e31e
All xcolors are not Xft colors and the clearing of the borders has been

optimized. There is a speedup when resizing windows.
Christoph Lohmann 20h@r-36.net
29b209f5
Vt escape sequences allow escape sequences in escape sequences and escape

sequences, so we have to support escape sequences in escape sequences that
escape sequences in escape sequences – setting a title won't notify you
anymore.
Christoph Lohmann 20h@r-36.net
3af49e34
Allow control characters inside escape sequences

Taken from vt100 manual programmer:

	Control characters (codes \0 to \37 inclusive) are specifically
	excluded from the control sequence syntax, but may be embedded
	within a control sequence. Embedded control characters are executed
	as soon as they are encountered by the VT100. The processing of the
	control sequence then continues with the next character received.
---
 st.c |   68 +++++++++++++++++++++++++++++++++---------------------------------
 1 file changed, 34 insertions(+), 34 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
a7d7e293
Ignore all control characters not handled

Taken from vt100 programmer manual:

	Control characters have values of \000 - \037, and \177. The control
	characters recognized by the VT100 are shown in Table 3-10. All
	other control codes cause no action to be taken.

We have to take attention when we are using alternate charset, because in
this cases they are not used as control characters.
---
 st.c |   20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
375b6e5b
Switching to Liberation Mono as default solely because of line drawing. A next

patch to fix the font symbols in all fonts should make it easier to choose a
better font.
Christoph Lohmann 20h@r-36.net
3a095984
Implementing line drawing right.
Christoph Lohmann 20h@r-36.net
c3b0e220
A reset should reset the line drawing too.
Christoph Lohmann 20h@r-36.net
980c5956
Enabling enacs and adding compatibility to xterm and urxvt for alternative

charsets.
Christoph Lohmann 20h@r-36.net
eb360e5f
Fix bug in tputc writing to io file

If -f options is enabled then tputc() writes all the data to a file. Actual
code assumes that all the strings in 'c' parameters have always 1 byte
length, but this is not always true, because due to utf-8 encoding some
characters can have a diferent length. So it is necessary pass string length
to tputc in order it can call to write() correctly.
---
 st.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
246d704b
Changing the default font to DejaVu Sans Mono, which is more appealing and

activating antialiasing.
Christoph Lohmann 20h@r-36.net
055a4f6d
The xinit() call needs to be behind all the tty init, otherwise all the

allocated structures are wrong. The xclear() is now done on purpose. Please
keep X11 calls out of the way of pure tty-related calls.
Christoph Lohmann 20h@r-36.net
e9c67781
Adding a TODO for xft fallback.
Christoph Lohmann 20h@r-36.net
74d6abfe
Add some documentetion to tsetmode

The names of the terminal modes supported by vt102 are (taken from the VT220
programmer reference manual):

Table 4-7 ANSI-Standardized Modes
Name  Mnemonic		    Parameter (Ps)
Error (ignored)		    -         0 (3/0)
Keyboard action		    KAM	      2 (3/2)
Insert/replace		    IRM	      4 (3/4)
Send/receive		    SRM	      12 (3/1 3/2)
Line feed/new line	    LNM       20 (3/2 3/0)

Table 4-8 ANSI-Compatible DEC Private Modes
Name  Mnemonic		  Parameter (Ps)
Error (ignored)		  -	    0 (3/0)
Cursor key		  DECCKM    1 (3/1)
ANSI/VT52		  DECANM    2 (3/2)
Column			  DECCOLM   3 (3/3)
Scroll			  DECSCLM   4 (3/4)
Screen			  DECSCNM   5 (3/5)
Origin			  DECOM	    6 (3/6)
Auto wrap		  DECAWM    7 (3/7)
Auto repeat		  DECARM    8 (3/8)
Printer form feed	  DECPFF    18 (3/1 3/8)
Printer extent		  DECPEX    19 (3/1 3/9)
Text cursor enable	  DECTCEM   25 (3/2 3/5)
National replacement character sets DECNRCM 42 (3/4 3/2)

This patch adds a comment for each one of these sequences.
---
 st.c |   26 +++++++++++++++++++++-----
 1 file changed, 21 insertions(+), 5 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
c3b63455
Fix LNM sequence

LNM sequence is a standard ANSI mode, not a DEC private mode.
---
 st.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
2f215654
Add KAM sequence

This sequence lock/unlock the keyboard ignoring all the key pressing events
from X server.
---
 st.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
Roberto E. Vargas Caballero k0ga@shike2.com
11bec678
Remove unused parameters in ttyresize

---
 st.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
b6cfff16
Clear X window in tsetreset()

tsetreset() is called when it is necessary a full initialization of the
terminal, so it also should clean the full X window and not only the
terminal content. It is necessary change the order of the
initialization in main(), and put xinit before of tnew(), because tnew()
calls to tsetreset(), and  this can cause a call to xreset() with
incorrect values.
---
 st.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Roberto E. Vargas Caballero k0ga@shike2.com
21a0c4a2
Merging xft and current st heads.
Christoph Lohmann 20h@r-36.net
2b3c1219
Initial Xft support for st. More to follow.
Christoph Lohmann 20h@r-36.net
1ba5f417
config.def.h: typo in comment.
Aurélien Aptel aurelien.aptel@gmail.com
50a619ce
LEGACY: typo.
Aurélien Aptel aurelien.aptel@gmail.com
0eaed8f0
Redrawing is fixed.
Christoph Lohmann 20h@r-36.net
e4bf2679
Fixing the redrawing patch of k0ga, so it's using xclear() in redraw() too.
Christoph Lohmann 20h@r-36.net
4876d6e0
Clean windows display after resizing

Some times the size after a resizing is not an exact multiply of a number of
characters, so redrawn the screen using the lines and columns of the neww
size can cause that some old graphics keep in the screen. Solution is clean
all the windows with the background color.
---
 st.c |    3 +++
 1 file changed, 3 insertions(+)
Roberto E. Vargas Caballero k0ga@shike2.com
88a8f85a
Copy non set positions as spaces

st selection don't insert in the selection position whose value is not
set. This is correct for the positions in the end of the line, but cause
some problems in the beginning. For example echo -e 'a\tb' will print in the
screen:

a	b

but after selecting and copying in some place you get:

ab

because positions from 1 to 7 don't have any value. This patch deals all
positions without value as blank (even at the end of the line).
---
 st.c |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
111199cf
Add newline in error messages

---
 st.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
e3671006
Add xcalloc wrapper

malloc and realloc are called through xmalloc and xrealloc, so calloc should
be called through xcalloc.
---
 st.c |   13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
426887cc
Applying a shortening proposal for the run loop of k0ga.
Christoph Lohmann 20h@r-36.net
58a57a23
Remove call to draw in resize

In previous commits draw was removed from all the X events, but I forgot do
it in resize.
---
 st.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
22579322
Adding some more fields to the manpage, like authors, license etc.
Christoph Lohmann 20h@r-36.net
b93741e3
Remove some solved issues and add some new.
Christoph Lohmann 20h@r-36.net
9fbafe55
Preliminary solution to the stuttering problem.
Christoph Lohmann 20h@r-36.net
d81250e5
Fix selection bug

After the commit named "Remove timeout in the main loop", selection is not
working in the proper way. After selecting something, press mouse button in
a line outside of selection causes an incorrect highlight. This patch fix
the problem forcing a draw after the press event, but this is only a fast
hack. Real solution means rewriting selection code.
---
 st.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
Roberto E. Vargas Caballero k0ga@shike2.com
c5a9b799
Render only once in each main loop iteration

draw() runs over all lines of the screen and renders only the dirty lines,
this avoids render lines which are not modified since last draw() call. In
this moment the main loop is something like:

     - Wait something to read from file descriptors
     - Read from pseudo tty
     - Call draw() for rending
     - Read X events

This cause the problem that all the X events that have to update the screen
have to call draw() (because draw() is called before of X events handling),
so you can have multiples renderings in only one iteration, that will waste
a lot of resources.

This patch change the main loop to:

     - Wait something to read from file descriptors
     - Read from pseudo tty
     - Read X events
     - Call draw() for rending

So X events don't have to worry about rendering, because draw() is called
after them.

The only place where draw is called outside of the main loop is in redraw(),
but it is necessary for getting a good tput flash.
---
 st.c |   29 ++++++-----------------------
 1 file changed, 6 insertions(+), 23 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
85849ce7
Remove timeout in the main loop

The main loop waits until there is some data to read in file descriptors of
the X server or the pseudo tty. But it uses a timeout in select(), which
causes that st awake each 20 ms, even it doesn't have something to do. This
patch removes this problem removing the timeout, which is not needed.
---
 TODO |    1 -
 st.c |   27 +++------------------------
 2 files changed, 3 insertions(+), 25 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
15cc8754
Call XSync in redraw

It is necessary call to XSync if you want a good tput flash, because in
other way you can not be sure that white screen will be shown.
---
 st.c |    1 +
 1 file changed, 1 insertion(+)
Roberto E. Vargas Caballero k0ga@shike2.com
ba1e9dae
Call XdbeQueryExtension before of calling any Xdbe function

XdbeQueryExtension() tells to the caller if the Xdbe extension is present in
the X server, so it should be called for sanity. But like is said in
XdbeQueryExtension(3):

	No other Xdbe functions may be called before this function.  If a
	client violates this rule, the effects of all subsequent Xdbe calls
	that it makes are undefined.

it is mandatory call this function.
---
 st.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
a6278978
Implementing italic-bold. This will require an increase of the avgWdth.
Christoph Lohmann 20h@r-36.net
b1563526
Ignore NUL character as a padding character. Telnet may use this. Patch of

Roberto Vargas.
Christoph Lohmann 20h@r-36.net
776a022e
Importing the patch of Roberto Vargas to inherit signal handlers.
Christoph Lohmann 20h@r-36.net
fe2ba95b
Reset window title on terminal reset too.
Christoph Lohmann 20h@r-36.net
977c5d90
Adding a statemant on legacy support.
Christoph Lohmann 20h@r-36.net
d018c9c8
Adding another bold off sequence.
Christoph Lohmann 20h@r-36.net
720cb816
Remove buffering to fileio instead of calling fflush

By default text files are line buffered, and this means that -f option will
not write the line until a \n is printed. This is not very useful for
debugging, so a call to fflush was added. This patch substitute this call
(which will be done by each character painted) by the full remove of the
buffering in the file.
---
 st.c |   12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
b9d5fec4
Add xmalloc and xrealloc wrappers

If malloc  or realloc fail they return NULL. Theorically this condition
should be tested in the code, but it's a strange condition today (basically
if this is hapenning thenyou have a big problem), and even Linux never returns
NULL in the default configuration (only if the process don't have room in
the space address, something a bit impossible in the case of st). But stis
enough small for being executed in low resources computers where this can be
a real problem. So the easy way is creating a wrappers function for them and
call to die in case of error.
---
 st.c |   44 +++++++++++++++++++++++++++++++-------------
 1 file changed, 31 insertions(+), 13 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
8f1144ed
Make nyancat(1) work. Important release feature!
Christoph Lohmann 20h@r-36.net
121d9109
Add preliminary blink stubs. Real implementation is still missing.
Christoph Lohmann 20h@r-36.net
c092bce3
Add another obscure way to set a window title.
Christoph Lohmann 20h@r-36.net
af29fb2a
Fixing the too small window in non-tiling window managers.
Christoph Lohmann 20h@r-36.net
122ed577
Making the selection work again.
Christoph Lohmann 20h@r-36.net
a1cd28f8
Allow simpler stdout -f handling.
Christoph Lohmann 20h@r-36.net
f2da43a0
Adding instantenous debug output and fixing italic with a reset.
Christoph Lohmann 20h@r-36.net
86cf8e30
Adding the removal of the timeouts to the TODO.
Christoph Lohmann 20h@r-36.net
4a4ae191
Removing masks for unhandled enter and leaving events.
Christoph Lohmann 20h@r-36.net
dd0b7a07
If the selection is cleared, draw() and do it on button press too.
Christoph Lohmann 20h@r-36.net
f471a32d
Unhighlight selection when selection is owner by other window

st marks the active selection using reverse colors in the box selection, but
once that another window becomes owner of the selection, it is very
confusing that st keeps highlight the old selection. Usually terminal
emulators remove the highlight when it is not valid anymore.

X sends a SelectionClear event in this situation, so we only have to add a
callback which unhighlight the selectin box.
---
 st.c |    9 +++++++++
 1 file changed, 9 insertions(+)
Roberto E. Vargas Caballero k0ga@shike2.com
017af76f
Forcing the parameter limit to xcopy() and selpaste(). Thanks to Rob Pilling.
Christoph Lohmann 20h@r-36.net
42505c52
Removing unneeded arguments to copy(). Thanks to Andrew Hills.
Christoph Lohmann 20h@r-36.net
462a966e
Implement italic font support.
Christoph Lohmann 20h@r-36.net
56c551e4
Add to TODO to make function keys work.
Christoph Lohmann 20h@r-36.net
a61b9ea8
Enable keypad set and unset commands.
Christoph Lohmann 20h@r-36.net
da4a77ed
Disable BCE again.
Christoph Lohmann 20h@r-36.net
98dc91eb
Removing the resize issue from the TODO file.
Christoph Lohmann 20h@r-36.net
67c1a230
Fixing the resizing behaviour.
Christoph Lohmann 20h@r-36.net
e09709d9
Forgot one line. It's late.
Christoph Lohmann 20h@r-36.net
b1d383a0
Cleaning up the fixed window size and the resizing of clients.
Christoph Lohmann 20h@r-36.net
e02d7244
Another thing for TODO – resize.
Christoph Lohmann 20h@r-36.net
052a6178
Updating the TODO and enabling BCE.
Christoph Lohmann 20h@r-36.net
6e88c7f6
CUP == HVP; CHA == HPA;
Christoph Lohmann 20h@r-36.net
59fe59d3
Unifying the old style.
Christoph Lohmann 20h@r-36.net
98b6f84b
Check alternative screen before drawing box selection

Some programs use the alternative screen (vi, less, ...), whose
content is different of the main screen. If you select text in one of
the screen, you don't wait the box selection is painted in the other
screen, so it is necessary check if the selection was done in the same
screen we are going to paint. Before to this commit, you could do
something like:

	$ LESS="" ls | less
	(select some code)
	q

and selection box remains drawing in the main screen, but the content
of selection keeps text of the alternate screen.
---
 st.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
Roberto E. Vargas Caballero k0ga@shike2.com
66669a55
Add newline to stderr message

---
 st.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Roberto E. Vargas Caballero k0ga@shike2.com
1d670202
Fixing the border pixel when there is a negative position.
Christoph Lohmann 20h@r-36.net
579f12d4
Add -g geometry to st and the manpage.
Christoph Lohmann 20h@r-36.net
466decd5
Fixing a type in in2 in the st.info.
Christoph Lohmann 20h@r-36.net
930b2c4a
Force redisplay of all lines in DECSCNM

When it is called DECSCNM all lines become dirty, because it is necessary
redraw all lines for getting the new colors. It is easy see the problem
running 'echo ^[[?5h'.

In order to get a correct flash when running tput flash is necessary wait
after DECSCNM, until the changes are displayed, because in other case the
switch between reverse on/reverse off will be too much fast and nothing will
happen.
---
 st.c |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
Roberto E. Vargas Caballero k0ga@shike2.com
a984ffc4
Add write I/O to file

This is a theorical feature listed in http://st.suckless.org/goals. All the
input/output of the terminal will be written to a file, which can be very
useful for debugging, and also allow interconnect st to other process
through named pipes.
---
 st.1 |    6 ++++++
 st.c |   14 +++++++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)
Roberto E. Vargas Caballero k0ga@shike2.com
cfefa054
Patch from Roberto Vargas. »Add initialization strings in terminfo«


Taken from the description:

When tput init is executed the list of task performed are (taken from
terminfo(5)):

              run the program
                     iprog

              output is1 is2

              set the margins using
                     mgc, smgl and smgr

              set tabs using
                     tbc and hts

              print the file
                     if

              and finally
                     output is3.

When reset is executed, a more stronger initialization process is performed,
so the terminal can return from an unknown state. rs1, rs2 and rs3 are used
in this case instead of
using is1, is2 and is3.

This patch makes is2 = rs2, resets insert mode and set normal keypad
mode. For rs1 it performs a full initilization using ^[c.
Christoph Lohmann 20h@r-36.net
b11d85c9
Add standout mode.
Christoph Lohmann 20h@r-36.net
7f17a708
Cleaning up lonely tabs.
Christoph Lohmann 20h@r-36.net
588ba51a
Make it more obvious where the wrong attribute is used.
Christoph Lohmann 20h@r-36.net
c79df9f7
Enable multiple arguments in SM and RM

SM and RM can receive multiple parameters, but the code only was accepting
only one. This patch join the code of set and reset modes (SM and RM) in a
common function and uses a loop which deals with all the arguments of the
sequence. This patch improves xterm and vt100 compability.
---
 st.c |  180 ++++++++++++++++++++++++++++--------------------------------------
 1 file changed, 76 insertions(+), 104 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
4cdcc395
Add vpa terminfo capability

---
 st.info |    2 ++
 1 file changed, 2 insertions(+)
Roberto E. Vargas Caballero k0ga@shike2.com
81c678e5
Silencing the compiler but keeping strparse.

This will really be needed when there is a full 256 color support.
Christoph Lohmann 20h@r-36.net
c58950f2
Applying the CBT patch of Roberto Vargas. Thanks.
Christoph Lohmann 20h@r-36.net
91fa81db
Never trust terminfo fata morganas. And adding other xterm compatibility.
Christoph Lohmann 20h@r-36.net
6696ef85
Add OSC, DSC, PM, APC and settitle.
Christoph Lohmann 20h@r-36.net
ff040e98
Adding setb and setf and a comment about terminfo installation.
Christoph Lohmann 20h@r-36.net
aaef13aa
Add CHT sequence

This sequence performs "Cursor Forward Tabulation <n> tab stops", which
although is not present in vt100 or vt102, xterm accepts it.
---
 st.c |    5 +++++
 1 file changed, 5 insertions(+)
Roberto E. Vargas Caballero k0ga@shike2.com
12de47a9
Applying the patches of k0ga and changing the LICENSE file in the appropriate

way.
Christoph Lohmann 20h@r-36.net
c084c06b
Add TBC sequence

This sequence clears tab stops in the terminal. If the argument is not present
or is zero, then removes the tab stop of the current horizontal position. If
the argument is 3 then removes all the tab stops of the terminal. It was
necessary modify the terminfo entry tbc, because it has \E[2g instead of the
correct \E[3g.

Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>
---
 st.c    |   12 ++++++++++++
 st.info |    2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)
Roberto E. Vargas Caballero k0ga@shike2.com
93901ca4
Add HTS sequence

This sequence adds a new tab stop in the current horizontal position. This
means that tputtab must be look for the next tab stop in the tabs array
instead of using a hard coded value offset. Also, CHT sequence XXX message
is removed because it is not a vt10x sequence (as far as I know it is a
vt50x sequence), and it is not implemented by linux virtual terminal neither
by xterm.

Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>
---
 st.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
ee7fd748
Add tabs field into Term struct

Tabs stop are simulated in st using a fixed size of 8, always, without be
worried about sequences changing the tab stops. A user can put a tab stop in
each horizontal position of the screen, so we need at least one flag for
each column of the screen. In the same way as dirty flags is used for the
rows, it is used a bool dinamic array.

Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>
---
 st.c |   22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)
Roberto E. Vargas Caballero k0ga@shike2.com
c6853fe1
apply post-XDBE patch BORDER fix
Brandon Invergo brandon@invergo.net
94771d05
Implement Xdbe-based double-buffering
Brandon Invergo brandon@invergo.net
8fdba749
update TODO.
Aurélien Aptel aurelien.aptel@gmail.com
cfea72c7
cleanup. refactored dirt-related function.
Aurélien Aptel aurelien.aptel@gmail.com
6c0a1eff
use SHELL as default shell.
Aurélien Aptel aurelien.aptel@gmail.com
7823aeb1
revert to "tip" in VERSION.
Aurélien Aptel aurelien.aptel@gmail.com
83b06565
Added tag 0.2.1 for changeset 108926a0fe61
Aurélien Aptel aurelien.aptel@gmail.com
970d44a6
bump version.
Aurélien Aptel aurelien.aptel@gmail.com
ff5edcfd
replace fwrite by printf.
Aurélien Aptel aurelien.aptel@gmail.com
cb2e0e9c
rewrite csidump().
Aurélien Aptel aurelien.aptel@gmail.com
53ac69e9
clean and name enum definitions.
Aurélien Aptel aurelien.aptel@gmail.com
751fb765
fix default color overwriten bug.
Aurélien Aptel aurelien.aptel@gmail.com
be2877cd
show dark cursor when unfocused.
Aurélien Aptel aurelien.aptel@gmail.com
d8e11bdb
document possible configuration.
Aurélien Aptel aurelien.aptel@gmail.com
33558ca0
handle dim/bright colors.
Aurélien Aptel aurelien.aptel@gmail.com
6de1ba6e
merge
Aurélien Aptel aurelien.aptel@gmail.com
cee6ccc6
reduce size of each glyph for faster copy.
Aurélien Aptel aurelien.aptel@gmail.com
b6b90253
Added tag 0.2 for changeset 3c2f9f2ab5e4
Aurélien Aptel aurelien.aptel@gmail.com
bcb7ec68
cosmetic, whitespace, etc.
Aurélien Aptel aurelien.aptel@gmail.com
df54ab04
fix PRINT/DRAW _TIMEOUT and fix redrawing bug.
Aurélien Aptel aurelien.aptel@gmail.com
896310e5
copy dirty lines to screen, add select() timeout & min time between draw() calls.


* add a timeout value (SELECT_TIMEOUT) of 20ms in the select() call
* wait at least 20ms (DRAW_TIMEOUT) between draw() calls
* only copy dirty lines from the buffer to the screen

what draw() does:
* clears dirty lines in the buffer
* draws the longest same-attributes string of each
  dirty line to the buffer with multiple xdraws() call
* copies the current dirty line from buffer to the screen with a single
  xcopy() call

this changeset makes st run ~10x faster.
Aurélien Aptel aurelien.aptel@gmail.com
13a8eeb8
fix segfault in selection. (thx Martti Kühne)
Aurélien Aptel aurelien.aptel@gmail.com
ab9c9a4e
merge.
Aurélien Aptel aurelien.aptel@gmail.com
a20125a3
fix selection. (thx Tarmo Heiskanen)
Aurélien Aptel aurelien.aptel@gmail.com
0dbf9c8c
add dirty flag for lines
Aurélien Aptel aurelien.aptel@gmail.com
907cb8bf
no palette limit (thx Nick)
Aurélien Aptel aurelien.aptel@gmail.com
9d613092
simplify version format.
Aurélien Aptel aurelien.aptel@gmail.com
4bd08776
selection is removed or scrolled properly. (thx Rafa Garcia Gallego)
Aurélien Aptel aurelien.aptel@gmail.com
b032814e
working on old repo, merging recent changesets.
Aurélien Aptel aurelien.aptel@gmail.com
8e66b5cc
move xembedatom in XWindow struct, add link to xembed specs.
Aurélien Aptel aurelien.aptel@gmail.com
8d2d8848
tweak focus to support XEMBED client message and remove focus on EnterNotify. (thx Adrian)
Aurélien Aptel aurelien.aptel@gmail.com
d5f3d120
remove dup of default window size.
Aurélien Aptel aurelien.aptel@gmail.com
8503f954
fix focus state when embed in another window.
Aurélien Aptel aurelien.aptel@gmail.com
cddbd6ee
fix segfault with mouse selection. (thx anonymous)
Aurélien Aptel aurelien.aptel@gmail.com
3959a992
add -w option to embed st. (thx nodus cursorius)
Aurélien Aptel aurelien.aptel@gmail.com
4736edd4
applied parts of "anonymous" cleanup patch.
Aurélien Aptel aurelien.aptel@gmail.com
189a81ca
add altscreen escseq alias & caps to terminfo entry. (thx Bert Münnich)
Aurélien Aptel aurelien.aptel@gmail.com
9b404c0d
disable mouse highlight when mouse report enabled. (thx Bert Münnich)
Aurélien Aptel aurelien.aptel@gmail.com
d59f92d6
reverse video mode. (thx Bert Münnich)
Aurélien Aptel aurelien.aptel@gmail.com
b2db58c2
add status bar (window title) to terminfo. (thx Rafa Gallego)
Aurélien Aptel aurelien.aptel@gmail.com
6734de9b
set title before mapping window (thx Kamil Cholewiński).
Aurélien Aptel aurelien.aptel@gmail.com
7d352f14
applied parts of Connor Lane Smith's cleanup patch.
Aurélien Aptel aurelien.aptel@gmail.com
5beae6a6
macro cleanup.
Aurélien Aptel aurelien.aptel@gmail.com
0107293a
add mouse report escape to terminfo entry.
Aurélien Aptel aurelien.aptel@gmail.com
80da3720
support for x11 xterm mouse reporting
Aurélien Aptel aurelien.aptel@gmail.com
8eaed2cd
whitespace.
Aurélien Aptel aurelien.aptel@gmail.com
babf4db5
cleanup.
Aurélien Aptel aurelien.aptel@gmail.com
aede91e2
update TODO
Aurélien Aptel aurelien.aptel@gmail.com
9d5ea14b
selection clicks, shift+arrow keys, fast(er) redraw, key mask in config.h (thx Magnus Leuthner)
Aurélien Aptel aurelien.aptel@gmail.com
d3c5aba2
update README.
Aurélien Aptel aurelien.aptel@gmail.com
742a4a18
quick bug-fixing 0.1.1 release.
Aurélien Aptel aurelien.aptel@gmail.com
73e37f56
update VERSION.
Aurélien Aptel aurelien.aptel@gmail.com
89c8a3a2
take BORDER into account for selection. (thx Petr Sabata)
Aurélien Aptel aurelien.aptel@gmail.com
9b63dd9f
fix utf8 clipboard. (thx Petr Sabata)
Aurélien Aptel aurelien.aptel@gmail.com
1adf2e39
Added tag 0.1 for changeset cbc18c988236
Aurélien Aptel aurelien.aptel@gmail.com
674434ef
add support for utf8 clipboard. fix usage message.
Aurélien Aptel aurelien.aptel@gmail.com
a047431d
do not add newline to selection text if next line not selected (Nick)
pancake@nopcode.org unknown
fe724836
remove debugging printf
pancake@nopcode.org unknown
1ab42fd4
apply Nick's patch to fix some error printf to use stderr
pancake@nopcode.org unknown
4d649c24
fix insert key, terminfo and changed TERM back to st. (thx Ondrej Martinek)
Aurélien Aptel aurelien.aptel@gmail.com
0a208cb6
change X cursor to "I".
Aurélien Aptel aurelien.aptel@gmail.com
e8b18dd9
update terminfo entry.
Aurélien Aptel aurelien.aptel@gmail.com
fd114986
add new line glitch to terminfo entry.
Aurélien Aptel aurelien.aptel@gmail.com
86c5cb6d
change -e behaviour and update man page.
Aurélien Aptel aurelien.aptel@gmail.com
732b9601
-e flag handles arguments.
Aurélien Aptel aurelien.aptel@gmail.com
54bc450d
use memmove() instead of memcpy() in ttyread().
Aurélien Aptel aurelien.aptel@gmail.com
af75c433
fix and clean ttyread(). buf wasn't static.
Aurélien Aptel aurelien.aptel@gmail.com
41a4497e
merge.
Aurélien Aptel aurelien.aptel@gmail.com
00ba6969
s/xw.dis/xw.dpy/
Aurélien Aptel aurelien.aptel@gmail.com
b61925b5
cleanup & bugfix in xdraws().
Aurélien Aptel aurelien.aptel@gmail.com
81a048d6
clean comment regarding redrawing in bmotion().
Aurélien Aptel aurelien.aptel@gmail.com
b61afd24
Add -c option to override the default window class
Gregor Best gbe@ring0.de
70464e20
some code cleaning.
Aurélien Aptel aurelien.aptel@gmail.com
9b74fcad
utf8 support! print text in delicious unicode greatness! all hail to the glorious Damian Okrasa for the patch!

TERM set back to xterm.
changed default fonts.
Note: drawing is now (even) slower.
Aurélien Aptel aurelien.aptel@gmail.com
d581bfcc
selection code cleanup.
Aurélien Aptel aurelien.aptel@gmail.com
b1e60992
fixed ED.
Aurélien Aptel aurelien.aptel@gmail.com
edfbc9b4
redraw if we scroll on resize
Devin J. Pohly djpohly@djpohly.com
638a3035
get rid of artifacts in border on resize down
Devin J. Pohly djpohly@djpohly.com
d85f7319
copy old pixmap to new on resize
Devin J. Pohly djpohly@djpohly.com
12435817
move code into new xresize func, add early exit to resize
Devin J. Pohly djpohly@djpohly.com
722688d9
\v and \f are have the same behaviour of \n.
Aurélien Aptel aurelien.aptel@gmail.com
6f87a394
added LNM mode; re-organized kpress() to handle it.
Aurélien Aptel aurelien.aptel@gmail.com
ce27e634
redraw optimization.
Aurélien Aptel aurelien.aptel@gmail.com
9e004846
fixed newline bug.
Aurélien Aptel aurelien.aptel@gmail.com
68d8fcf6
replaced memset by loops in tresize(); turns out it's faster.
Aurélien Aptel aurelien.aptel@gmail.com
e4bf56ae
remove useless draw().
Aurélien Aptel aurelien.aptel@gmail.com
d693b304
applied xclipboard patch. thx David Isaac Wolinsky.
Aurélien Aptel aurelien.aptel@gmail.com
3a50a4fd
clean button selection code.
Aurélien Aptel aurelien.aptel@gmail.com
3470e3af
compose key patch. thx federico luna.
Aurélien Aptel aurelien.aptel@gmail.com
6faedce5
s/hasfocus/focus/ for consistency.
Aurélien Aptel aurelien.aptel@gmail.com
ab7037cb
don't draw if the window is not visible.
Aurélien Aptel aurelien.aptel@gmail.com
f6934763
use xclear() in draw().
Aurélien Aptel aurelien.aptel@gmail.com
8c375798
use XCreateWindow(), set gravity bit.
Aurélien Aptel aurelien.aptel@gmail.com
273d4ba9
cleaning st.info. added comment in st.c for DECSCNM.
Aurélien Aptel aurelien.aptel@gmail.com
c4352615
cleaning st.info. fixed cvvis.
Aurélien Aptel aurelien.aptel@gmail.com
58083da6
set terminal colors to xterm default ones.
Aurélien Aptel aurelien.aptel@gmail.com
ebc28727
removed gfx chars not present in xterm acsc.
Aurélien Aptel aurelien.aptel@gmail.com
7d325a37
fixed start/end sequence of gfx.
Aurélien Aptel aurelien.aptel@gmail.com
223909e0
undefined gfx doesn't draw \0.
Aurélien Aptel aurelien.aptel@gmail.com
b6af0fdc
fixed makefile.
Aurélien Aptel aurelien.aptel@gmail.com
2080dfeb
added manpage.
Aurélien Aptel aurelien.aptel@gmail.com
fbc6ec32
resize from the top.
Aurélien Aptel aurelien.aptel@gmail.com
9d82bdd9
added -e and -t option.
Aurélien Aptel aurelien.aptel@gmail.com
97695baf
factored code and fixed behaviour of tnewline().
Aurélien Aptel aurelien.aptel@gmail.com
32e160c9
updated TODO.
Aurélien Aptel aurelien.aptel@gmail.com
42344b71
started to go through st.info and fix things.
Aurélien Aptel aurelien.aptel@gmail.com
a79bc96c
capabilities sorted by capname in st.info. copy acsc from xterm.
Aurélien Aptel aurelien.aptel@gmail.com
df5c5ed0
removed debug code.
Aurélien Aptel aurelien.aptel@gmail.com
5ce6c5c0
fixed IL and DL.
Aurélien Aptel aurelien.aptel@gmail.com
ef691180
factor and cleanup code.
Aurélien Aptel aurelien.aptel@gmail.com
f732ca5f
added correct line drawing characters for default font.
Aurélien Aptel aurelien.aptel@gmail.com
cfe89755
use struct instead of array.
Aurélien Aptel aurelien.aptel@gmail.com
9703859e
cleanup.
Aurélien Aptel aurelien.aptel@gmail.com
591d147a
fix segfault when selecting big buffers

shift+insert paste clipboard
honor CFLAGS and LDFLAGS in config.mk
pancake@nopcode.org unknown
1132d9e2
fix build.
Aurélien Aptel aurelien.aptel@gmail.com
c4225bdc
add selinit() and renamed clipboard_* to sel*.
Aurélien Aptel aurelien.aptel@gmail.com
f211bc2e
move event configuration in xinit().
Aurélien Aptel aurelien.aptel@gmail.com
ee858b48
use one global struct instead of many vars for selection. Cleanup.
Aurélien Aptel aurelien.aptel@gmail.com
80f70f1c
use GLYPH_SET to test if a char is set; cleanup.
Aurélien Aptel aurelien.aptel@gmail.com
23cc3fc5
fix crash for small windows

use unconditional infinite loops
pancake@nopcode.org unknown
160bda1b
toggle ATTR_REVERSE on selected text, factored some code and fixed Makefile.
Aurélien Aptel aurelien.aptel@gmail.com
596bb133
fix build

use config.def.h mechanism
add SHELL in config.h
pancake pancake@nopcode.org
0ba53e48
initial implementation of selection and clipboard
pancake pancake@nopcode.org
e1ce89f2
fix segfault
pancake@nopcode.org unknown
12c25bce
added support for alternate screen.
Aurélien Aptel aurelien.aptel@gmail.com
326586ba
cursor is hid when unfocused.
Aurélien Aptel aurelien.aptel@gmail.com
ae5baac9
use predefined OS macro instead of uname.
Aurélien Aptel aurelien.aptel@gmail.com
bef87acd
st should compile on NetBSD.
Aurélien Aptel aurelien.aptel@gmail.com
1bb7398f
removed pty.h. minimal system guessing added in config.mk.
Aurélien Aptel aurelien.aptel@gmail.com
e851736e
removed (visual) bell. '\a' sets the urgency flag if st is unfocused.
Aurélien Aptel aurelien.aptel@gmail.com
188293c8
removed useless cursor init. and renamed xcursor() to xdrawcursor().
Aurélien Aptel aurelien.aptel@gmail.com
7d88cf88
added support for the "magic margin", changed c.hide to c.state, changed xcursor() to use term instead of a

parameter and fixed the cursor position after setting a scrolling region.
Aurélien Aptel aurelien.aptel@gmail.com
1f6e7b84
removed old VT52 escapes, fixed VT100 IND.
Aurélien Aptel aurelien.aptel@gmail.com
5258d605
fixed optimized drawing routine and factored some code.
Aurélien Aptel aurelien.aptel@gmail.com
b4f623f9
fixed pixmap buffer drawing.
Aurélien Aptel aurelien.aptel@gmail.com
eab9aad1
added a XFlush() in xbell().
Aurélien Aptel aurelien.aptel@gmail.com
21810405
moved term.hidec in term.c for consistency, put back delay in xbell()

along with duration in config.h, factored some code in tnew()/treset()
and cleaned some code.
Aurélien Aptel aurelien.aptel@gmail.com
c186c8ef
merged tscroll() with tscrollup().
Aurélien Aptel aurelien.aptel@gmail.com
6db6980e
st now runs on Linux, OpenBSD and FreeBSD.
Aurélien Aptel aurelien.aptel@gmail.com
c5633285
removed XINERAMA from config.mk and fixed a segfault when st is

started without a display. (thx Hiltjo Posthuma)
Aurélien Aptel aurelien.aptel@gmail.com
a1018e0e
fixed potential bug in IS_SET().
Aurélien Aptel aurelien.aptel@gmail.com
fbb66da9
merged tcursorwrap() with tnewline(), added few comments and updated copyright.
Aurélien Aptel aurelien.aptel@gmail.com
42b2912e
cleaned some spaces.
Aurélien Aptel aurelien.aptel@gmail.com
5d611cd5
added macro to test flags, removed tmovecursor().
Aurélien Aptel aurelien.aptel@gmail.com
4db3df31
faster resizing.
Aurélien Aptel aurelien.aptel@gmail.com
e8c13ebe
close master/slave pty in the shell process.
Aurélien Aptel aurelien.aptel@gmail.com
5c93f399
clean \t.
Aurélien Aptel aurelien.aptel@gmail.com
44226483
update function prototypes.
Aurélien Aptel aurelien.aptel@gmail.com
b09401b9
fix \b and clean \t.
Aurélien Aptel aurelien.aptel@gmail.com
a7922bd1
added F1-12 key, fixed DCH and ICH.
Aurélien Aptel aurelien.aptel@gmail.com
ce3f4fc6
fixed backspace problem, updated terminfo entry and moved TNAME in config.h.
Aurélien Aptel aurelien.aptel@gmail.com
d2f157c7
renamed a function.
Aurélien Aptel aurelien.aptel@gmail.com
10e49a05
applied Devin J Pohly's st color info patches, thanks Devin!
Anselm R Garbe anselm@garbe.us
9e8f5f13
fix gcc warnings
pancake@nopcode.org unknown
499c70cd
fixed background color bug (thx Devin J. Pohly).
Aurélien Aptel aurelien.aptel@gmail.com
2f96cfea
added PBaseSize hint and set default title to "st".
Aurélien Aptel aurelien.aptel@gmail.com
2f5ebe0a
rearranged code, resize fixed.
Aurélien Aptel aurelien.aptel@gmail.com
476f9379
little clean up.
Aurélien Aptel aurelien.aptel@gmail.com
d01c55c9
use SHELL environment variable (thx Thomas Adam)
Aurélien Aptel aurelien.aptel@gmail.com
b3b7ffce
double-buffering added using pixmap (finally).

results in a lot of simplification :
	- no more dirty flags (perf are good enough).
	- no more ugly gfx call in emulation functions.
LINESPACE removed from config.h.
BORDER is now handled correctly.
Aurélien Aptel aurelien.aptel@gmail.com
0f4dd503
bold attribute is back.

visibility of the cursor is not saved/loaded anymore.
scrolling up/down is fixed.
added RI and RIS sequences.
fixed cursor drawing bug.
Aurélien Aptel aurelien.aptel@gmail.com
7cdaf130
added VT100 NEL.
Aurélien Aptel aurelien.aptel@gmail.com
639f16d2
added VT100 RI.
Aurélien Aptel aurelien.aptel@gmail.com
636c369d
added VT100 save&load cursor support.
Aurélien Aptel aurelien.aptel@gmail.com
3ba517e7
ECH handled correctly.
Aurélien Aptel aurelien.aptel@gmail.com
eff05c7b
more escapes & more compability:

cursor keys are handled in kpress according to the Application Mode (DECPAM).
define & enum were renamed.
tcursor() is now tmovecursor() which is more correct.
tcpos() is now tcursor(), as DECSC is also supposed to save attributes.
capnames are indicated whenever possible.

Currently:
alsamixer looks fine, totally usable.
ncmpc is almost ok.
emacs looks like shit.
Aurélien Aptel aurelien.aptel@gmail.com
e6b3f5c7
graphic charset and a few more escapes.
Aurélien Aptel aurelien.aptel@gmail.com
09814375
TERM set to xterm by default (which broke a lot of stuff), better escape handling (title), and a little clean up.
Aurélien Aptel aurelien.aptel@gmail.com
f2dff29a
drawing is faster but the bold attr is not supported anymore.
Aurélien Aptel aurelien.aptel@gmail.com
4e6915a1
Fixed possible segfault by reverting to the key struct (again).
Aurélien Aptel aurelien.aptel@gmail.com
dab8326e
only compile tdump if DEBUG flag is set
Anselm R Garbe garbeam@gmail.com
cf65699a
we definately need pixmaps for the drawing, currently drawing into the window is painfully slow! much more slower than drawing into a pixmap and mapping that when finished -- several optimisations
Anselm R Garbe garbeam@gmail.com
0a5e5102
reverted back to the old Key struct.
Aurélien Aptel aurelien.aptel@gmail.com
4d794b34
updated "key" to a lookup table.
Aurélien Aptel aurelien.aptel@gmail.com
44d8c319
removed old unused cursor() proto.
Aurélien Aptel aurelien.aptel@gmail.com
b8ffa1d7
fixed the scrolling bug and cleaned some stuff.
Aurélien Aptel aurelien.aptel@gmail.com
d5f45544
dump escseq if not handled.
Aurélien Aptel aurelien.aptel@gmail.com
53937e04
clean up.
Aurélien Aptel aurelien.aptel@gmail.com
2e377529
added/removed files, updated Makefile.
Aurélien Aptel aurelien.aptel@gmail.com
8b4bfe31
made kpress() more flexible, removed st.h, added config.h.
Aurélien Aptel aurelien.aptel@gmail.com
5d8aa08b
updated TODO.
Aurélien Aptel aurelien.aptel@gmail.com
ad39f000
added sigchld handler, cleaned error checking.
Aurélien Aptel aurelien.aptel@gmail.com
2f35cef5
cleaned up (removed space indentation). select/event bug fixed.
Aurélien Aptel aurelien.aptel@gmail.com
129bcd75
fixed a memory leak & segfault in tresize.
Aurélien Aptel aurelien.aptel@gmail.com
059d2ba2
updated TODO.
Aurélien Aptel aurelien.aptel@gmail.com
a866108a
tab moves the cursor instead of inserting spaces.
Aurélien Aptel aurelien.aptel@gmail.com
1cf8b77d
handle tabulation (still not perfect)
Aurélien Aptel aurelien.aptel@gmail.com
0ecfcc39
removed truecolor stuff
Aurélien Aptel aurelien.aptel@gmail.com
abe6f3b0
removed the truecolor stuff
Aurélien Aptel aurelien.aptel@gmail.com
86fa7560
same thing, really fixed this time.
Aurélien Aptel aurelien.aptel@gmail.com
ccafacb3
added some error checking in xinit (fixed the segfault caused by a missing font)
Aurélien Aptel aurelien.aptel@gmail.com
fd281ad3
Removed unused variable and cleaned some comment.
Aurélien Aptel aurelien.aptel@gmail.com
d58dd3b8
backport of local changes
Anselm R Garbe garbeam@gmail.com
802f1922
add accidentally omitted word
Matthias-Christian Ott ott@enolink.de
a7f50ebb
use stdio(3)
Matthias-Christian Ott ott@enolink.de
07d1edcd
add description of std
Matthias-Christian Ott ott@enolink.de
d61a2a8f
add prototype for command parsing
Matthias-Christian Ott ott@enolink.de
240411e7
correct year of copyright notice
Matthias-Christian Ott ott@enolink.de
e0d0a2b9
simplify Makefile


Due to consideration of POSIX compliance issues config.mk had
to be removed. Configuration variables can be overridden by
environment variables or specified via command line.

Additionally all pretty-printed messages were removed and
built-in rules are used. This also simplifies and purges
the Makefile.
Matthias-Christian Ott ott@enolink.de
082d8bb8
reunite pty.c with std.c
Matthias-Christian Ott ott@enolink.de
6c6b65ea
correct programme name
Matthias-Christian Ott ott@enolink.de
746931a3
use errx() for help and version messages
Matthias-Christian Ott ott@enolink.de
a95f4f2e
merge with backout head
Matthias-Christian Ott ott@enolink.de
fb4508b0
remove TODO
Matthias-Christian Ott ott@enolink.de
0cbcedb8
make ptm and pts static
Matthias-Christian Ott ott@enolink.de
afc73c92
remove useless variable
Matthias-Christian Ott ott@enolink.de
b3902ca1
remove emallocz()
Matthias-Christian Ott ott@enolink.de
f982c1c3
replace eprint() functions with BSD error functions
Matthias-Christian Ott ott@enolink.de
d83cbc27
simplify flushing
Matthias-Christian Ott ott@enolink.de
3cb67937
correct buffering
Matthias-Christian Ott ott@enolink.de
cf147ae9
make local functions and variables static
Matthias-Christian Ott ott@enolink.de
f9a0524f
add select(2)-based i/o multiplexing
Matthias-Christian Ott ott@enolink.de
a49919a1
drop stdio usage


Std requires I/O multiplexing which is very complicated with
stdio, because it provides no transparent buffering.
Matthias-Christian Ott ott@enolink.de
0c0ada8a
make st and std separate programmes
Matthias-Christian Ott ott@enolink.de
339e7f35
add missing header file
Matthias-Christian Ott ott@enolink.de
09fe1e22
assume glibc by default
Matthias-Christian Ott ott@enolink.de
5f287254
source utility functions out to util.c
Matthias-Christian Ott ott@enolink.de
05ebee60
add copyright comment
Matthias-Christian Ott ott@enolink.de
47d8633f
source getpty() out to pty.c
Matthias-Christian Ott ott@enolink.de
0dedee5d
update TODO
Matthias-Christian Ott ott@enolink.de
0dce422d
correct function name
Matthias-Christian Ott ott@enolink.de
b8f79f0e
remove xinerama flags


The xinerama related variables in config.mk are a relict of
dwm and therefore should be removed.
Matthias-Christian Ott ott@enolink.de
5e680d71
add missing header file
Matthias-Christian Ott ott@enolink.de
dc01596e
add parser loop
Matthias-Christian Ott ott@enolink.de
5d055fdc
remove useless variable
Matthias-Christian Ott ott@enolink.de
a6efc851
replace state with separate variables
Matthias-Christian Ott ott@enolink.de
50b4785f
terminate error message with newline
Matthias-Christian Ott ott@enolink.de
c61b34e8
correct LENGTH()
Matthias-Christian Ott ott@enolink.de
693e2413
simplify control flow
Matthias-Christian Ott ott@enolink.de
0b3510df
remove debug code
Matthias-Christian Ott ott@enolink.de
40c0ecfe
remove stdio slave pty opening
Matthias-Christian Ott ott@enolink.de
e2ac1676
drop support for proprietary UNIX variants


Proprietary UNIX variants like AIX, HP-UX or SCO UNIX
are nowadays rarely used and maintaining compatibility to
non-standard operating systems interfaces is wasteful and
practically useless.

Projects like xterm suffer from backward compatibility to decades-old
UNIX variants and terminal standards. This does not conform to st's
design goals.
Matthias-Christian Ott ott@enolink.de
375efb88
slight changes
Anselm R Garbe garbeam@gmail.com
771ece25
applied Matthias-Christians changes to std.c
Anselm R Garbe garbeam@gmail.com
1987ae4b
added some new files for the initial rewrite of st from scratch
Anselm R Garbe garbeam@gmail.com
16f373e3
added new TODO
arg@localhost.localdomain unknown
7a132bd6
Backed out changeset d2bb4220fdf3


Ptm and pts are used by pty.c, thus they have to be non-static.
Matthias-Christian Ott ott@enolink.de
581ae58b
fix warning
pancake pancake@nopcode.org
eaf38bf3
Fix unused variable issue and OSX includes
pancake@nopcode.org unknown
f78b793d
change "op" cap in terminfo entry to xterm/rxvt value.
Aurélien Aptel aurelien.aptel@gmail.com
6f260ba1
fix custom key handling.
Aurélien Aptel aurelien.aptel@gmail.com
23bb97d9
drawregion() only copies region on screen.
Aurélien Aptel aurelien.aptel@gmail.com
b11e22df
some minor fixes
anselm@garbe.us unknown
816a70c0
use typedef'd unsigned type and regular bool type.
Aurélien Aptel aurelien.aptel@gmail.com