88#if defined(__EMSCRIPTEN__)
93 return FallbackSize();
95 CONSOLE_SCREEN_BUFFER_INFO csbi;
97 if (GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi)) {
98 return Dimensions{csbi.srWindow.Right - csbi.srWindow.Left + 1,
99 csbi.srWindow.Bottom - csbi.srWindow.Top + 1};
102 return FallbackSize();
105 const int status = ioctl(STDOUT_FILENO, TIOCGWINSZ, &w);
108 if (w.ws_col == 0 || w.ws_row == 0 || status < 0) {
109 return FallbackSize();