I’m experiencing an issue with commands that provide a tui interface like journalctl, systemctl and vim. It feels like terminal dimensions are not matching up somehow. And this issue is present only some times. On host I’m using Black Box and I tile my windows using pop os tiler. I’m also frequently scaling the font with ctrl + and ctrl - shortcuts. Remote sshd host is running Debian variables $LINES and $COLUMNS are set. bashrc files are in their default state.

How is this supposed to work? Isn’t my terminal client sending new $LINES and $COLUMNS each time there is a change?

  • donio@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    11 months ago

    I believe the primary mechanism for programs to determine the terminal size these days is the TIOCGWINSZ ioctl and there is also a SIGWINCH signal that provides a notification when the size changes. If I remember right the terminal emulator is supposed to use another ioctl, TIOCSWINSZ to set the correct size on the pty.

    You could try running stty -a to see what the pty thinks its size is. You could also try running the resize command in the shell to see if that displays the correct size and if it sets the correct size on the pty. I believe this works by sending an escape sequence to the terminal to query the size and then uses the ioctl to set it. This shouldn’t be necessary thoguh and even if it works it’s not a real solution but might help to narrow down where the issue might be.