LINUX.ORG.RU

Lagrange 1.18 и 1.18.1

 , , ,


1

3

Две недели назад состоялось крупное обновление Lagrange, клиента сети Gemini (статья на Википедии, веб-сайт), представленной как облегчённая альтернатива WWW и созданной с оглядкой на Gopher, но с добавлением таких улучшений, как собственный язык Gemtext для базовой разметки текста и шифрование. 29 сентября вышло обновление 1.18.1, закрывшее несколько багов прошлого релиза.

Lagrange является кроссплатформенным клиентом, использующим возможности библиотек SDL для графического ускорения и OpenSSL для шифрования. Программа поддерживает вкладки и разбивку экрана, историю посещений, закладки, поиск по сети, умные подсказки при наборе в адресной строке, показ встроенных изображений на страницах, проигрывание аудиофайлов и выбор темы оформления, и содержит встроенный новостной агрегатор. Интерфейс Lagrange напоминает типичный для современных веб-браузеров, но имеет широкие возможности для кастомизации. Подробнее с особенностями приложения можно ознакомиться, открыв в Lagrange вкладку about:help, или прочитав файл help.gmi

Исходный код программы написан на C и может быть собран на любой современной POSIX-совместимой платформе. Официальные 64-битные сборки релизов доступны для платформ Windows, macOS и GNU/Linux (AppImage). Бета-релизы доступны для мобильных платформ: iOS, Android (репозиторий F-Droid, APK)

1.18

Нововведения:

  • Поддержка отправки сообщений Misfin. Ссылки misfin:// открываются в диалоге отправки.
  • Поддержка Guppy, легковесного протокола, основанного на UDP. Добавлено Dima Krasner.
  • Titan: Поддержка параметра «редактировать» в открытых ссылках Titan. Содержимое ссылки загружается и открывается в текстовом редакторе диалога отправки. После завершения редактирования содержимое отправляется обратно на сервер.
  • Опция для отключения всех предупреждений о небезопасном подключении TLS.
  • Воспроизведения звука в формате Opus посредством libopusfile (опциональная зависимость). Добавлено Martin Chang.

Изменения и улучшения:

  • Использующий Curses консольный клиент clagrange теперь может быть собран в дополнение к GUI-версии, а не по отдельности с ней. Удален скрипт для сборки TUI.
  • Улучшена фокусировка на элементах интерфейса: клавиши со стрелками перемещают фокус на соседний виджет.
  • Контекстные меню могут управляться клавишами со стрелками, и первые буквы ярлыков пунктов меню используются для быстрого перемещения фокуса нажатием соответствующей клавиши на клавиатуре.
  • Сохраненные в закладках URL автоматически обновляются в случае постоянных перенаправлений. (Оригинальный URL продолжает храниться в bookmarks.ini).
  • Длина строки изменяется динамически (подстраивается под размер окна), включая такие поля как преформатированные блоки и строки простого текста (plain text).
  • Путь к файлу может быть набран вручную в диалоге отправки. Ранее поддерживалось только использование drag-and-drop.
  • Щелчок правой кнопкой мыши по баннеру сайта показывает контекстное меню ссылки (привязанное к корневому URL капсулы).
  • При сохранении в каталог загрузок показывается всплывающее окно для подтверждения.
  • Панель меню: При активации с клавиатуры, повторно открывается последнее открытое подменю, но не обязательно «Файл», как раньше.
  • Клавиша Return теперь фокусирует на поле набора URL.
  • О странице: Разъяснено значение «fingerprint». Отображаются тип хэша (SHA-256) и что было использовано для его вычисления (полный сертификат или только публичный ключ).
  • Обновлены символьные обозначения действия «Перейти в корень», удаленных (remote) закладок и индикатор (кнопка) закладок.
  • Gopher: Корректный парсинг типов строк Telnet 8 и T.
  • Шрифт Noto Emoji обновлен для поддержки Unicode 15.1.
  • TUI: Часто используемые клавишные комбинации показываются на месте панели меню, когда та отключена, чтобы сделать интерфейс более доступным.
  • TUI: Улучшена раскладка интерфейса, учитывая возможность использования при минимальном разрешении в 80x25.
  • TUI: Улучшено отображение различных виджетов в текстовом режиме.

