90#if defined(__EMSCRIPTEN__)
95 return FallbackSize();
97 CONSOLE_SCREEN_BUFFER_INFO csbi;
99 if (GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi)) {
100 return Dimensions{csbi.srWindow.Right - csbi.srWindow.Left + 1,
101 csbi.srWindow.Bottom - csbi.srWindow.Top + 1};
104 return FallbackSize();
107 const int status = ioctl(STDOUT_FILENO, TIOCGWINSZ, &w);
110 if (w.ws_col == 0 || w.ws_row == 0 || status < 0) {
111 return FallbackSize();