Эта неделя в GNOME. #28 PrintScrn
Последняя информация о том, что произошло в проекте GNOME за неделю с 21 по 28 января.
Основные приложения и библиотеки
GNOME Shell
Базовый пользовательский интерфейс системы для таких вещей, как запуск приложений, переключение окон, поиск в системе и многое другое.
Иван Молодецких (Ivan Molodetskikh) анонсировал:
После тщательной проверки Тобиасом Бернардом, Йонасом Дресслером и Джоржем Ставракасом, основная часть нового интерфейса скриншотов GNOME Shell была добавлена в GNOME 42! 🎉🎉 С последнего раза интерфейс скриншотов получил ещё один раунд проработки дизайна, больше полировки и огромную кнопку закрытия в правом верхнем углу.
Скринкасты и несколько других мелких дополнений были разделены на отдельные, более мелкие merge request для более удобного рассмотрения и, надеюсь, также успеют до стадии “заморозки” интерфейса GNOME 42 на следующей неделе.
WebKitGTK
GTK-порт движка рендера WebKit.
Александр Михайленко (Alexander Mikhaylenko) анонсировал:
WebKitGTK получил несколько исправлений, связанных с сенсорными экранами, и теперь поддерживает использование акцентных цветов приложения или системы при отображении полос прокрутки и других виджетов.
Vala
Объектно-ориентированный язык программирования с самодостаточным компилятором, который генерирует код на языке C и использует систему GObject
Prince781 сказал:
Вышла версия Vala 0.55.2 с новыми возможностями и исправлениями ошибок.
На прошлой неделе мы добавили поддержку async main()
, позволяющую вызывать асинхронные методы из main
с помощью yield
.
// ls.vala
async int main (string[] args) {
string dir = args.length == 2 ? args[1] : ".";
var file = File.new_for_commandline_arg (dir);
try {
FileEnumerator enumerator =
yield file.enumerate_children_async (
"standard::*,time::*",
FileQueryInfoFlags.NOFOLLOW_SYMLINKS
);
List<FileInfo> children =
yield enumerator.next_files_async (int.MAX);
print ("total %lu\n", children.length ());
foreach (var info in children) {
// <file-type> <access-date> <size> <name>
print ("%26s %24s %10"+int64.FORMAT+" B %s\n",
info.get_content_type (),
info.get_access_date_time ().to_string (),
info.get_size (),
info.get_name ());
}
} catch (Error e) {
printerr ("failed to enumerate files - %s\n", e.message);
return 1;
}
return 0;
}
Аналогичным образом мы добавили поддержку использования yield
в блоке main.
На этой неделе мы добавили поддержку использования foreach
в GLib.Array
и GLib.Sequence
.
Все эти возможности доступны в Vala 0.55.2, и вы можете использовать их в своем коде уже сейчас.
Libhandy
Строительные блоки для современных приложений GNOME с использованием GTK3.
Александр Михайленко (Alexander Mikhaylenko) сказал:
Ветка разработки libhandy была переименована из master в main. Если вы используете её в качестве подпроекта или в манифесте flatpak, вам может потребоваться обновить её
Libadwaita
Строительные блоки для современных приложений GNOME с использованием GTK4.
Александр Михайленко (Alexander Mikhaylenko) сказал:
Крис 🌱️ реализовал поддержку суффиксного виджета для AdwPreferencesGroup. Такие приложения, как Settings, уже давно используют подобный паттерн, но у нас никогда не было должной поддержки для этого
GNOME Tour
Экскурсия и приветствие для GNOME.
Билал Эльмуссауи (Bilal Elmoussaoui) сообщил:
Я выпустил немного измененный дизайн Тура, а также избавился от функции видео, поскольку она больше не используется дистрибьюторами.
GNOME Builder
IDE для написания программного обеспечения для GNOME.
gwagner сообщил:
GNOME Builder теперь корректно резолвит файлы в контейнерах toolbox или podman и поэтому может предложить: автодополнение clang, разрешение символов и информацию по наведению курсора, из контейнеров. Это должно сделать работу с C/C++ в контейнерах гораздо более приятной. Кроме того, Кристиан подправил цветовые схемы в Builder, поэтому цветовая схема Adwaita получила сильно улучшенный контраст и красивую цветовую палитру, чтобы лучше различать элементы. Вели взял на себя труд и написал плагин для того, чтобы Builder мог выравнивать reStructuredText. Также мы исправили небольшую ошибку в нашем плагине CMake, касающуюся разрешения целевого пути.
GLib
Низкоуровневая базовая библиотека, которая является основой для таких проектов, как GTK и GNOME.
Филипп Витналл (Philip Withnall) сообщил:
Эммануэль Флери также продолжает свою кампанию против старых тестов и неполного тестового покрытия в GLib, перенося ряд старых тестов в новый фреймворк тестов и улучшая покрытие кода по мере продвижения.
Эммануэль Басси (Emmanuele Bassi) сообщил:
Я расширил инструмент GLib gdbus-codegen, чтобы взять XML-файл интерфейса D-Bus и создать файл reStructuredText, который можно использовать с несколькими генераторами документации, такими как Python docutils и Sphinx, и упростить процесс документирования D-Bus API.
Филипп Витналл (Philip Withnall) сказал:
Марк-Андре Люро и Лоик Ле Пейдж внесли различные исправления и улучшения в GLib под Windows, включая поддержку статической линковки, поддержку сокетов AF_UNIX
, различные исправления в тестах и поддержку GMemoryMonitor
.
GJS
Используйте библиотеки платформы GNOME в своих программах на JavaScript. GJS используется в GNOME Shell, Polari, GNOME Documents и многих других приложениях.
ptomato сказал:
На этой неделе в GJS мы получили исправление ошибки от Насаха Кумы и исправление документации от Энди Холмса.
Приложения и библиотеки из GNOME Circle
Health
Собирайте, храните и визуализируйте метрики о себе.
Cogitri сообщил:
Уведомления Health были переработаны — вместо запуска отдельного демона теперь сам Health активируется через DBus и отправляет уведомления через сервис GApplication. Кроме того, файлы пользовательского интерфейса Health были переведены на Blueprint, а обзор действий был переключен на AdwExpanderRow
.
ashpd
Rust-обертка вокруг порталов freedesktop.
Билал Эльмуссауи (Bilal Elmoussaoui) сказал:
После нескольких месяцев работы я наконец-то выпустил ashpd 0.2. Релиз состоит из тонны изменений, которые произошли за последние 6 альфа-релизов и одну бета-версию. В основном это:
- Исключительно асинхронный API с использованием zbus
- Новая почти полнофункциональная демонстрация API, доступная на https://flathub.org/apps/details/com.belmoussaoui.ashpd.demo
- Интеграция с GTK4/GTK3 для получения хэндлов окон x11/Wayland (опционально)
- Интеграция с PipeWire для получения NodeID камеры, когда это возможно (опционально)
- Интеграция с raw-window-handle crate для создания из него WindowIdentifier, очень полезно для кроссплатформенных crates, которые хотят использовать порталы в Linux (опционально).
- Логирование вызовов библиотеки с использованием API трассировки (опционально)
- Docs aliases для поиска Rust альтернатив тому, что предлагает libportal, или для поиска прокси для использования из интерфейса DBus.
- Наслаждайтесь!
Сторонние проекты
Тобиас Бернард (Tobias Bernard) сообщил:
Я забыл сообщить об этом на прошлой неделе, но вышел новый релиз Nostalgia, моего крошечного приложения для установки исторических обоев GNOME! Оно было портировано на GTK4 и Libadwaita благодаря Максимилиано, Александру Михайленко и Джулиану Спарберу 🎉
Fractal
Matrix-мессенджер для GNOME, написанный на языке Rust.
Джулиан Спарбер (Julian Sparber) анонсировал:
Здравствуйте, друзья, прошло много времени с момента нашего последнего разговора! Мы были сосредоточены на коде, но давно пора сделать обновление. С ноября произошло много событий. Fractal-Next все ближе к паритету по возможностям с текущим Fractal, и даже поддерживает новые вещи:
- Временная шкала
- Fractal-Next теперь позволяет открывать и сохранять отправленные файлы
- Он также отображает изображения, видео и стикеры на временной шкале
- Вы также можете лучше рассмотреть медиафайлы, отправленные в комнату, благодаря встроенному средству просмотра медиафайлов
- Он (наконец-то!) поддерживает реакции (отображение их и отправка новых)
- Верификация пользователя
- Fractal-Next теперь поддерживает верификацию других пользователей путем сканирования их QR-кода или с помощью эмодзи.
- Когда пользователь верифицирован, в списке участников комнаты рядом с его именем пользователя отображается значок
- Детали комнаты
- В деталях комнаты теперь отображаются члены комнаты, включая уровень полномочий.
- Общий UX
- Fractal-Next лучше интегрирован с сервисом управления секретами Seahorse от GNOME.
- Он поддерживает обновление комнат
- Он также поддерживает приглашение пользователей в комнату
- Пользователи могут изменять категории комнат на боковой панели с помощью перетаскивания или контекстного меню
Если вы хотите получить более подробную информацию о том, чем мы занимались, и заметку о гранте NLnet, пожалуйста, загляните в мой блог “A Long Overdue Update – Fractal Next”
Расширения GNOME Shell
firox263 сказал:
Extension Manager, простое приложение для просмотра и установки расширений Shell, получило свой второй релиз. В нём добавлена долгожданная поддержка скриншотов, а также новая тёмная тема и множество других улучшений качества жизни.
Основные моменты:
- Отображение скриншотов с сайта extensions.gnome.org
- Поддержка тёмной темы
- Проверка совместимости с версиями GNOME Shell
- Сортировка результатов поиска по популярности, недавно обновлённым и т.д.
- Переключатель включения/выключения глобальных расширений
- Показывает пользовательские и системные расширения отдельно
GNOME Foundation
Нил Макговерн (Neil McGovern) сказал:
FOSDEM возвращается, виртуально. На виртуальном стенде в этом году мы запланировали тематические чаты с различными членами команды GNOME, сотрудниками и членами правления. Обязательно загляните на страницу нашего стенда, чтобы узнать полное расписание, интересные ссылки по GNOME и присоединиться к нам в чате: https://stands.fosdem.org/stands/the_gnome_foundation/gnome/. В соответствии с традициями FOSDEM, мы также организуем социальную вечеринку GNOME Beers! Возьмите напиток на свой вкус и присоединяйтесь к нам на этом неформальном виртуальном мероприятии 5 февраля в 18:00 UTC. Сообщите нам о своем приходе, зарегистрировавшись на сайте.
Нил Макговерн (Neil McGovern) сказал:
Фонд объявил о трех новых проектах, которые направлены на улучшение опыта разработчиков, создание большего количества приложений, доступных на платформе GNOME, и создание более справедливых и устойчивых моделей доходов для разработчиков в рамках нашей экосистемы.
Это всё на этой неделе!
Увидимся на следующей неделе, и обязательно заходите на #thisweek:gnome.org с обновлениями ваших собственных проектов!