shithub: riscv

Download patch

ref: b9092ff3e9184af107d89ca502ab7e13a5946169
parent: 37318361be56ff0c858aacadb7ab2a7587f9dd79
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Wed Jul 12 18:36:15 EDT 2023

vt: resize only when the window is not hidden (fixes window at top left corner with riow after terminal reset)

--- a/sys/src/cmd/vt/main.c
+++ b/sys/src/cmd/vt/main.c
@@ -893,7 +893,8 @@
 void
 setdim(int ht, int wid)
 {
-	int fd;
+	char tmp[128];
+	int n, fd;
  
 	if(wid > 0) xmax = wid-1;
 	if(ht > 0) ymax = ht-1;
@@ -927,11 +928,15 @@
 
 	exportsize();
 
-	fd = open("/dev/wctl", OWRITE);
+	fd = open("/dev/wctl", ORDWR);
 	if(fd >= 0){
 		ht = (ymax+1) * ftsize.y + 2*INSET + 2*Borderwidth;
 		wid = (xmax+1) * ftsize.x + ftsize.x + 2*INSET + 2*Borderwidth;
-		fprint(fd, "resize -dx %d -dy %d\n", wid, ht);
+		if((n = read(fd, tmp, sizeof(tmp)-1)) < 0)
+			n = 0;
+		tmp[n] = 0;
+		if(strstr(tmp, "hidden") == nil)
+			fprint(fd, "resize -dx %d -dy %d\n", wid, ht);
 		close(fd);
 	}
 }