Исправления:

  • URL Titan ошибочно открывали диалог отправки при просмотре истории.
  • Запрос Titan в открытой вкладке отправлялся заново с пустым содержимым при запуске приложения.
  • Идентификация для отправки в Titan иногда выбиралась некорректно.
  • Диалогу отправки не хватало нескольких строк для ошибок при drag-and-drop.
  • Gopher: элементы форматирования Gemtext, оказавшиеся в тексте страниц Gopher, игнорируются, чтобы исключить возможность искажения визуального представления страницы.
  • Gopher: Номер порта может быть пустым на i-строках.
  • Ярлыки запроса, уже содержащие знак ?, имели в префиксе лишний ?.
  • Численные (буквенные) отметки ссылок, показываемые при навигации с использованием Alt/Option или клавишами ряда home, теперь начинаются с самого верха области просмотра.
  • Некорректный порядок обработки событий при наличии нескольких окон, когда один из виджетов находится в фокусе.
  • macOS: Навигация трекпадом на несфокусированном окне могла сработать в другом, сфокусированном окне.
  • Отсутствующая индикация фокуса в пустых списках и списках Snippets.
  • Зажатие Alt/Option (модификатор для показа номеров ссылок) при открытии ссылки запроса могло привести к отсутствию фокуса ввода во всплывающем диалоге.
  • Неправильное расстояние между символами в преформатированном блоке.
  • Подсветка первого абзаца неправильно работала с моноширинным шрифтом тела.
  • Текстовые символы иногда показывались частично обрезанными.
  • TUI: Цветовые escape-символы не учитывались при выводе.
  • TUI: Отсутствовали символы подменю.
  • TUI: Возможное зависание при показе обтекающего текста.

1.18.1

  • macOS: Исправлено открытие URI Misfin извне, средствами системы.
  • Windows: Теперь можно запомнить Lagrange как приложение для открытия URL misfin://.
  • TUI: Исправлено возможное искажение вывода.
  • TUI: Curses будет линковаться статически только при использовании опции CMake ENABLE_STATIC.
  • Обновлены переводы интерфейса.

>>> Подробности



Проверено: hobbit ()
Последнее исправление: dataman (всего исправлений: 4)
Ответ на: комментарий от lbvf50txt

Всего одна строка. Не удобно.

Если глянуть на спецификацию в Gemini, то там строка может содержать символы перевода строки (что даже рекомендуется для указания метаданных), так что нормально. Но 2048 символов (прошу заметить — не байт, а символов) действительно маловато. Ну и клиентские сертификаты… так себе идея для смолнета, с условной амижки долго отправляться будет, если сервер вообще раньше соединение не разорвёт.

Вот NPS, который идёт в паре с Nex — совершенно другое дело. Там и сырого TCP-сокета достаточно для обмена.

P.S. В треде столько ереси, что даже не знаешь, с чего начать её опровергать. Наверное, проще забить. Скажу только одно: Gemini ≠ Gemtext.

rebforce
()
Последнее исправление: rebforce (всего исправлений: 2)
Ответ на: комментарий от Gentooshnik

Бывает.

Ладно, раз уж дискуссия пошла, то вот вам основные тезисы:

  • по Gemini/Spartan/Scroll можно сервачить не только Gemtext (text/gemini), а и любой другой MIME-тип, хоть тот же HTML (если клиент умеет его отображать);
  • у Gemini/Spartan/Scroll есть встроенные средства (однострочного) постинга данных, как и у Gopher (а то мужики-то и не знают, что этого нельзя делать, и спокойно на этом всём пилят гостевухи);
  • для Gemini и Scroll существуют сторонние вещи для многострочного/бинарного постинга (типа того же Titan);
  • Scroll, как по мне, реальных задач не решает и потому лишний на этом фестивале минимализма;
  • Nex + NPS, как по мне, куда больше тянут на реального наследника Гофера;
  • как клиентов, так и серверов, так и узлов у любого из вышеперечисленных протоколов куда больше, чем вы думаете;
  • Lagrange на данный момент оказался уже достаточно жиробасным для того, чтобы запилить собственную ему альтернативу.
rebforce
()
Последнее исправление: rebforce (всего исправлений: 1)
Ответ на: комментарий от rebforce

Lagrange на данный момент оказался уже достаточно жиробасным

