nXtermResourcesVT100WidgetA.sh 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. #!/bin/bash
  2. a="\e[1;32m+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\e[0m"
  3. b="\e[1;32m+--------------------------------------------------------------------------------+\e[0m"
  4. #c
  5. #d
  6. #e
  7. function menu {
  8. clear
  9. tput cup 0 0; echo -e "$a"
  10. tput cup 1 0
  11. for (( c=0; c<=36; c++ ))
  12. do
  13. echo -e "\e[1;32m| |\e[0m"
  14. done
  15. #
  16. tput cup 1 1;echo -e "\e[1;36m VT100 Widget Resources \e[0m\e[36m Ресурсы виджетов VT100\e[0m - A -"
  17. tput cup 2 0;echo -e "$b"
  18. tput cup 3 2;echo -e "Следующие ресурсы указаны как часть виджета vt100 (класс VT100)."
  19. tput cup 4 2;echo -e "Они задаются шаблонами, такими как «XTerm.vt100.NAME»."
  20. tput cup 5 2;echo -e "Если ваш xterm настроен на поддержку «панели инструментов», то этим шаблонам"
  21. tput cup 6 2;echo -e "требуется дополнительный уровень для виджета формы, который содержит панель"
  22. tput cup 7 2;echo -e "инструментов и виджет vt100. Подстановочный знак между виджетом «XTerm»"
  23. tput cup 8 2;echo -e "верхнего уровня и виджетом «vt100» заставляет настройки ресурса работать для"
  24. tput cup 9 2;echo -e "любого из них, например, «XTerm*vt100.NAME»"
  25. tput cup 10 0;echo -e "$b"
  26. tput cup 11 1;echo -e "\e[33m [1]\e[0m Использовать ли активные окна значков при отображении окна \e[32m activeIcon\e[0m"
  27. tput cup 12 1;echo -e "\e[33m [2]\e[0m Установлено «false», xterm не будет полужирный шрифт \e[32m allowBoldFonts\e[0m"
  28. tput cup 13 1;echo -e "\e[33m [3]\e[0m Значение true, переопределяет C1 (коды 128–159) \e[32m allowC1Printable\e[0m"
  29. tput cup 14 1;echo -e "\e[33m [4]\e[0m Устанавливают/запрашивают динамические цвета \e[32m allowColorOps\e[0m"
  30. tput cup 15 1;echo -e "\e[33m [5]\e[0m Последовательности, устанавливают/запрашивают шрифт \e[32m allowFontOps\e[0m"
  31. tput cup 16 1;echo -e "\e[33m [6]\e[0m Определяет xterm отправлять escape-последовательности \e[32m allowMouseOps\e[0m"
  32. tput cup 17 1;echo -e "\e[33m [7]\e[0m Если true, разрешить вставку управляющих символов \e[32m allowPasteControls\e[0m"
  33. tput cup 18 1;echo -e "\e[33m [8]\e[0m Указывает, устанавливают/запрашивают клавишу Scroll Lock \e[32m allowScrollLock\e[0m"
  34. tput cup 19 1;echo -e "\e[33m [9]\e[0m Интерпретировать ли/отбрасывать события клавиш/кнопок \e[32m allowSendEvents\e[0m"
  35. tput cup 20 1;echo -e "\e[33m [a]\e[0m Должны ли быть разрешены управляющие последовательности \e[32m allowTcapOps\e[0m"
  36. tput cup 21 1;echo -e "\e[33m [b]\e[0m Последовательности, изменяющие заголовок окна/имя значка \e[32m allowTitleOps\e[0m"
  37. tput cup 22 1;echo -e "\e[33m [c]\e[0m Разрешить расширенные последовательности управления окном \e[32m allowWindowOps\e[0m"
  38. tput cup 23 1;echo -e "\e[33m [d]\e[0m True, обрабатывать Alt-клавишу, как если это мета-клавиша \e[32m altIsNotMeta\e[0m"
  39. tput cup 24 1;echo -e "\e[33m [e]\e[0m Операция может выполняться после логики для metaSendsEscape\e[32m altSendsEscape\e[0m"
  40. tput cup 25 1;echo -e "\e[33m [f]\e[0m Действия «прокрутка назад» и «прокрутка вперед» \e[32m alternateScroll\e[0m"
  41. tput cup 26 1;echo -e "\e[33m [g]\e[0m Проверять, различаются ли обычный и полужирный шрифты \e[32m alwaysBoldMode\e[0m"
  42. tput cup 27 1;echo -e "\e[33m [h]\e[0m Указывает всегда отображать выделенный текстовый курсор \e[32m alwaysHighlight\e[0m"
  43. tput cup 28 1;echo -e "\e[33m [i]\e[0m указав xterm использовать модификаторы Alt и Meta \e[32m alwaysUseMods\e[0m"
  44. tput cup 29 1;echo -e "\e[33m [j]\e[0m отправляет в ответ на символ ENQ (control/E) от хоста \e[32m answerbackString\e[0m"
  45. tput cup 30 1;echo -e "\e[33m [k]\e[0m клавиши управления курсором находятся в режиме приложения\e[32m appcursorDefault\e[0m"
  46. tput cup 31 1;echo -e "\e[33m [l]\e[0m клавиши клавиатуры находятся в режиме приложения \e[32m appkeypadDefault\e[0m"
  47. tput cup 32 1;echo -e "\e[33m [m]\e[0m «true», это включает особый случай растровых шрифтов \e[32m assumeAllChars\e[0m"
  48. tput cup 33 0;echo -e "$b"
  49. #
  50. tput cup 35 0;echo -e "$b"
  51. tput cup 36 1;echo -e "\e[33m [n]\e[0m Далее \e[32m Next\e[0m"
  52. tput cup 37 1;echo -e "\e[33m [0]\e[0m Exit"
  53. tput cup 38 0;echo -e "$a"
  54. #
  55. tput cup 34 1;echo -e "\e[33m [ ]\e[0m Ожидание ввода команды: "
  56. tput cup 34 30;read -n 1 option
  57. #
  58. }
  59. #menu software
  60. while [ $? -ne 1 ]
  61. do
  62. menu
  63. case $option in
  64. 0)
  65. clear
  66. exit 0
  67. ;;
  68. 1)load;clear;echo -e "
  69. (class ActiveIcon)
  70. Определяет, следует ли использовать активные окна значков при отображении окна
  71. xterm, если эта функция скомпилирована в xterm.
  72. Активный значок представляет собой миниатюрное представление содержимого окна
  73. и будет обновляться по мере изменения содержимого.
  74. Не все оконные менеджеры обязательно поддерживают окна значков приложений.
  75. Некоторые оконные менеджеры позволяют вводить нажатия клавиш в активное окно
  76. значка. По умолчанию стоит «default».
  77. Xterm принимает либо ключевое слово (без учета регистра), либо число,
  78. указанное в скобках:
  79. \e[32m false \e[0m Активный значок не отображается.
  80. \e[32m true \e[0m Отображается активный значок. Если вы используете twm,
  81. используйте этот параметр для включения активных значков.
  82. \e[32m default\e[0m Xterm проверяет при запуске и показывает активный значок
  83. только для оконных менеджеров, которые он может идентифицировать
  84. и которые, как известно, поддерживают эту функцию.
  85. Это fvwm (полная поддержка) и оконный производитель (ограниченная).
  86. Несколько других оконных менеджеров (например, twm и ctwm) поддерживают
  87. активные значки, но не поддерживают расширения,
  88. позволяющие xterm идентифицировать оконный менеджер.
  89. ";;
  90. 2)load;clear;echo -e "
  91. \e[32m allowBoldFonts\e[0m (class AllowBoldFonts)
  92. Если установлено значение «false», xterm не будет использовать полужирный шрифт.
  93. Это переопределяет как ресурсы alwaysBoldMode, так и ресурсы boldMode.
  94. ";;
  95. 3)load;clear;echo -e "
  96. allowC1Printable\e[0m (class AllowC1Printable)
  97. Если задано значение true, переопределяет сопоставление элементов управления C1
  98. (коды 128–159), чтобы они обрабатывались так, как если бы они были печатными
  99. символами. Хотя это не соответствует определенному стандарту, некоторые
  100. пользователи настаивают на том, что это VT100. По умолчанию «false».
  101. ";;
  102. 4)load;clear;echo -e "
  103. \e[32m allowColorOps\e[0m (class AllowColorOps)
  104. Указывает, следует ли разрешать управляющие последовательности, которые
  105. устанавливают/запрашивают динамические цвета.
  106. Этот параметр ресурса не влияет на цвета ANSI.
  107. По умолчанию установлено значение «true».
  108. ";;
  109. 5)load;clear;echo -e "
  110. \e[32m allowFontOps\e[0m (class AllowFontOps)
  111. Указывает, следует ли разрешать управляющие последовательности,
  112. которые устанавливают/запрашивают шрифт.
  113. По умолчанию установлено значение «true».
  114. ";;
  115. 6)load;clear;echo -e "
  116. \e[32m allowMouseOps\e[0m (class AllowMouseOps)
  117. Определяет, будут ли управляющие последовательности, позволяющие xterm отправлять
  118. escape-последовательности на хост при щелчках мыши и перемещении.
  119. По умолчанию установлено значение «true».
  120. ";;
  121. 7)load;clear;echo -e "
  122. \e[32m allowPasteControls\e[0m (class AllowPasteControls)
  123. Если true, разрешить вставку управляющих символов, таких как BEL и CAN.
  124. Символы форматирования (табуляции, новой строки) разрешены всегда.
  125. Другие управляющие символы C0 подавляются, если этот ресурс не включен.
  126. Точный набор управляющих символов (C0 и C1) зависит от того, используется ли
  127. кодировка UTF-8, а также от ресурса allowC1Printable. По умолчанию «false».
  128. ";;
  129. 8)load;clear;echo -e "
  130. \e[32m allowScrollLock\e[0m (class AllowScrollLock)
  131. Указывает, следует ли разрешать управляющие последовательности, которые
  132. устанавливают/запрашивают клавишу Scroll Lock, а также отвечает ли клавиша
  133. Scroll Lock на нажатие клавиши пользователем. Значение по умолчанию — «false».,
  134. Определяет, должны ли быть разрешены управляющие последовательности, которые
  135. устанавливают/запрашивают клавишу Scroll Lock, а также отвечает ли клавиша
  136. Scroll Lock на нажатие клавиши пользователем.
  137. По умолчанию установлено значение «false».
  138. ";;
  139. 9)load;clear;echo -e "
  140. \e[32m allowSendEvents\e[0m (class AllowSendEvents)
  141. Указывает, следует ли интерпретировать или отбрасывать искусственные события
  142. клавиш и кнопок (сгенерированные с использованием запроса SendEvent протокола X).
  143. По умолчанию установлено значение «false», что означает, что они отбрасываются.
  144. Обратите внимание, что разрешение таких событий создало бы очень большую дыру
  145. в безопасности, поэтому включение этого ресурса принудительно отключает
  146. ресурсы allowXXXOps. По умолчанию «false».
  147. ";;
  148. a)load;clear;echo -e "
  149. \e[32m allowTcapOps\e[0m (class AllowTcapOps)
  150. Определяет, должны ли быть разрешены управляющие последовательности,
  151. запрашивающие понятие терминала о его строках функциональных клавиш, такие как
  152. возможности termcap или terminfo. Значение по умолчанию — «true».
  153. Несколько программ, например, vim, используют эту функцию для получения точного
  154. описания возможностей терминала, независимо от настройки termcap/terminfo:
  155. • Xterm может сообщить запрашивающей программе, сколько цветов он поддерживает.
  156. Это константа, в зависимости от того, как она скомпилирована, обычно 16.
  157. Она не меняется, если вы изменяете настройки ресурса, например, ресурса boldColors.
  158. • Xterm может сообщить запрашивающей программе, какие строки отправляются
  159. с помощью модифицированных (shift, control, alt) функциональных клавиш и клавиш
  160. клавиатуры. Контроль отчетности и alt-modifiers
  161. — это функция, основанная на расширенном именовании ncurses.
  162. ";;
  163. b)load;clear;echo -e "
  164. \e[32m allowTitleOps\e[0m (class AllowTitleOps)
  165. Указывает, следует ли разрешать управляющие последовательности,
  166. изменяющие заголовок окна или имя значка.
  167. По умолчанию установлено значение «true».
  168. ";;
  169. c)load;clear;echo -e "
  170. \e[32m allowWindowOps\e[0m (class AllowWindowOps)
  171. Указывает, следует ли разрешить расширенные последовательности управления окном
  172. (используемые в dtterm). К ним относятся несколько управляющих последовательностей,
  173. которые манипулируют размером или положением окна, а также сообщают об этих
  174. значениях и имени заголовка или значка. Каждым из них можно злоупотреблять в
  175. сценарии; как ни странно, большинство эмуляторов терминалов, реализующих их,
  176. ограничивают лишь небольшую часть репертуара.
  177. Для тонкой настройки см. disallowedWindowOps. По умолчанию «false».
  178. ";;
  179. d)load;clear;echo -e "
  180. \e[32m altIsNotMeta\e[0m (class AltIsNotMeta)
  181. Если «true», обрабатывать Alt-клавишу, как если бы это была мета-клавиша.
  182. Ваша клавиатура может быть настроена таким образом, что они одинаковы.
  183. Но если это не так, это позволяет вам использовать те же префиксы и операции
  184. сдвига с клавишей Alt, что и с клавишей Meta.
  185. См. altSendsEscape и metaSendsEscape. По умолчанию «false».
  186. ";;
  187. e)load;clear;echo -e "
  188. \e[32m altSendsEscape\e[0m (class AltSendsEscape)
  189. Это дополнительная операция с клавиатурой, которая может выполняться после
  190. логики для metaSendsEscape.
  191. Он доступен, только если установлен ресурс altIsNotMeta:
  192. • Если установлено значение «true», символы Alt (символ в сочетании
  193. с модификатором, связанным с левой/правой клавишами Alt) преобразуются в
  194. двухсимвольную последовательность, в которой перед самим символом ставится ESC.
  195. Это также относится к последовательностям управления функциональными клавишами,
  196. если только xterm не увидит, что Alt используется в ваших переводах клавиш.
  197. • Если установлено значение «false», символы Alt, вводимые с клавиатуры,
  198. вызывают переход к 8-битным символам (точно так же, как в metaSendsEscape).
  199. Комбинируя Alt- и Meta-модификаторы, вы можете создавать соответствующие
  200. комбинации ESC-префикса и 8-битных символов.
  201. По умолчанию установлено значение «false».
  202. Xterm предоставляет пункт меню для переключения этого ресурса.
  203. ";;
  204. f)load;clear;echo -e "
  205. \e[32m alternateScroll\e[0m (class ScrollCond)
  206. Если установлено значение «true», действия «прокрутка назад» и «прокрутка вперед»
  207. отправляют клавиши курсора вверх и вниз, когда xterm отображает
  208. альтернативный экран. По умолчанию «false».
  209. Состояние alterScroll
  210. также можно установить с помощью управляющей последовательности.
  211. ";;
  212. g)load;clear;echo -e "
  213. \e[32m alwaysBoldMode\e[0m (class AlwaysBoldMode)
  214. Указывает, должен ли xterm проверять, различаются ли обычный и полужирный шрифты,
  215. прежде чем принимать решение о том, следует ли использовать зачеркивание для
  216. имитации полужирных шрифтов.
  217. Если этот ресурс имеет значение true, xterm не выполняет проверку различных
  218. шрифтов при принятии решения о том, как обращаться с ресурсом boldMode.
  219. По умолчанию «false».
  220. boldMode alwaysBoldMode Comparison Action
  221. ────────────────────────────────────────────────────
  222. false false игнорируется использование шрифта
  223. false true игнорируется использование шрифта
  224. true false тот же вычеркнуть
  225. true false различный использование шрифта
  226. true true игнорируется вычеркнуть
  227. Этот ресурс используется только для растровых шрифтов:
  228. • При использовании растровых шрифтов сервер шрифтов может аппроксимировать
  229. полужирный шрифт, изменив его размер из-за размера шрифта, отличного от ожидаемого.
  230. Ресурс alwaysBoldMode позволяет пользователю переопределить (иногда некачественный)
  231. полученный полужирный шрифт с зачеркиванием (что, по крайней мере, соответствует).
  232. • Проблема не возникает со шрифтами TrueType (хотя могут быть другие ненужные
  233. проблемы, такие как разное покрытие обычного и полужирного шрифтов).
  234. В качестве альтернативы установка для ресурса allowBoldFonts значения false
  235. переопределяет как ресурсы alwaysBoldMode, так и ресурсы boldMode.
  236. ";;
  237. h)load;clear;echo -e "
  238. \e[32m alwaysHighlight\e[0m (class AlwaysHighlight)
  239. Указывает, должен ли xterm всегда отображать выделенный текстовый курсор.
  240. По умолчанию (если этот ресурс имеет значение false) пустой текстовый курсор
  241. отображается всякий раз, когда указатель перемещается за пределы окна
  242. или окно теряет фокус ввода. По умолчанию «ложь».
  243. ";;
  244. i)load;clear;echo -e "
  245. \e[32m alwaysUseMods\e[0m (class AlwaysUseMods)
  246. Переопределите ресурс numLock, указав xterm использовать модификаторы Alt и Meta
  247. для создания параметров последовательностей функциональных клавиш, даже если эти
  248. модификаторы появляются в ресурсе переводов.
  249. Обычно xterm проверяет, используется ли Alt или Meta в переводе, который может
  250. конфликтовать с модификаторами функциональных клавиш,
  251. и игнорирует эти модификаторы в этом особом случае. По умолчанию «false».
  252. ";;
  253. j)load;clear;echo -e "
  254. \e[32m answerbackString\e[0m (class AnswerbackString)
  255. Указывает строку, которую xterm отправляет в ответ на символ ENQ (control/E)
  256. от хоста. По умолчанию используется пустая строка, т. е. «».
  257. Аппаратный VT100 реализует эту функцию как параметр настройки.
  258. ";;
  259. k)load;clear;echo -e "
  260. \e[32m appcursorDefault\e[0m (class AppcursorDefault)
  261. Если «true», клавиши управления курсором изначально находятся в режиме приложения.
  262. Это то же самое, что и частный режим DECCKM VT102.
  263. По умолчанию установлено значение «false».
  264. ";;
  265. l)load;clear;echo -e "
  266. \e[32m appkeypadDefault\e[0m (class AppkeypadDefault) Если «true»,
  267. клавиши клавиатуры изначально находятся в режиме приложения. По умолчанию «false»
  268. ";;
  269. m)load;clear;echo -e "
  270. \e[32m assumeAllChars\e[0m (class AssumeAllChars)
  271. Если установлено значение «true», это включает особый случай растровых шрифтов,
  272. позволяющий серверу шрифтов выбирать, как отображать отсутствующие глифы.
  273. По умолчанию установлено значение «истина».
  274. Этот ресурс предназначен для помощи с некоторыми квазиавтоматически
  275. сгенерированными шрифтами (такими как кодировка ISO-10646-1 Terminus),
  276. которые имеют неверные метрики шрифта.
  277. ";;
  278. n)load;clear;./nXtermResourcesVT100WidgetB.sh;;
  279. *)
  280. clear
  281. echo -e "\e[33m Неверный ввод данных, пожалуйста повторите ввод \e[0m";;
  282. esac
  283. echo -en "\e[33m Пожалуйста нажмите любую клавишу для продолжения \e[0m"
  284. read -n 1 line
  285. done
  286. clear