Что управляет домашним каталогом в таких приложениях, как Geeqie и Thunar?

Это похоже на Как я могу скопировать текст из xterm (Awesome, Debian, VirtualBox)? , включая часть предложил ответ.

Однако: в качестве фона, xterm получает X-события (которые вы можете увидеть с помощью xev ) и обрабатывает их по-разному:

  • для control insert , xterm видит события для клавиш управления и вставки и создает последовательность символов для отправки в ваше приложение, например, ^ [[28; 5 ~
  • shift insert обрабатывается по-другому, потому что он является частью ресурса default translations для xterm. Это особенность библиотеки X Toolkit, которая поставляется до того, как xterm сможет видеть события. В ресурсе translations это такая строка:
      Shift  Insert:insert-selection(SELECT, CUT_BUFFER0) \n\

Ключевое слово SELECT в этом ресурсе интерпретируется xterm как ПЕРВИЧНЫЙ или как ПАНЕЛЬ ОБМЕНА, в зависимости от selectToClipboard (или пункт меню Выбрать в буфер обмена ). Кстати, БУФЕР ОБМЕНА - это не вторичный выбор. См. 2.6.1.2. ВТОРИЧНЫЙ ВЫБОР в ICCM для описания вторичного выбора.

Вы можете включить ресурс selectToClipboard , добавив его в свой файл $ HOME / .Xdefaults (или другой файл ресурсов, даже используя xrdb ):

xterm*selectToClipboard: true

Вы также можете добавлять переводы с помощью модификаторов control и shift (в любом порядке) и клавиши insert . Адаптирую свой ответ на другой вопрос:

xterm*VT100.Translations: #override \
                 Shift Insert:    insert-selection(SELECT) \n\
                 Ctrl Insert:     insert-selection(SELECT) \n\
                 Ctrl Shift V:    insert-selection(SELECT) \n\
                 Ctrl Shift C:    copy-selection(SELECT)

Парсер переводов в X Toolkit распознает различные варианты написания ключевых слов. Таким образом, Key совпадает с KeyPress и KeyDown . Но Ctrl - единственный способ, которым он знает управляющую клавишу .

Хотя вы можете добавить элемент управления C и элемент управления V , это обычно не рекомендуется, потому что эти управляющие клавиши полезны ( default) в вашем терминале:

$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = ;
eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

Дополнительная литература:

3
17.05.2015, 22:18
0 ответов

Теги

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