iExtract ttyresize() out of cresize() - st - Simple Terminal Err gopher.r-36.net 70 i Err gopher.r-36.net 70 1Log /scm/st//log.gph gopher.r-36.net 70 1Files /scm/st//files.gph gopher.r-36.net 70 1Refs /scm/st//refs.gph gopher.r-36.net 70 1README /scm/st//file/README.gph gopher.r-36.net 70 1LICENSE /scm/st//file/LICENSE.gph gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1commit 6e70bb97d4e98a5e2fa7c5488b0cba1da140b78f /scm/st//commit/6e70bb97d4e98a5e2fa7c5488b0cba1da140b78f.gph gopher.r-36.net 70 1parent 82335583eba15e87749d0e663270353005fca30b /scm/st//commit/82335583eba15e87749d0e663270353005fca30b.gph gopher.r-36.net 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space gopher.r-36.net 70 iDate: Sat, 30 Jan 2016 17:54:41 +0100 Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iExtract ttyresize() out of cresize() Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iThis way we can call cresize() to set the terminal size before creating Err gopher.r-36.net 70 ia tty or spawning a process, which will start with the correct size. Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iSigned-off-by: Christoph Lohmann <20h@r-36.net> Err gopher.r-36.net 70 i Err gopher.r-36.net 70 iDiffstat: Err gopher.r-36.net 70 i st.c | 8 ++++---- Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i1 file changed, 4 insertions(+), 4 deletions(-) Err gopher.r-36.net 70 i--- Err gopher.r-36.net 70 1diff --git a/st.c b/st.c /scm/st//file/st.c.gph gopher.r-36.net 70 i@@ -1441,8 +1441,6 @@ ttynew(void) Err gopher.r-36.net 70 i if (openpty(&m, &s, NULL, NULL, &w) < 0) Err gopher.r-36.net 70 i die("openpty failed: %s\n", strerror(errno)); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i- ttyresize(); Err gopher.r-36.net 70 i- Err gopher.r-36.net 70 i switch (pid = fork()) { Err gopher.r-36.net 70 i case -1: Err gopher.r-36.net 70 i die("fork failed\n"); Err gopher.r-36.net 70 i@@ -3427,6 +3425,7 @@ xzoomabs(const Arg *arg) Err gopher.r-36.net 70 i xunloadfonts(); Err gopher.r-36.net 70 i xloadfonts(usedfont, arg->f); Err gopher.r-36.net 70 i cresize(0, 0); Err gopher.r-36.net 70 i+ ttyresize(); Err gopher.r-36.net 70 i redraw(); Err gopher.r-36.net 70 i xhints(); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i@@ -4210,7 +4209,6 @@ cresize(int width, int height) Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i tresize(col, row); Err gopher.r-36.net 70 i xresize(col, row); Err gopher.r-36.net 70 i- ttyresize(); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i@@ -4220,6 +4218,7 @@ resize(XEvent *e) Err gopher.r-36.net 70 i return; Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i cresize(e->xconfigure.width, e->xconfigure.height); Err gopher.r-36.net 70 i+ ttyresize(); Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i void Err gopher.r-36.net 70 i@@ -4248,8 +4247,9 @@ run(void) Err gopher.r-36.net 70 i } Err gopher.r-36.net 70 i } while (ev.type != MapNotify); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i- ttynew(); Err gopher.r-36.net 70 i cresize(w, h); Err gopher.r-36.net 70 i+ ttynew(); Err gopher.r-36.net 70 i+ ttyresize(); Err gopher.r-36.net 70 i Err gopher.r-36.net 70 i clock_gettime(CLOCK_MONOTONIC, &last); Err gopher.r-36.net 70 i lastblink = last; Err gopher.r-36.net 70 .