4 ms·
You don't have to use the ioctl. The xterm escape code to query window size is widely supported across terminal emulators. It has the distinct advantage of work
by kevin_thibedeau 2y ago
You don't have to use the ioctl. The xterm escape code to query window size is widely supported across terminal emulators. It has the distinct advantage of working remotely and from non-unix systems.
- rockorager 2y agoThe single downside being you can get signals for SIGWINCH, while the (legacy) xterm escape sequence requires polling. I wrote a proposal[0] to have terminals send these updates in-band, instead of requiring polling a-la xterm. So far, foot, ghostty, iterm2, and kitty have implemented this feature on the terminal side. Neovim, notably, also supports this on the client side. [0]: https://gist.github.com/rockorager/e695fb2924d36b2bcf1fff4a3704bd83 https://gist.github.com/rockorager/e695fb2924d36b2bcf1fff4a3...
- clausecker 2y agoThis stuff sucks because if the application forgets to turn it back off, the terminal pukes random control characters into your shell every time the window is resized.
- mrlonglong 2y agoThat's what `reset` is so useful for.
- caf 2y agoThe ioctl works remotely as well, because ssh sends window size messages across the channel.
- kevin_thibedeau 2y agoTerminals still run over raw serial ports.