• про screen и golded

    From Evgeny Chevtaev@2:5010/275 to All on Sun Jul 13 20:46:14 2025
    Hi All!

    После недавнего обновления screen до 5-ой версии, что-то поломалось и golded стал показывать какую-то хрень вместо русских букв. Откат на 4.9 всё починил. Hикто не сталкивался?

    Запускается так:
    screen -c /ftn/golded/.screenrc

    В .screenrc так:
    startup_message off
    defencoding koi8-r
    termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
    hardstatus ignore
    screen LANG=ru_RU.KOI8-R /ftn/golded/gedlnx -C/ftn/golded/golded.cfg"

    With best regards,
    Evgeny
    --- GoldED+/BSD 1.1.5-b20250409
    * Origin: Powered by FreeBSD 14.3-RELEASE-p1 (2:5010/275)
  • From Nil A@2:5015/46 to Evgeny Chevtaev on Sun Jul 13 19:08:26 2025
    * Originally in ru.unix.bsd
    * Crossposted in ru.linux
    * Crossposted in ru.golded
    Hello, Evgeny!

    Sunday July 13 2025 20:46, from Evgeny Chevtaev -> All:

    После недавнего обновления screen до 5-ой версии, что-то поломалось и golded стал показывать какую-то хрень вместо русских букв. Откат на
    4.9 всё починил. Hикто не сталкивался?

    Это не конкретно проблема BSD, ровно такое же и на Linux.
    Screen 5.x - полная поддержка юникода и собирается он с ncursesw (libncursesw). Возможно 4.9 ещё с однобайтовым ncurses собран (libncurses)

    Вроде недавно были какие-то вялые попытки собрать golded с ncursesw, но не делая при этом полноценную юникод поддержку. Я не знаю чем это закончилось.

    Собственно вариантов два
    1. Сделать golded юникодным
    2. Откатиться на старый screen, или tmux.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Evgeny Chevtaev@2:5010/275 to Nil A on Sun Jul 13 22:12:56 2025
    Hi Nil!

    Sunday July 13 2025 19:08, Nil A wrote to Evgeny Chevtaev:

    2. Откатиться на старый screen, или tmux.

    Именно так и сделал. Это первое, что пришло в голову. А как оно у меня работает и почему, я вообще не помню и разбираться сил нет. ;)

    With best regards,
    Evgeny
    --- GoldED+/BSD 1.1.5-b20250409
    * Origin: Powered by FreeBSD 14.3-RELEASE-p1 (2:5010/275)
  • From Nil A@2:5015/46 to Evgeny Chevtaev on Sun Jul 13 20:35:14 2025
    * Originally in ru.unix.bsd
    * Crossposted in ru.golded
    Hello, Evgeny!

    Sunday July 13 2025 22:12, from Evgeny Chevtaev -> Nil A:

    2. Откатиться на старый screen, или tmux.
    Именно так и сделал. Это первое, что пришло в голову.

    Если ты используешь screen только для перекодировки, то проще отдельный терминал настроить для фидо, и в нём выставить Koi8r, а не utf8.

    А как оно у меня работает и почему, я вообще не помню и разбираться
    сил нет. ;)

    В двух словах. GoldED не знаком с юникодом, а только с однобайтовыми кодировками (SBCS - single-byte character set). Для перекодирования у него есть таблицы, но они все один-байт в другой-байт. В utf8 один символ может кодироваться как один байт, так и до 4х. Также один визуальный символ может кодироваться двумя и более utf8 последовательностями, короче это всё сложно. аибольшая проблема вкорячить юникод в голдед - его редактор. Редактору надо бегать по символам, надо знать сколько символов в строке и т.д. Сегодня он думает, что один байт - это один символ.

    Для вывода на экран, точнее терминал, в юниксах голдед использует библиотеку ncurses. Эта библиотека знает, как перемещать курсор, как отображать разные цвета, и пр. на твоём терминале. Ещё в голдеде есть возможность сразу в ANSI терминал выводить, т.е. этими экскейп последовательностями, но это не универсально.
    Со временем даже весь TUI софт постепенно стал юникодным, и всё больше и больше программ стало линковаться с ncurses, который собран с --enable-widec.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Semen Ilinskii@2:5030/1081.155 to Evgeny Chevtaev on Mon Jul 14 15:34:18 2025
    Привет, Evgeny!

    13 июл 25 20:46, Evgeny Chevtaev -> All:

    После недавнего обновления screen до 5-ой версии, что-то поломалось и golded стал показывать какую-то хрень вместо русских букв. Откат на
    4.9 всё починил. Hикто не сталкивался?

    Запускается так:
    screen -c /ftn/golded/.screenrc

    Сейчас Женя Гр. подключится к дискуссии и вежливо, но убедительно, объяснит всем, что таблица замены для ввода у screen ограничена размером в пару десятков записей, и самое простое решение в этом случае не насиловать screen (это очень непростой путь), а в Putty создать отдельную новую запись для входа на тот же сервер и в свойствах этой записи выставить перекодировку из CP866 (если речь про перекодировку). Я лично screen не использую, фряха 14.2, голдед и всё прочее обновляю из пакетов, если что.

    Искренне признателен Вам за уделённое время, Сеня.

    --- Были денежки - любили Сеню девушки.
    * Origin: Station Pouchkine, GoldED+/BSD 1.1.5-b20170303 (2:5030/1081.155)
  • From Eugene Grosbein@2:5006/1 to Semen Ilinskii on Sat Jul 19 14:27:13 2025
    14 июля 2025, понедельник, в 15:34 NOVT, Semen Ilinskii написал(а):

    Сейчас Женя Гр. подключится к дискуссии и вежливо, но убедительно, объяснит
    всем, что таблица замены для ввода у screen ограничена размером в пару десятков
    записей, и самое простое решение в этом случае не насиловать screen (это очень
    непростой путь), а в Putty создать отдельную новую запись для входа на тот же
    сервер и в свойствах этой записи выставить перекодировку из CP866 (если речь про
    перекодировку). Я лично screen не использую, фряха 14.2, голдед и всё прочее
    обновляю из пакетов, если что.

    Теперь я делать этого не буду (c)

    Eugene
    --
    Поэты - страшные люди. У них все святое.
    --- slrn/1.0.3 (FreeBSD)
    * Origin: RDTC JSC (2:5006/1@fidonet)
  • From Nil A@2:5015/46 to eugen@grosbein.net on Sun Jul 20 02:52:22 2025
    * Originally in ru.unix.bsd
    * Crossposted in ru.golded
    Hello, eugen!

    Saturday July 19 2025 14:27, from Eugene Grosbein -> Semen Ilinskii:

    Сейчас Женя Гр. подключится к дискуссии и вежливо, но
    убедительно, объяснит всем, что таблица замены для ввода у screen
    ограничена размером в пару десятков записей, и самое простое
    решение в этом случае не насиловать screen (это очень непростой
    путь), а в Putty создать отдельную новую запись для входа на тот
    же сервер и в свойствах этой записи выставить перекодировку из
    CP866 (если речь про перекодировку). Я лично screen не использую,
    фряха 14.2, голдед и всё прочее обновляю из пакетов, если что.

    Теперь я делать этого не буду (c)

    Если отбросить личные непрязни. Пока голдед всё ещё SBCS (Single-byte Character Sets) - вопрос только какой компонент тебе будет в юникод перекодировать, в котором у тебя, скорее всего, сегодняшняя ОС живёт.
    * Я поступаю просто - у меня терминал спецом настроен на фидо, и он в koi8-r. Голдед делает из cp866 в koi8r. Почему я не могу сразу в cp866 сидеть? Сходу не знаю, возможно исторические причины.
    * Можно через screen/tmux перекодировать, но они termcap/terminfo должны читать, через ncurces, и там всё сложно, с какого-то года всё на wide-characters переехало
    * Можно через luit перекодировать, им проще, потому что он не знает про терминалы, он знает про кодировки stdin/stdout.
    * Можно самим голдедом, но тут есть нюансы.
    - можно просто utf8 как есть пихать в utf8 консоль/терминал, и у тебя прям голдед юникодный (хаха)
    - можно таблицами из однобатной кодировки в utf8 пихать (вроде он умеет один байт мачить на несколько), вуаля, голдед читает в utf8
    - хер ты из utf8 обратно в однобайтовую, но есть нюанс, в голдеде спрятали libiconv поддержку, но там ещё копать и копать.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Andrey Ostanovsky@2:5030/1957 to Nil A on Fri Aug 1 09:37:52 2025
    Hello Nil!

    20 Jul 25 02:52, you wrote to eugen@grosbein.net:

    Можно через luit перекодировать, им проще,
    потому что он не знает про терминалы, он знает про кодировки
    stdin/stdout.

    luit - в некоторых линуксовых дистрибутивах уже не поддерживается.
    Скорее всего - его и из FreeBSD, через некоторое время, выпилят.

    Andrey

    --- GoldED+/BSD 1.1.5-b20170303-b20170303
    * Origin: PGP KeyID 0x2ABEC67A, 0xA7BA47DD andrey @ ostanovsky. (2:5030/1957)
  • From Maxim Sokolsky@2:5020/828.777 to Andrey Ostanovsky on Fri Aug 1 13:00:22 2025
    Здpавствуй, Andrey!

    Можно через luit перекодировать, им проще,
    потому что он не знает про терминалы, он знает про кодировки
    stdin/stdout.

    luit - в некоторых линуксовых дистрибутивах уже не поддерживается.
    Скорее всего - его и из FreeBSD, через некоторое время, выпилят.

    А системную поддердку koi8-r они случайно не собираются убирать?

    С уважением - Maxim
    --- -Да, да!.. Я вижу, вы поняли мой замысел.
    * Origin: Сено - великая вещь. (2:5020/828.777)
  • From Nil A@2:5015/46 to Andrey Ostanovsky on Fri Aug 1 16:06:46 2025
    Hello, Andrey!

    Friday August 01 2025 09:37, from Andrey Ostanovsky -> Nil A:

    Можно через luit перекодировать, им проще,
    потому что он не знает про терминалы, он знает про кодировки
    stdin/stdout.

    luit - в некоторых линуксовых дистрибутивах уже не поддерживается.
    Скорее всего - его и из FreeBSD, через некоторое время, выпилят.

    Из сорцов собрать не сложно же. Голдед собирают, вот и luit заодно.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)