_сравнительно_ жиробасным.
Возможно, для каких-нибудь третьих пней он и будет уже слишком жирным, но не уверен - проверить не на чем.

Ну и, НЯЗ, пока никто Джейка не пинал насчет производительности.

devl547 ★★★★★
()
Ответ на: комментарий от devl547

Начнём с того, что он на SDL2 вместо использования нативных тулкитов. Может, и опенжл там фигурирует, не уточнял. Это что, игра какая-то?

Меня вот эти все «легковесные» нюклеары/имгуи/рейгуи просто умиляют, которые в зависимостях опенжл тянут. Вообще не то пальто, имхо.

rebforce
()
Последнее исправление: rebforce (всего исправлений: 1)
Ответ на: комментарий от rebforce

Но 2048 символов (прошу заметить — не байт, а символов) действительно маловато.

Мало. Почти одна страница текста. В принципе, для большиснтва комментариев спокойно хватит. Для email - достаточно в режиме строгой экономии.

Вторая страница RFC 1436 Gopher protocol :

  • Строк: 51
  • Слов: 393
  • Символов: 2693
lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 2)
Ответ на: комментарий от rebforce

А на чем по твоему рисуются gtk, qt? В Gtk4 уже Vulkan. SDL2 на Linux легковеснее чем они. Под Windows другое дело, но это уже проблемы виндузятников. Там он умеет в Software Rendering, возможно даже без использования OpenGL/DirectX.

Nuklear умеет отрисовываться где угодно, к OpenGL он никак не прибит. Его виджеты это килобайты. Части Metaprog рисовались на Windows через GDI, те что были на Nuklear.

У SDL2 есть другая реальная проблема, это глюкало.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 7)
Ответ на: комментарий от rebforce

как клиентов, так и серверов, так и узлов у любого из вышеперечисленных протоколов куда больше, чем вы думаете

Вы как-то ворвались в дискуссию и ломитесь в отрытую дверь, объясняете пользователю который и без вас все понимает. При этом с таким апломбом как будто открыли Амерку.

@Gentooshnik неделю тут объяснял 2*2=4, теперь подошли вы, и объясняете 2*2=4 Гентушнику, а он то не знает.

lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 1)
Ответ на: комментарий от rebforce

Gemini/Spartan/Scroll

Из этих трех протоколов только Gemini гуглиться отностиельно легко, Spartan - на слуху только из-за копания с Геменини.

Так ни Scroll ни Spartan не гуглятся с ходу. Если Gemini экзотика, то Scroll и Spartan экзотика в кубе.

https://gitlab.com/clseibold/scroll-term - вот тут есть ссылки кому интересно, в основном по протоколу Gemini.

Gemini идея красивая, но на практике, в пылу бытовых забот, не особо нужная. Хороша как этюд для программистов, полезна как изучение стека. Но вот для постоянного использования, как-то не очень получается.

lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 1)
Ответ на: комментарий от rebforce

по Gemini/Spartan/Scroll можно сервачить не только Gemtext (text/gemini), а и любой другой MIME-тип, хоть тот же HTML (если клиент умеет его отображать);

Вот это самая сильная мысль, которая лежит на поверхности, но как-то не сразу ухватывается. Отделение HTML от HTTP. Хотя тут уже начинается масса вопросов докачивания изображений и стилей в HTML. Чистый HTML - да. HTML c сторонними ресурсами - нет.

А так, по большому счёту, поговорить с вами интересно, но тред уже пойдет на 3-4 круг. Всё уже обговорили, и по 2-3 раза каждый высказал одну и ту же идею.

lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 1)
Ответ на: комментарий от devl547

Ну и, НЯЗ, пока никто Джейка не пинал насчет производительности.

Те кто знает про Gemini сами хотят написать и серверы и клиенты. И в основном тусуются в CLI.

lbvf50txt
()
Ответ на: комментарий от MOPKOBKA

О, привет девятиклассникам, а расскажи-ка, 1) где щас метапрог, он уже перешёл «за месяц-другой на самообеспечение», 2) зачем здесь Qt или даже GTK4? Можешь посмотреть, на чём тот же Tk рисуется, ну или хотя бы FLTK. Игровые и трёхмерные движки они за собой точно не тянут.

rebforce
()
Ответ на: комментарий от lbvf50txt

