Xinqi Bao's Git
projects
/
st.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Make useful DEL in application mode
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
6e5953a
..
0e228a7
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-1356,9
+1356,12
@@
treset(void) {
memset(term.trantbl, sizeof(term.trantbl), CS_USA);
term.charset = 0;
memset(term.trantbl, sizeof(term.trantbl), CS_USA);
term.charset = 0;
- tclearregion(0, 0, term.col-1, term.row-1);
- tmoveto(0, 0);
- tcursor(CURSOR_SAVE);
+ for(i = 0; i < 2; i++) {
+ tmoveto(0, 0);
+ tcursor(CURSOR_SAVE);
+ tclearregion(0, 0, term.col-1, term.row-1);
+ tswapscreen();
+ }
}
void
}
void
@@
-2661,7
+2664,6
@@
tresize(int col, int row) {
int mincol = MIN(col, term.col);
int slide = term.c.y - row + 1;
bool *bp;
int mincol = MIN(col, term.col);
int slide = term.c.y - row + 1;
bool *bp;
- Line *orig;
TCursor c;
if(col < 1 || row < 1) {
TCursor c;
if(col < 1 || row < 1) {
@@
-2724,9
+2726,8
@@
tresize(int col, int row) {
/* make use of the LIMIT in tmoveto */
tmoveto(term.c.x, term.c.y);
/* Clearing both screens (it makes dirty all lines) */
/* make use of the LIMIT in tmoveto */
tmoveto(term.c.x, term.c.y);
/* Clearing both screens (it makes dirty all lines) */
- orig = term.line;
c = term.c;
c = term.c;
-
do
{
+
for(i = 0; i < 2; i++)
{
if(mincol < col && 0 < minrow) {
tclearregion(mincol, 0, col - 1, minrow - 1);
}
if(mincol < col && 0 < minrow) {
tclearregion(mincol, 0, col - 1, minrow - 1);
}
@@
-2735,7
+2736,7
@@
tresize(int col, int row) {
}
tswapscreen();
tcursor(CURSOR_LOAD);
}
tswapscreen();
tcursor(CURSOR_LOAD);
- }
while(orig != term.line);
+ }
term.c = c;
}
term.c = c;
}
@@
-3870,8
+3871,8
@@
run(void) {
void
usage(void) {
die("%s " VERSION " (c) 2010-2014 st engineers\n" \
void
usage(void) {
die("%s " VERSION " (c) 2010-2014 st engineers\n" \
- "usage: st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]
" \
- " [-t title] [-w windowid] [-e command ...]\n", argv0);
+ "usage: st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]
\n"
+ "
[-i]
[-t title] [-w windowid] [-e command ...]\n", argv0);
}
int
}
int