Терминал с поддержкой изображения

В этом месяце с предварительно ожидаемым годом $(date +%Y%m). Прошлый месяц previous_month_1=$(date -d '1 month ago' +%Y%m) с датой GNU (т.е. на невстроенном Linux или Cygwin), и месяцем ранее previous_month_2=$(date -d '2 months ago' +%Y%m). на других реализациях ими дают

this_month=$(date +%Y%m)
case $this_month in
  *01) previous_month_1=$((this_month-89)); previous_month_2=$((previous_month-1));;
  *02) previous_month_1=$((this_month-1)); previous_month_2=$((previous_month-89));;
  *) previous_month_1=$((this_month-1)); previous_month_2=$((previous_month-1));;
esac

Теперь, для соответствия всем существующим файлам, датированным с предыдущих двух месяцев:

fetch "AA_XX_$previous_month_1"?? "AA_XX_$previous_month_2"??

(Замена fetch командой Вы хотите работать на тех файлах.), Если месяц не может иметь никакого файла соответствия, шаблон будет оставлен без изменений:

filter_month () {
  case $1 in *'??') return;; esac
  fetch "$@"
}
filter_month "$previous_month_1"??
filter_month "$previous_month_2"??

Если Вы захотите выбрать все файлы, соответствующие дням того месяца, то Вам или будет нужно некоторое волшебство даты GNU (не описанный здесь) или некоторая логика високосного года.

filter_month () {
  case $1 in
    *0[13578]|*1[02]) n=31;;
    *0[469]|*11) n=30;;
    *0002) if [ $((${1%????} %4)) -eq 0 ]; then n=29; else n=28; fi;;
    *02) if [ $((${1%??} %4)) -eq 0 ]; then n=29; else n=28; fi;;
  esac
  while [ $n -gt 0 ]; do
    d=$n
    if [ $d -lt 10 ]; then d=0$d; fi
    fetch "AA_XX_$1$d"
  fi
}
filter_month "$previous_month_1"
filter_month "$previous_month_2"
7
24.04.2018, 16:22
3 ответа

До X Windows. Было несколько попыток «Inband» графических протоколов. 4014 Режим в Classic Xterm - это один. Я видел, что это действительно реальная работа около 25 лет назад, чтобы сделать проволочные рамки 3d рисунки. Более мощный графический протокол в начале 1980-х терминалов VT300 + был графикой DEC Regis. Это был полный растровый графический язык с вариантами для «мыши, такой как вход» и ряд рисовых примитивов (линии, заполненные / незаполненные круги и прямоугольники). Все закодировано в расширенной версии классической VT ### escape. Некоторые терминалы REGIS имели локальные «крошечные базовые» переводчики и могут запустить локальные программы, загруженные через последовательности escape. Можно было себе представить, что CPU и память были просто немного больше, весь графический интерфейс был разработан в качестве альтернативного подхода к X окно как системы.

3
27.01.2020, 20:19

Вездесущий xterm может скомпилировать режим Tektroniks 4014. The 4014 был терминалом "трубки хранения": на него можно было посылать аварийные последовательности, и он отрисовывал на экране строки и текст. Похоже, что Arch Linux включает в себя tek 4014 демо. Руководство 4014 все еще на линии.

Это в основном историческое любопытство, я не думаю, что это то, что вы хотите, но это действительно иллюстрирует, что "в полосе сигнализации" можно было бы использовать для создания графических окон, в отличие от того, чтобы делать сигнализацию "вне полосы", как, скажем, делает X11.

2
27.01.2020, 20:19

iTerm и Kitty поддерживают изображения, используя собственные протоколы ad -hock -. Вы можете проверить их документацию для более подробной информации.

1
21.04.2021, 21:03

Теги

Похожие вопросы