summaryrefslogtreecommitdiffstats
path: root/README (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-09-16Remove some solved issues and add some new.Christoph Lohmann1-2/+6
2012-09-16Preliminary solution to the stuttering problem.Christoph Lohmann1-3/+24
2012-09-16Fix selection bugRoberto E. Vargas Caballero1-1/+4
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(-)
2012-09-16Render only once in each main loop iterationRoberto E. Vargas Caballero1-23/+6
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(-)
2012-09-16Remove timeout in the main loopRoberto E. Vargas Caballero2-25/+3
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(-)
2012-09-16Call XSync in redrawRoberto E. Vargas Caballero1-0/+1
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(+)
2012-09-16Call XdbeQueryExtension before of calling any Xdbe functionRoberto E. Vargas Caballero1-2/+3
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(-)
2012-09-14Implementing italic-bold. This will require an increase of the avgWdth.Christoph Lohmann2-6/+13
2012-09-13Ignore NUL character as a padding character. Telnet may use this. Patch ofChristoph Lohmann1-0/+2
Roberto Vargas.
2012-09-13Importing the patch of Roberto Vargas to inherit signal handlers.Christoph Lohmann1-0/+7
2012-09-13Reset window title on terminal reset too.Christoph Lohmann1-1/+8