Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.LINUX
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.LINUX с датами от 24 Jan 02 06:01:34 до 23 Aug 24 12:51:58, всего сообщений: 8555
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 2441 из 8555 ========================================= RU.LINUX =
От   : Serguei E. Leontiev              2:5020/400         22 Oct 15 22:06:44
Кому : Nickita A Startcev                                  22 Oct 15 22:06:44
Тема : Re: Golded Ctrl-стрелка
FGHI : area://RU.LINUX?msgid=<1187502850@ddt.demos.su>+a7caf8b5
На   : area://RU.LINUX?msgid=2:5030/777.319+5628eeaa
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.LINUX?msgid=2:5020/2140.152@Fidonet.org+56295403
Ответ: area://RU.LINUX?msgid=<1187502868@ddt.demos.su>+ff6d12bb
==============================================================================
From: "Serguei E. Leontiev" <leo@sai.msu.ru>

Привет Hикита,

От 22 октября 2015 г., 17:10:06 в fido7.ru.linux ты писал:
SEL>> Итого:
SEL>> =====
SEL>> Вот не вижу ни одной принципиальной проблемы в поддержке
SEL>> Ctrl+стрелка и Shift+стрелка в рамках отдельного
SEL>> приложения с существующими стандартными terminfo и ncurses.
NS> а я вижу. :)
NS> очень влом общаться с мейнтейнерами стороннего, лень форкать
NS> всё нужное, ибо стороннее пишут такие же неадекваты как и мы, а
NS> мы всех азартно посылаем в спиртлото.

Я конечно этого Golded не знаю ни черта, однако, мнение имею.

Поясню, все "форки" и варианты Golded всё равно придётся исправлять по
той причине, что интерфейс ncurses не поддерживает Ctrl+стрелка и
Shift+стрелка в чём легко убедится:

$ man getch | grep arrow
$ grep -i arrow /usr/include/curses.h

Таким образом, даже если "по уму" доработать terminfo и ncurses для
поддержки модификаторов и стрелок, все "форки" и варианты Golded всё
равно придётся исправлять.

С другой стороны, полагаю, что если основной код Golded поддерживал или
поддерживает Ctrl+стрелка и Shift+стрелка, то исправить вызовы
инициализацию и вызовы стандартного ncrusess должно быть сравнительно
легко, думаю строчек 40-50 (несколько define_key() при инициализации и
модификация декодирования результата getch()).

- ---

А вот доработка terminfo и ncurses для поддержки модификаторов и стрелок
"по уму" дело гиблое по следующим соображениям:

1. Кодированию модификаторов функциональных клавиш и стрелок в виде:
    <CSI><x>;<code><arrow>
, где code=2 -> Shift, code=3 -> Alt, code=4 -> Shift+Alt, code=5 ->
Control уже много лет, по-моему это ещё с прошлого века идёт. Однако,
как видим, за десятки лет в curses, ncurses и POSIX curses поддержка
этого не попало;

2. В terminfo так же с незапамятных времён Shift+стрелка вверх и вниз
("<CSI>1;2A" и "<CSI>1;2B") были посажены на KEY_SR (kri, Scroll 1 line
backward (reverse)) и KEY_SF (kind, Scroll 1 line forward). Что
характеризует подход - не надо нам новых "capname" и в старых запутались.

3. Я вообще не очень понимаю зачем terminfo в 21-ом веке? VT52
поддерживать? Так на той атомной подлодке, где он ещё остался
программное обеспечение никогда ж не обновят.

В общем и целом, лично я не вижу компактного, красивого и
жизнеспособного способа доработки terminfo и ncurses для поддержки
модификаторов.

--
Успехов, Сергей Леонтьев. E-mail: lse@CryptoPro.ru

 
--- ifmail v.2.15dev5.4
* Origin: ГАИШ МГУ (2:5020/400)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.063635 секунды