Вы как-то ворвались в дискуссию и ломитесь в отрытую дверь, объясняете пользователю который и без вас все понимает.

Так мои тезисы не ему конкретно были адресованы, а не разобравшимся в вопросе анти-джеминистам в этом треде.

Так ни Scroll ни Spartan не гуглятся с ходу. Если Gemini экзотика, то Scroll и Spartan экзотика в кубе.

В парадигме «гугления» их вообще не существует, это слегка другой, параллельный мир.

Хотя тут уже начинается масса вопросов докачивания изображений и стилей в HTML. Чистый HTML - да. HTML c сторонними ресурсами - нет.

Эмм, здесь всё зависит от клиента. Точно так же, как клиент выгребает text/html, он может выгрести и image/png, и text/css и применить куда надо. Другой вопрос — целесообразно ли такое городить, но технически сам протокол это вполне позволяет.

rebforce
()
Ответ на: комментарий от lbvf50txt

Gemini после выхода гуглового ai с таким же именем тоже очень плохо гуглится.

devl547 ★★★★★
()
Ответ на: комментарий от lbvf50txt

А, и да, на BFG ссылка уже была выше. Вполне себе GUI, но не настолько монструозный, как у лагранжа. Пользуюсь на постоянной основе.

И на странице BFG в README имеются ссылки на все эти протоколы.

rebforce
()
Последнее исправление: rebforce (всего исправлений: 3)
Ответ на: комментарий от rebforce

1. После СВО метапрог который человек пропал куда то, внешние обстоятельства

2. Tk рисуется на иксах, а они через glamour, а это OpenGL. Он уже поддерживает дробное маштабирование и высокую герцовку? Этим убожеством трудно пользоваться, tcl/tk тоже кстати, immediate gui это самая вкусная вкусность. Под Wayland он тянет за собой аж весь xwayland.

Посмотрим как FLTK поддерживает Wayland, через какие виджеты он там рисуется

These packages are necessary to build the FLTK library
glew-devel
gtk3-devel

Linux не смог в виджеты. А там где смогли от них отказываются. Лучшие виджеты это gtk3, он точно везде есть.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 5)
Ответ на: комментарий от lbvf50txt

Да он просто в первую попавшуюся кнопку «Ответить на это сообщение» нажал. Это ответ в тред, а не лично мне.

Gentooshnik ★★★★★
()
Ответ на: комментарий от MOPKOBKA

Tk рисуется на иксах, а они через glamour, а это OpenGL

Вот это враньё. Glamor (пишется именно так, без u) — всего лишь дополнение к одному из драйверов для иксов, причём интеловскому. Мне на rpi5 он вообще не тарахтел, например, особенно при живом-то DRI3.

Он уже поддерживает дробное маштабирование и высокую герцовку?

Да.

rebforce
()
Ответ на: комментарий от rebforce

всего лишь дополнение к одному из драйверов для иксов, причём интеловскому

У него есть свой, тот что общий загружается и используется и на других видеокартах. Даже если его выключить, ты же не под twm сидишь, явно все уже обмазано OpenGL. Под Wayland тем более, ты же любишь современное.

Он уже поддерживает дробное маштабирование и высокую герцовку?

Да.

Не заметил, это в Windows 11 Ultimate? Открываю Python IDLE, скроллбар размером с волос.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от MOPKOBKA

ты же не под twm сидишь

У меня в профиле написано Fluxbox.

Открываю Python IDLE, скроллбар размером с волос.

При чём здесь Python IDLE? Ну и к его разрабам вопрос, почему они tk scaling не юзают.

Короче, ладно, прекращаем оффтопить. Речь была о лагранже.

rebforce
()
Ответ на: комментарий от BydymTydym

Ибо никто не ушел туда в 1993 году и в 2003 не ушел.

Только это не из-за того, что тогда не было жирновеба 2.0, а из-за технических средств. У меня в 2003 году интернет был через дозвон по модему, с занятием линии, с повременной оплатой, с медленной загрузкой картинок. Заказывать через такое охота возникает только если совсем уж альтернатив нет (я вот с модема книжки пару раз с Озона заказывал, которых в магазинах под рукой не было).

И технологии были куда более уместные для распределённых приложений, чем жирновеб. Java-апплеты, например. Зачем понадобилось их закапывать, до сих пор не понял.

hobbit ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.