---
TODO | 4 ----
st.c | 21 ++++++++++++++++++---
2 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/TODO b/TODO
index afd6401..4fc1346 100644
--- a/TODO
+++ b/TODO
_AT_@ -26,10 +26,6 @@ bugs
* fix rows and column definition in fixed geometry
* fix -e handling
* remove DEC test sequence when appropriate
-* When some application outputting long text is run in the shell init scripts,
- then this text might be stripped to the standard 80x25 due to st running the
- virtual terminal at first priority. Maybe the vt initialisation could be
- moved somewhere after knowing the right window size.
misc
----
diff --git a/st.c b/st.c
index 2811876..ef17e90 100644
--- a/st.c
+++ b/st.c
_AT_@ -3532,10 +3532,28 @@ resize(XEvent *e) {
void
run(void) {
XEvent ev;
+ int w = xw.w, h = xw.h;
fd_set rfd;
int xfd = XConnectionNumber(xw.dpy), xev, blinkset = 0, dodraw = 0;
struct timeval drawtimeout, *tv = NULL, now, last, lastblink;
+ /* Waiting for window mapping */
+ while(1) {
+ XNextEvent(xw.dpy, &ev);
+ if(ev.type == ConfigureNotify) {
+ w = ev.xconfigure.width;
+ h = ev.xconfigure.height;
+ } else if(ev.type == MapNotify) {
+ break;
+ }
+ }
+
+ if(!xw.isfixed)
+ cresize(w, h);
+ else
+ cresize(xw.fw, xw.fh);
+ ttynew();
+
gettimeofday(&lastblink, NULL);
gettimeofday(&last, NULL);
_AT_@ -3685,10 +3703,7 @@ run:
XSetLocaleModifiers("");
tnew(80, 24);
xinit();
- ttynew();
selinit();
- if(xw.isfixed)
- cresize(xw.h, xw.w);
run();
return 0;
--
1.7.10.4
Received on Sun Jun 23 2013 - 19:05:29 CEST
This archive was generated by hypermail 2.3.0 : Sun Jun 23 2013 - 19:12:05 CEST