Quantcast
Channel: All Open Tickets - Tera Term on OSDN
Viewing all articles
Browse latest Browse all 2128

Readback Height & Width - Tera Term Ticket #37429 on OSDN

$
0
0

Readback Height & Width

Eröffnet am: 2017-08-08 14:01

Letztes Update: 2017-08-09 16:53

Auswertung:jacottonVerantwortlicher:(Keine)
Priorität:5 - MittelMeilenstein:(Keine)
Typ:FunktionsanfragenSchweregrad:5 - Mittel
Komponente:(Keine)Status:Offen
LösungKeine

Einzelheiten

I need to read the terminal height and width (as displayed in the setup menu) from the computer on the serial line.

Letzte Aktualisierung für dieses Ticket

2017-08-09 16:53 Aktualisiert von: doda

Kommentar

Another way, using the dtterm's window manipulation sequence.

Here is the sample bash script.

  1. #!/bin/bash
  2. die() {
  3. echo "$@"
  4. exit1
  5. }
  6. printf"\e[18t"
  7. read -r -t 1 -n 3 resp
  8. [$? -ne 0]&& die "No response"
  9. CSI=$(printf"\x9b")
  10. ESC=$(printf"\e")
  11. case$respin
  12. ${CSI}8\;):;;
  13. ${ESC}\[8)
  14. read -r -t 1 -n 1 resp
  15. [$? -ne 0 -o "$resp"!=";"]&& die "Invalid Response";;
  16. *) die "Invalid Response";;
  17. esac
  18. state=0
  19. cols=0
  20. rows=0
  21. while[$state -lt 3];do
  22. read -r -t 1 -n 1 resp
  23. [$? -ne 0]&& die "Invalid Response"
  24. case$respin
  25. [0-9])
  26. if[$state -eq 0];then
  27. rows=$((rows *10+ resp))
  28. elif[$state -eq 1];then
  29. cols=$((cols *10+ resp))
  30. fi;;
  31. \;)[$state -lt 2]&&state=$((++state));;
  32. t)state=3;;
  33. *) die "Invalid response";;
  34. esac
  35. done
  36. echo "COLUMNS=$cols"
  37. echo "ROWS=$rows"

Viewing all articles
Browse latest Browse all 2128