commit -m "better"
2.96K subscribers
871 photos
105 videos
3 files
2.08K links
just random thoughts
Download Telegram
https://lwn.net/Articles/889025/#Comments
https://www.opennet.ru/opennews/art.shtml?num=56902

Вышел новый #gnome GNOME. Много недовольных.

Кто-то недоволен тем, что убрали градиенты на кнопках(я из них) - https://blog.brixit.nl/the-end-of-the-nice-gtk-button/ . Лично мне кажется, что политика "все кликабельное имеет градиент" - это очень классно, и упрощает работу с GUI.

Кто-то - процессами разработки. https://informatique-libre.be/swilmet/articles/gnome-gedit-dev-feedback.pdf

Я, как обычно, недоволен пиздежом.

"В число приложений, рекомендуемых для включения по умолчанию в установки GNOME, добавлено два новых приложения - текстовый редактор Text Editor и эмулятор терминала Console. Данные приложения используют GTK 4"

UPD: то, что console использует gtk4 - ошибка перевода новости с https://release.gnome.org/42/

Полез собрать эти чудеса, потому что в живую не видел приложений на gtk4 + libadwaita.

gnome-text-editor собирается из тега, который не прошел CI тесты. https://gitlab.gnome.org/GNOME/gnome-text-editor/-/tags

gnome-console, судя по скриншоту, собрался вообще с gtk3. Я таки попробовал собрать его с gtk4, но:

* #libvte, которая нужна для console, собирается с gtk4 только в транке, тега и релиза про это еще не было вовсе

* сам код console не рассчитан на gtk4

Ну и, куда же без этого, наткнулся на очередной errogance от разрабов GNOME: https://gitlab.gnome.org/GNOME/vte/-/issues/72

Чуваки, как обычно, форсят свою повестку - "API Linux определяет glibc"(по ссылке офигенный комментарий от автора musl, Ричарда Фелкера, про это), "мы не поддерживаем musl", etc. Технически дело в том, чтобы не использовать 1 нестандартный макрос из #glibc, все musl-based дистрибутивы патчат это место - https://git.alpinelinux.org/aports/tree/community/vte3/fix-W_EXITCODE.patch.

Я, конечно, не смог удержаться, и влез.

Мое мнение о разрабах GNOME падают все ниже и ниже плинтуса. Половина из них - #errogant(я тут не могу написать предлагаемый перевод "высокомерный" для этого слова, потому что IMHO значение немного другое) мудаки, имеющие свою нетехническую повестку(реально это воспринимается именно так - "мы тут знаем что API Linux - это glibc, и не дадим вам про это забывать, минорной проблемой, которую просто откажемся чинить, потому что можем").

https://lobste.rs/s/zlanqi/end_nice_gtk_button#c_usyuo5

gnome-text-editor, кстати, ничо так, чистенько, опрятненько, ничего лишнего.

Поддержку перехода на libadwaita(и "1 theme to rule them all"), кстати, я поддерживаю. Жалко только, что libadwaita пока - так себе закос под macOS, надо лучше.
👍10
У меня такое ощущение, что HN, да и его собрат lobste.rs, как-то за последнее время сильно деградировали(ну или я сильно поумнел, но это врядли). Если раньше там можно было найти каку-то интересную тему хотя бы раз в день, то теперь даже не раз в неделю.

Мне так только кажется?

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

https://lobste.rs/s/wxqcul/project_with_single_11_000_line_code_file

Тут вот собирают список проектов, написанных в 1 файле, большого размера. Рассказать им про bsconfig, чтоли? :D

———
#mesa

В продоложение темы разных personalities для opengl.

Вся эта конструкция, которую я описал в прошлом посте про mesa, на самом деле, выглядит и ведет себя очень странно. In the wild довольно много кода, который линкуется с glesv2, но в runtime ищет libGL.so, и экспортирует из нее к себе символы, и даже вызывает это.

Фактически, это приводит к тому, что программа видит символ с одним и тем же именем, но с разной семантикой.

Что это значит, и как работает, я пока не понял.

———
Парочка анекдотов про сборку.

Пара вводных: lib_deps: [X, Y] - список библиотек, от которых зависит данный таргет, и они ведут себя транзитивно. bld_libs: [X, Y] - список библиотек, которые нужны только для сборки данного таргета, то есть, ведут себя нетранзитивно.

