Inicia o prompt de comando de rolagem quando preenchido até uma fração específica

2

Estou usando o prompt de comando do terminal padrão no Ubuntu 12.04. Quando estou fazendo algo no prompt (em oposição à edição em VI ), a rolagem começa quando o texto atinge a parte inferior da tela. Eu não gosto disso porque tenho que manter meus olhos sempre na parte inferior da tela. Eu preferiria que houvesse uma opção para começar a rolar as coisas quando atingimos uma fração específica do tamanho da tela vertical. Atualmente eu apenas uso a tela clara ( CTRL+L ), mas é tedioso fazer isso toda vez. Eu não gosto de redimensionar prompt de comando porque o fundo me distrai e eu tenho que redimensioná-lo cada vez em uma nova sessão. Há alguma maneira de rolar quando o prompt é preenchido até uma fração específica (digamos, 70%)?

    
por user13107 21.02.2014 / 04:01

1 resposta

4

Estou usando o gnome-terminal como meu console e ele respeita o scroll set vt100 região Sequência de caracteres de controle.

$ cat setscroll.sh 
function min(){
  if [[ $1 -le $2 ]]; then echo $1; else echo $2; fi
}

function max(){
  if [[ $1 -ge $2 ]]; then echo $1; else echo $2; fi
}

function setscrollregion(){
  CLR="3[2J"
  SRGN="3[1;"$1"r"
  echo -ne $CLR$SRGN
}

function calcline(){

  set 'stty size' $1            # ;echo height=$1 width=$2 perc=$3
  bline=$(( ($1 * $3 ) / 100  ))    # calculate bottom line
  bline=$( min $bline $1)       # max is screen height
  bline=$( max 5 $bline)        # min is 5 lines customise as you wish
  echo $bline
}

setscrollregion $(calcline $1)

Então,

$ bash ./setscroll.sh 50

definirá a região de rolagem para 50% da altura

    
por 22.02.2014 / 16:12