lXtermPointerUsage.sh 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #!/bin/bash
  2. sleep 0.1;echo "
  3. ┌────────────────────────────────────────────────────────────────────────────────┐"
  4. echo -e "
  5. \e[1;36m Pointer Usage \e[0m\e[36m Использование указателей\e[0m"
  6. echo "
  7. Когда окно VTxxx создано, xterm позволяет вам выбирать текст и копировать его в
  8. том же или других окнах с помощью указателя или клавиатуры.
  9. «Указатель» может быть мышью, сенсорной панелью или подобным устройством.
  10. X-приложениям обычно все равно, так как они видят только те события кнопок, которые
  11. • положение и
  12. • состояние кнопки вверх/вниз
  13. Xterm может видеть эти события, пока у него есть фокус.
  14. Клавиатура также предоставляет события, но она менее гибкая,
  15. чем указатель для выделения/копирования текста.
  16. События применяются к действиям с использованием ресурса переводов.
  17. См. «Действия» для получения полного списка и «Привязки клавиш по умолчанию»
  18. для встроенного набора ресурсов переводов.
  19. "
  20. echo -e "\e[32m Selection Functions\e[0m Функции выбора
  21. По умолчанию функции выбора вызываются, когда кнопки-указатели используются без
  22. модификаторов и когда они используются с клавишей «shift».
  23. Клавиша «shift» особенная, потому что xterm использует ее, чтобы гарантировать,
  24. что функции выбора по-прежнему доступны, когда он запрограммирован на отправку
  25. управляющих последовательностей в одном из режимов мыши
  26. (см. Xterm Control Sequences, а также ресурс disallowedMouseOps).
  27. При запуске xterm проверяет ресурс переводов, чтобы увидеть, какие
  28. кнопки-указатели можно использовать таким образом, и запоминает эти кнопки при
  29. принятии решения о том, следует ли отправлять escape-последовательности или
  30. выполнять выбор, когда эти кнопки используются с модификатором «shift».
  31. Другие кнопки указателя, например те, которые обычно отправляются
  32. для событий колесика мыши, не затрагиваются.
  33. Назначение описанных ниже функций клавишам и кнопкам может быть изменено через
  34. базу данных ресурсов; см. Действия ниже.
  35. Кнопка-указатель один (обычно левая)
  36. используется для сохранения текста в буфер вырезания:
  37. \e[32m ~Meta <Btn1Down>:select-start()\e[0m
  38. Переместите курсор в начало текста, а затем, удерживая кнопку, переместите курсор
  39. в конец области и отпустите кнопку. Выделенный текст подсвечивается и сохраняется
  40. в глобальном буфере вырезания, а выделение делается при отпускании кнопки:
  41. \e[32m <BtnUp>:select-end(SELECT, CUT_BUFFER0) \\n\e[0m
  42. Обычно (но см. обсуждение on2Clicks и т. д.):
  43. • Двойной щелчок выделяет по словам.
  44. • Тройной щелчок выделяет по строкам.
  45. • Четырехкратный щелчок возвращает к символам и т. д.
  46. Многократный щелчок определяется временем от нажатия кнопки до нажатия кнопки,
  47. поэтому вы можете изменить единицу выбора в середине выделения.
  48. Логические слова и строки, выбранные двойным или тройным щелчком,
  49. могут переноситься более чем на одну строку экрана, если строки были перенесены
  50. самим xterm, а не приложением, работающим в окне.
  51. Если привязки клавиш/кнопок указывают, что должен быть сделан выбор X,
  52. xterm оставит выделенный текст выделенным до тех пор,
  53. пока он является владельцем выбора.
  54. "
  55. echo -e "\e[32m Pointer button two (usually middle)\e[0m Кнопка указателя два (обычно средняя)
  56. «набирает» (вставляет) текст из данного выделения, если есть,
  57. в противном случае из буфера вырезания, вставляя его как ввод с клавиатуры:
  58. \e[32m ~Ctrl ~Meta <Btn2Up>:insert-selection(SELECT, CUT_BUFFER0)\e[0m
  59. "
  60. echo -e "\e[32m Pointer button three (usually right)\e[0m Кнопка-указатель три (обычно правая)
  61. расширяет текущий выбор.
  62. \e[32m ~Ctrl ~Meta <Btn3Down>:start-extend()\e[0m
  63. (Без потери общности, вы можете поменять местами «право» и «лево» везде в
  64. оставшейся части этого абзаца.) Если нажать, находясь ближе к правому краю
  65. выделения, чем к левому, оно расширяет/сжимает правый край выделения.
  66. Если вы сжимаете выделение за левый край выделения, xterm предполагает,
  67. что вы действительно имели в виду левый край, восстанавливает исходное выделение,
  68. а затем расширяет/сжимает левый край выделения. Расширение запускается в режиме
  69. блока выбора, в котором выполнялся последний выбор или расширение;
  70. вы можете щелкнуть несколько раз, чтобы просмотреть их.
  71. Вырезая и вставляя фрагменты текста без добавления новых строк,
  72. вы можете брать текст из нескольких мест в разных окнах и формировать, например,
  73. команду для оболочки или получать вывод из программы и вставлять его в свой
  74. любимый редактор. Поскольку вырезаемые буферы глобально совместно используются
  75. различными приложениями, вы можете рассматривать каждый из них как «файл»,
  76. содержимое которого вам известно. Эмулятор терминала и другие текстовые программы
  77. должны обрабатывать его так, как будто это текстовый файл,
  78. т. е. текст разделен новыми строками.
  79. "
  80. echo -e "\e[32m Scrolling\e[0m Прокрутка
  81. В области прокрутки отображается положение и количество текста, отображаемого в
  82. данный момент в окне (выделено) относительно объема фактически сохраненного текста.
  83. По мере сохранения большего количества текста (до максимума) размер выделенной
  84. области уменьшается.
  85. Нажатие кнопки один с указателем в области прокрутки перемещает соседнюю строку
  86. в верхнюю часть окна дисплея.
  87. Нажатие кнопки 3 перемещает верхнюю строку окна дисплея вниз в положение указателя.
  88. Нажатие второй кнопки перемещает дисплей в положение в сохраненном тексте,
  89. которое соответствует положению указателя на полосе прокрутки.
  90. "
  91. echo -e "\e[32m Tektronix Pointer\e[0m Указатель Tektronix
  92. В отличие от окна VTxxx, окно Tektronix не позволяет копировать текст.
  93. Он поддерживает режим Tektronix GIN, и в этом режиме курсор изменит свой вид со
  94. стрелки на крестик. Нажатие любой клавиши отправит эту клавишу и текущую
  95. координату перекрестного курсора. Нажатие кнопки один, два или три вернет буквы
  96. «l», «m» и «r» соответственно.
  97. Если клавиша «Shift» нажата, когда нажата кнопка-указатель, будет отправлена
  98. соответствующая заглавная буква. Чтобы отличить кнопку-указатель от клавиши,
  99. устанавливается старший бит символа (но этот бит обычно удаляется, если только
  100. режим терминала не RAW; подробности см. в tty(4)).
  101. "
  102. sleep 0.1;echo "
  103. └────────────────────────────────────────────────────────────────────────────────┘
  104. "