Я довольно сильно паранойю по поводу кода, который занимается построением сборочного графа. Шаг влево - шаг вправо, и он тебе даст где-нибудь комбинаторный взрыв числа сборок одного и того же кода, если вы понимаете, о чем я. Поэтому, когда, вдруг, генератор графа выдает не то, что я ожидаю, я начинаю сильно нервничать.

Поэтому, когда, однажды я сделал вот такую замену: lib_deps: [A, B] + bld_libs: [C] -> lib_deps [A] + bld_libs [B, C], и у меня ничего не пересобралось, я занервничал.

А потом понял, что так и должно было быть, потому что актулаьный набор библиотек для сборки таргета [A, B, C] не изменился.

И второй.

Я сильно паранойю, когда что-то начинает подозрительным образом завистеть от сети.

Например, факт, что cmake зависит от libcurl, меня совсем не радует.

На днях тут обнаружил красивое - #libvte (это библиотека-виджет эмулятора терминала) зависит от gnutls - https://github.com/GNOME/vte/blob/master/meson.build#L588

Причем, если собрать ее без gnutls, то gnome-console/vte начинает на старте предупреждать, что все соединения от ее имени будут идти через несекурный канал.

Я, конечно, выпал в осадок, разбираться пока не стал.
👍5
https://habr.com/ru/companies/ruvds/articles/796345/

Годный текст (перевод, оригинал там же, по ссылке) про #GNOME.

Из него я узнал, что в GNOME появился аж третий терминал "по умолчанию", о как.

От автора патчей, ускорявших vte (да, да, все три терминала построены вокруг одной и той же библиотеки, #libvte, только вот у кого-то она тормозит, а у кого-то нет).

Неожиданно годный продукт, по крайней мере, не возникает позыва закрыть, и никогда больше не запускать.

https://gitlab.gnome.org/sungsphinx/ptyxis

#ptyxis

Правда, автор пока не договорился с libvte про свои патчи, и носит их с собой:

https://gitlab.gnome.org/sungsphinx/ptyxis/-/tree/main/build-aux

Поэтому он не может быть собран с системной libvte, и вынужден предлагать всем попробовать свое поделие через flathub - https://gitlab.gnome.org/sungsphinx/ptyxis#installation.

Я когда-то писал про libvte, и про gnome-console, удивительно, но вот этот косяк с W_EXITCODE (https://t.iss.one/itpgchannel/282) люди тащат из проекта в проект.
👍12😁6🤮3🔥2
commit -m "better"
От автора патчей, ускорявших vte (да, да, все три терминала построены вокруг одной и той же библиотеки, #libvte, только вот у кого-то она тормозит, а у кого-то нет).

Неожиданно годный продукт, по крайней мере, не возникает позыва закрыть, и никогда больше не запускать.
https://www.phoronix.com/news/VTE-Terminals-Progress-Indicate

#ptyxis

Очередное улучшение #libvte, а #alacritty все еще быстрее, и будет быстрее.

И вот вам в копилку смешное применение #libvte - https://github.com/xyproto/orbiton

Чувак сделал текстовый редактор, а потом, когда ему понадобился gui, сказал:

"А давайте я просто запилю shell для своего текстового редактора, в виде отдельно собранного приложения на основе libvte, которое бы умело только запускать мой текстовый редактор"?

https://github.com/xyproto/orbiton/blob/main/gtk3/main.cpp

Такой html browser, только для консольных программ!
🔥9👍5🐳5🤯3
commit -m "better"
Очередное улучшение #libvte, а #alacritty все еще быстрее, и будет быстрее.
Хоба, вжух-вжух, и это поделие становится дефолтным терминалом в ubuntu!

#ptyxis

https://www.phoronix.com/news/Ubuntu-Ptyxis-Recommended

Чтобы я так жил, недоделку над #libvte - и дефолтным терминалом.

Впрочем, в последнее время очень много таких транных решений!

Как вам https://fedoraproject.org/wiki/Changes/FedoraMiracle, а?

Это fedora remix на wayland compositor, который пока есть только на бумаге (https://github.com/miracle-wm-org/miracle-wm)! А fedora на нем уже есть!
🤡8👍4🍓4