O programa tabs
usa dados do banco de dados do terminal para informar ao terminal o que paradas de tabulação para usar.
O computador não sabe sobre as paradas de tabulação: usando stty
você pode configurar o driver de terminal para usar guias de hardware ou soft (a expansão usual de 8 colunas por parada de tabulação). Se você definir as guias hard / soft, a maioria dos aplicativos no sistema assumirá 8, de qualquer forma.
O banco de dados do terminal não fornece uma maneira padrão de determinar quais as paradas de tabulação estão definidas. Para as emulações VT100 amplamente utilizadas no xterm, etc., é possível determinar essa informação usando o relatório de posição do cursor. Alguém poderia escrever um aplicativo que escrevesse guias, usasse o relatório de cursor para ver onde o cursor terminava e computasse as paradas de tabulação. (O programa resize
usa o relatório de posição do cursor para determinar o tamanho da tela).
ncurses fornece recursos de u6
que tentam descrever os relatórios de posição do cursor, mas para fins práticos apenas os relatórios no estilo do VT100 são suportados.