Эта неделя в GNOME. #27 Borderless
Последняя информация о том, что произошло в проекте GNOME за неделю с 14 по 21 января.
Основные приложения и библиотеки
GNOME Shell
Базовый пользовательский интерфейс системы для таких вещей, как запуск приложений, переключение окон, поиск в системе и многое другое.
Сэм Хьюитт (Sam Hewitt) анонсировал:
Оболочка рабочего стола получила большое визуальное обновление в GNOME 42! В дополнение к обновлению палитры, элементы оболочки стали более округлыми. Панельные меню также получили значительный редизайн, с новым стилем для подменю. Экранная клавиатура получила значительные улучшения в визуальной обратной связи с клавишами и предложениями слов. Не говоря уже о тонне других мелких исправлений.
Settings
Настройка различных аспектов рабочего стола GNOME.
Джордж Ставракас (Georges Stavracas) (feaneron) сказал:
На этой неделе я перенес панель “Сетевые учётные записи” (Online Accounts) на GTK4, а также переделал панели “Дисплеи” (Display) и “Приложения” (Applications) в Настройках.
WebKitGTK
GTK-порт движка рендера WebKit.
adrian сообщил:
Мы выпустили WebKitGTK 2.34.4, который включает ряд исправлений безопасности. Хотя примечания к выпуску отсутствуют, стоит отметить, что релиз включает в себя важное исправление для уязвимости в Safari IndexedDB, которая недавно была раскрыта.
Software
Позволяет устанавливать и обновлять приложения и системные расширения.
Филипп Витналл (Philip Withnall) анонсировал:
Милан Крха (Milan Crha) улучшил отображение разрешений, необходимых для Flatseal в GNOME Software
GJS
Используйте библиотеки платформы GNOME в своих программах на JavaScript. GJS используется в GNOME Shell, Polari, GNOME Documents и многих других приложениях.
ptomato анонсировал:
На этой неделе в GJS:
- GJS обновила свой внутренний JS движок до SpiderMonkey 91, привнеся множество современных удобств JS. Это обновление было выполнено Эваном Уэлшем (Evan Welsh), Чунь-вэй Фанем (Chun-wei Fan) и мной. Вот выборка из того, что мы теперь имеем:
#privateFields
и#methods()
.- Операторы
??=
,&&=
и||=
- Метод
at()
для массивов и строк, позволяющий индексировать отрицательные числа Promise.any()
- Причины ошибок
- Слабые ссылки
- Больше возможностей форматирования с учетом локали
- Эван также добавил в GJS соответствующие стандартам
setTimeout()
иsetInterval()
, теперь их можно использовать как в веб-браузерах, но при этом они по-прежнему интегрированы в основной цикл GLib. - Эван также добавил переопределения для
GObject.Object.new()
иGObject.Object.new_with_properties()
, чтобы заставить их работать со свойствами. - Ранее при нажатии Ctrl+D в приглашении отладчика выводилось сообщение об ошибке вместо выхода из программы. Я исправил это.
- Я добавил номера столбцов в сообщения об ошибках SyntaxError, чтобы они шли вместе с номером строки.
- Еще одна благодарность Эвану за другие различные изменения.
Приложения и библиотеки из GNOME Circle
gtk-rs
Безопасные биндинги к языку Rust для фундаментальных библиотек из стека GNOME.
Билал Эльмуссауи (Bilal Elmoussaoui) анонсировал:
После нескольких месяцев работы над биндингами gtk-rs мы наконец-то выпустили новый релиз!🎉 Релиз включает в себя поддержку различных новых API, таких как
- Поддержка BuilderScope в gtk4-rs, это означает, что вы наконец-то можете задавать имена функций в UI файле и определять коллбэк в вашем Rust коде
- Биндинги к API gdk3 wayland
- Выпуск почти всех биндингов для Rust на основе gir в World/Rust
- Совершенно новый плагин GStreamer, который позволяет “стримить” ваш пайплайн в GdkPaintable Более подробную информацию вы можете найти в блог посте и в релизном блог посте биндингов/плагинов gstreamer
Сторонние проекты
Ромен (Romain) сообщил:
Я написал UI Shooter, инструмент для создания скриншотов виджетов GTK4 из файла UI.
Он позволяет загружать CSS, ресурсы и переводы, устанавливать масштаб и тёмную цветовую схему, а также использовать таблицу стилей libadwaita. В основном он предназначен для использования в безголовом окружении, поэтому я предоставляю образ-контейнер, запускающий композитор Weston, который можно использовать как есть или расширить по своему усмотрению.
Я использую его в CI-пайплайне Metadata Cleaner для автоматического создания скриншотов различных виджетов для справочных страниц при добавлении или обновлении перевода.
Doomsdayrs анонсировал:
Анонсирую gtk-kt https://gitlab.com/gtk-kt/gtk-kt
gtk-kt — это биндинги GTK API к Kotlin. Позволяет разработчикам, знакомым с Java / Kotlin, легко написать GTK-приложение.
Это также простой и безопасный способ для начинающих программистов начать создавать GTK-приложения. Для создания одного окна требуется всего 10 строк и 154 символа. Сравните это с C, который занимает 26 строк и 602 символа, то есть на 75% меньше символов для создания простого окна, представьте это для больших проектов с более сложными компонентами.
Проект близится к завершению, 97,49% классов GTK обернуты в Kotlin, что позволяет мне выпустить первые альфа-релизы на https://maven.org .
Также разрабатывается/планируется поддержка libadwaita (https://gitlab.com/gtk-kt/libadwaita-kt) и xdg-portal (https://gitlab.com/gtk-kt/libportal-kt).
Аарон Эрхардт (Aaron Erhardt) сообщил:
Relm4 0.4 был выпущен на этой неделе со многими улучшениями! Основные моменты включают в себя множество улучшений макросов, type-safe действия, большую гибкость во время выполнения и обновленные зависимости. Полный анонс релиза можно найти здесь.
Phosh
Оболочка wayland для мобильных устройств.
Гвидо (Guido) сказал:
phosh на прошлой неделе получил быстрый переключатель VPN, который переключает последнее использованное VPN-соединение. На стороне композитора (phoc) мы обновили wlroots, что позволило нам включить протоколы xdg-foreign и viewporter wayland (которые помогают flatpak'ам лучше позиционировать файловые диалоги и некоторую видео нагрузку соответственно).
Это всё на этой неделе!
Увидимся на следующей неделе, и обязательно заходите на #thisweek:gnome.org с обновлениями ваших собственных проектов!