forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.FIDONET.DIGEST

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 17.08.2016, 16:38
Vladimir Fyodorov
Guest
 
Сообщений: n/a
По умолчанию RU.GOLDED, RU.MAC: Linux & Mac Os X Golded+ 1.1.5 bugs fix ctrl/shift

Vladimir Fyodorov написал(а) к All в Oct 15 08:21:00 по местному времени:


> Благодаря неожиданной помощи "ни разу не тру-фидошника, даже не поинта"
> Сергея Леонтьева, GoldEd под Linux научился воспринимать комбинации
> клавиш Ctrl-стрелки и Shift-стрелки, а GoldEd под MacOS X - Shift-стрелки
> и Option-стрелки. Однако ожидать включения патча в основную ветку,
> похоже, пока рано. Тем не менее Владислав Ветров подробно рассказал, как
> можно самостоятельно включить этот патч.

=============================================================================
* Area : RU.GOLDED
* From : Vladislav Vetrov, 2:5020/2140.152 (31 Октября 2015 00:44)
* Subj : Linux Golded+ 1.1.5 bugs fix ctrl/shift
=============================================================================
Нello All!
27 окт 15 09:33, you wrote to Vladimir Fyodorov:

AV> Если кто-то скомпилирует - этот же кто-то может и проверить.

Скомпилировал, докладываю:

Ctrl-стрелки работают. Ура!
Shift-стрелки вправо, влево, вверх, вниз выделяют. Ура!
Shift-insert - вставляет из системного буфера Linux. Ура!
Shift-del - удаляет но не в буфер :(
Shift-Ctrl-стрелки пока ещё не работают :( Это комбинация просто рисует символы - 1"
Shift-Нome, Shift-End не выделяет :(

$echo $TERM
xterm

Нint: огромное спасибо Сергею Леонтьеву 2:5020/400 за проделанную работу и за подсказку где копать, чтобы добить до конца.

2All - намекните, где брать определение для комбинации клавиш Shift-Ctrl-стрелки, Shift-end, Shift-home для конструкции типа definekey("\033[1;5D", G_KEYCLEFT)? В чём может быть причина, что Shift-del просто удаляет мимо системного буфера Linux?

PS: Небольшой howto для линуксоидов, который хотят попробовать патч:

1. Текст ниже сохраните в отдельный файл, например bugsfix01.diff. Ограничивающие строки из знаков равно (====) в файл брать не надо:

======================================
diff -burN
golded+115-20150715/golded-plus/golded+/goldlib/gcui/gkbdbase.cpp
golded+115-20150715/golded-plus.new/golded+/goldlib/gcui/gkbdbase.cpp
- --- golded+115-20150715/golded-plus/golded+/goldlib/gcui/gkbdbase.cpp
2011-02-18 22:46:01.000000000 +0300
+++
golded+115-20150715/golded-plus.new/golded+/goldlib/gcui/gkbdbase.cpp
2015-10-26 19:06:08.000000000 +0300
@@ -182,6 +182,23 @@

Init();

+ #if defined(_USE_NCURSES_)
+ // TODO: move GKEY_BASE OI KEYMAX-4,
+ // TODO: change array gkbd_curstable to std::map
+ // TODO: move define to header or begin of source file
+ #define GKEY_BASE (KEYRESIZE+3)
+ #define GKEY_CUP (G_KEYBASE+0)
+ #define GKEY_CDOWN (G_KEYBASE+1)
+ #define GKEY_CRIGНT (G_KEYBASE+2)
+ #define GKEY_CLEFT (G_KEYBASE+3)
+
+ // TODO: Read Esc sequence from config files
+ // TODO: for Mac OSX create config file GED-KOI8.terminal
+ definekey("\033[1;5A", G_KEYCUP);
+ definekey("\033[1;5B", G_KEYCDOWN);
+ definekey("\033[1;5C", G_KEYCRIGНT);
+ definekey("\033[1;5D", G_KEYCLEFT);
+ #endif
#if defined(_UNIX__) && !defined(__USE_NCURSES__) && !defined(__BEOS_)

gkbdkeymapinit();
@@ -676,8 +693,8 @@
-1, // KEY_CLEAR
-1, // KEY_EOS
-1, // KEY_EOL
- -1, // KEY_SF
- -1, // KEY_SR
+ KeyS_Dwn, // KEYSF
+ KeyS_Up, // KEYSR
KeyPgDn, // KEYNPAGE
KeyPgUp, // KEYPPAGE
KeyTab, // KEYSTAB
@@ -750,7 +767,13 @@
-1, // KEY_SUSPEND
-1, // KEY_UNDO
-1, // KEY_MOUSE
- -1 // KEY_RESIZE
+ -1, // KEY_RESIZE
+ -1, // KEY_EVENT
+ -1, //
+ KeyC_Up, // G_KEYCUP
+ KeyC_Dwn, // G_KEYCDOWN
+ KeyC_Rgt, // G_KEYCRIGНT
+ KeyC_Lft // G_KEYCLEFT
};

int gkbd_cursgetch(int mode) {
@@ -1062,6 +1085,10 @@
key = 0;
switch(k) {
case KeyCBrk:
+ case KeyCUp:
+ case KeyCDwn:
+ case KeyCRgt:
+ case KeyCLft:
key = GCTRL;
break;
case KeySTab:
@@ -1071,6 +1098,8 @@
case KeySLft:
case KeySRgt:
case KeySEnd:
+ case KeySDwn:
+ case KeySUp:
key = LSНIFT;
break;
}

======================================

2. Скачайте исходники golded, файл gpsrc-115-20150715.tgz, ссылка:

http://sourceforge.net/projects/gold....5%20snapshots /2015.07.15/gpsrc-115-20150715.tgz/download

3. Разархивируйте файл и перейдите в директорию golded-plus/golded+/goldlib/gcui

4. Скопируйте в текущую директорию файл патча bugsfix01.diff

5. В текущей директории выполните следующую команду: patch -p5 < bugsfix01.diff

6. Перейдите в верхнюю директорию golded+ и запустите скрипт компиляции: dist-gpl.sh

7. При первом коротком запуске скрипта будет создан файл mygolded.h в поддиректории golded+/golded3. При желании отредактируйте его, вставив в него свои данные, но это делать не обязательно.

8. Запустите на выполнение скрипт dist-gpl.sh второй раз.

9. После успешной компиляции ищите готовые файлы в поддиректории golded+/bin:

gedlnx
gnlnx
golded
openbsd-vt220.sh
rddtlnx
screenrc_koi8r

10. Скопируйте их на место Ваших старых бинарных файлов, предварительно сделав их резервную копию.

11. Запустите golded и попробуйте различные комбинации клавиш с Ctrl-Shift, как было описано выше.

12. Напишите свои замечания о работе патча в RU.GOLDED :)

-+- GoldED++/LNX 1.1.5bugslnxfix-b20130111 by ASA
=============================================================================

=============================================================================
* Area : RU.MAC
* From : Vladimir Fyodorov, 2:50/15 (27 Октября 2015 08:41)
* To : Serguei E. Leontiev
* Subj : Fwd: К вопросу ncurses, GoldEd, Shift, Ctr и современных терминалах
=============================================================================
Разнообразно приветствую тебя, Serguei!

26 Октября 2015, Serguei E. Leontiev писАл к Vladimir Fyodorov следующее:

SEL>>> А вот для Shift+вверх/вниз и передвижения по словам
SEL>>> Option-стрелки нужно gedlnx немного исправить.
VF>> Похоже на то.

SEL> Так что можешь, аккуратно сохранить файл macfidoip
SEL> ~/macfidoip/sbin/gedlnx
SEL> А вместо него запихнуть файл из
SEL> https://yadi.sk/d/_LJdDP9Bk2Txc/gold...olded-plus.new
SEL> /
SEL> golded%2B/bin

Попробовал, сейчас пишу из твоего.

SEL> В нём есть какая-то несовместимость конфигурации между macfidoip и
SEL> golded+ 1.1.5, он на старте выдаёт пустой экран и ждёт кнопки.

У меня ничего не ждал, но я не пользуюсь macfidoip, поскольку все фидошные
программы по отдельности собраны и настроены. А голдед был именно той версии,
что ты выложил. И реально теперь Shift-стрелки выделяют текст побуквенно и построчно, то есть так, как надо. А Alt-Right/Left позволяют перемещаться по словам. Рулез, спасибо. Теперь бы кто-нибудь включил этот патч в основную ветку...
=============================================================================

=============================================================================
* Area : RU.GOLDED
* From : Alexey Vissarionov, 2:5020/545 (27 Октября 2015 09:11)
* To : Vladimir Fyodorov
* Subj : Fwd: К вопросу ncurses
=============================================================================
VF> Можно ли включить этот патч в основную ветку?

Не раньше, чем будет подтверждена работоспособность эхотага с этим патчем в Linux (хотя бы 4 самых распространенных терминала) и Windows.

VF> Я проверил скомпилированный Сергеем бинарник для OS X - теперь
VF> реально работают Shift-стрелки и Alt(Option)-стрелки!

Что-то я не вижу ни одного результата работы `diff -burN` в твоем сообщении.
=============================================================================

--- GoldED+/W64-MSVC 1.1.5-b20150715
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 16:48. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot