Эта неделя в GNOME. #28 PrintScrn

#Перевод #TWIG

Последняя информация о том, что произошло в проекте 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 альфа-релизов и одну бета-версию. В основном это:

Сторонние проекты

Тобиас Бернард (Tobias Bernard) сообщил:

Я забыл сообщить об этом на прошлой неделе, но вышел новый релиз Nostalgia, моего крошечного приложения для установки исторических обоев GNOME! Оно было портировано на GTK4 и Libadwaita благодаря Максимилиано, Александру Михайленко и Джулиану Спарберу 🎉

Fractal

Matrix-мессенджер для GNOME, написанный на языке Rust.

Джулиан Спарбер (Julian Sparber) анонсировал:

Здравствуйте, друзья, прошло много времени с момента нашего последнего разговора! Мы были сосредоточены на коде, но давно пора сделать обновление. С ноября произошло много событий. Fractal-Next все ближе к паритету по возможностям с текущим Fractal, и даже поддерживает новые вещи:

Если вы хотите получить более подробную информацию о том, чем мы занимались, и заметку о гранте NLnet, пожалуйста, загляните в мой блог “A Long Overdue Update – Fractal Next”

Расширения GNOME Shell

firox263 сказал:

Extension Manager, простое приложение для просмотра и установки расширений 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 с обновлениями ваших собственных проектов!

Полезные ссылки