49 lines
463 B
Bash
Executable File
49 lines
463 B
Bash
Executable File
#!/bin/bash
|
|
# pager
|
|
|
|
. ./wrap
|
|
|
|
cleanup() {
|
|
tput reset
|
|
exit
|
|
}
|
|
|
|
refresh() {
|
|
shopt -s checkwinsize
|
|
(
|
|
:
|
|
:
|
|
)
|
|
printf '\e[?1049h\e?7l\e[2J\e[3;%sr\e[999H' "$((LINES - 1))"
|
|
}
|
|
|
|
resize() {
|
|
refresh
|
|
|
|
printf '\e7\e[?25l\e[H'
|
|
_wrap "$file"
|
|
printf '\e[999H\e[?25h'
|
|
}
|
|
|
|
_wrap() {
|
|
wrap "$COLUMNS" <"$1"
|
|
}
|
|
|
|
main() {
|
|
refresh
|
|
|
|
file="$1"
|
|
resize
|
|
|
|
trap resize WINCH
|
|
trap cleanup INT
|
|
|
|
while :; do
|
|
:
|
|
done
|
|
}
|
|
|
|
if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
|
|
main "$@"
|
|
fi
|