$ grep -r Tag: «libadwaita»

-rw-r--r-- 3.4K 10 апр. 2026 · 1F1DDF3 · ~2 мин

Swifty Notes - менеджер markdown заметок для Linux на Swift

swift libadwaita open source linux

Swift Notes для Linux

После выпуска swift-adwaita я сосредоточился на создании своего первого приложения с его использованием. Что-то простое, но полезное для меня самого. И вот, первое приложение готово к использованию.

Swifty Notes — это нативное приложение для заметок в формате Markdown под Linux, использующее GTK/libadwaita и написанное на языке Swift.

Основной интерфейс — десктопное приложение: пишите, организуйте и просматривайте Markdown-заметки с помощью нативных виджетов GTK, функции автосохранения, сохранения состояния рабочего пространства и настраиваемых параметров редактора (размер шрифта, перенос строк, отступы и внешний вид).

В комплекте идет CLI (интерфейс командной строки), который работает с теми же файлами, поэтому shell-скрипты, инструменты автоматизации и AI-агенты могут безопасно просматривать или обновлять заметки без необходимости использования отдельной базы данных или фоновых служб.

  • Создание, переименование, дублирование, экспорт и удаление Markdown-заметок.
  • Автосохранение изменений, сохранение состояния рабочего пространства и хранение локальных изображений прямо вместе с каждой заметкой.
  • Настройка размера шрифта и других параметров редактора под разные экраны и рабочие процессы.
  • Выбор места хранения заметок, включая папки с облачной синхронизацией, что позволяет поддерживать актуальность одних и тех же файлов на разных устройствах.
  • Импорт изображений простым перетаскиванием (drag and drop) и рендеринг Markdown через нативный виджет GTK вместо использования веб-представления (web view).
  • Использование CLI для удобной автоматизации заметок в формате JSON с помощью скриптов, конвейеров оболочки (shell pipelines) и AI-агентов.

Скачать на Flathub

Swifty Notes для Linux — это проект с открытым исходным кодом, исходный код доступен на GitHub.

Star Fork

[↵] открыть пост swifty-notes-a-markdown-notes-manager-for-linux-in-swift.md
-rw-r--r-- 5.8K 10 апр. 2026 · D872E75 · ~3 мин

Swift Adwaita 1.1.0

swift libadwaita open source swift package linux

Swift Adwaita

Вышел релиз Swift Adwaita 1.1.0. Поскольку я работаю над первым приложением, созданным с использованием этой библиотеки, я расширил её возможности и исправил некоторые баги.

Основные изменения

  • Добавлена интеграция с GtkSourceView с использованием типизированных оберток на Swift для редактирования кода, подсветки синтаксиса, поддержки языков и схем стилей.
  • Расширен API виджетов в части работы с поповерами (popovers), окнами, совместимостью с календарем и обработкой жизненного цикла во время выполнения (runtime lifecycle).
  • Повышена стабильность релиза благодаря улучшенной интеграции с основным циклом GLib (main-loop), расширению покрытия CI и добавлению новых регрессионных тестов.

Добавлено

  • SourceView, SourceBuffer, SourceLanguage, SourceLanguageManager, SourceStyleScheme и SourceStyleSchemeManager.
  • Типизированные идентификаторы для языков и схем стилей GtkSource.
  • Новый демонстрационный пример редактора кода.
  • MainContext.task { ... }, task(after:) и task(every:) как отменяемые дескрипторы (handles) задач в основном цикле GLib.
  • Асинхронные помощники Async MainContext.run, yield и sleep(for:) для безопасного соединения конкурентности Swift (Swift concurrency) с циклом GLib.
  • Widget.unparent() и PopoverMenu.unparent().
  • Удобные помощники для работы с Popover и PopoverMenu.
  • Дополнительные регрессионные тесты для поиска родителя в цепочке виджетов/окон, а также расширенное покрытие для функций редактирования кода и поведения медиафайлов.

Изменено

  • GtkWindow.present() теперь удерживает окна открытыми до их закрытия, что делает использование временных или локально ограниченных окон более безопасным.
  • Widget.window теперь находит содержащее окно через цепочку родителей виджета, вместо того чтобы предполагать, что GTK root всегда является окном.
  • Обработка дат в календаре теперь использует прослойку (shim) для совместимости с GTK, что позволяет чисто собирать пакет как на старых, так и на новых версиях GTK.
  • Обновлены конфигурация генерации документации и хостинга документации.
  • В CI теперь выполняется установка и тестирование с системными зависимостями GtkSourceView 5.

Исправлено

  • Исправлена отложенная очистка сигналов/пользовательских данных (user-data): теперь она освобождает захваченные замыкания через основной цикл GLib, а не через задачи Swift main-queue, что позволяет избежать проблем с жизненным циклом в GTK-приложениях.
  • Исправлена распространенная ошибка планирования (scheduling pitfall) в GTK путем предложения API в стиле Task, который работает в основном цикле GLib вместо DispatchQueue.main.
  • Исправлены проблемы с видимостью сериализованного набора функций в Swift 6.1 в тестовом наборе.
  • Исправлены регрессионные тесты для popover/window, чтобы избежать путей падения (crash paths) GTK в CI при сохранении проверки ожидаемого поведения.
  • Обновлена документация по релизу и инструкции по установке: теперь они включают пакеты разработки GtkSourceView 5.

Документация и CI

  • В README добавлена ссылка на API-документацию.
  • Обновлены инструкции по установке для Ubuntu/Debian и Fedora.
  • Улучшена согласованность встроенной документации во всем API обертки.
  • Расширено покрытие CI для документации, форматирования и тестовых прогонов на Swift 6.1 / 6.2 / 6.3.

Это проект с открытым исходным кодом под лицензией MIT. Исходный код доступен на GitHub. Документация с руководствами доступна здесь.

Star Fork

[↵] открыть пост swift-adwaita-1-1-0.md
-rw-r--r-- 2.4K 31 марта 2026 · 6420B81 · ~1 мин

Библиотека Swift Adwaita

swift libadwaita open source swift package linux

Swift Adwaita

Это проект, который я всегда хотел создать: библиотека, позволяющая разрабатывать приложения для GNOME, используя Swift. Хотя существуют и другие подобные библиотеки, они кажутся либо неполными, либо заброшенными. Благодаря подходу Vibe Coding мне удалось завершить проект примерно за неделю.

swift-adwaita — это императивная обертка на Swift 6 для GTK4 и libadwaita, созданная для разработки нативных десктопных приложений GNOME под Linux.

Библиотека предоставляет современный Swift API поверх GTK и Adwaita с типобезопасными виджетами, сигналами, привязками свойств (property bindings), поддержкой асинхронных операций и удобными вспомогательными инструментами, сохраняя при этом нативный стиль, поведение и эстетику платформы GNOME.

  • Разработка нативных приложений для GTK4 и libadwaita на языке Swift.
  • Императивный API без использования кастомного DSL.
  • Типобезопасные перечисления (enums), сигналы и API свойств.
  • Поддержка Async/await для интеграции с основными возможностями платформы.
  • Широкая поддержка виджетов, подкрепленная полноценным демонстрационным приложением.

Вот демо-приложение, созданное с использованием swift-adwaita:

Это проект с открытым исходным кодом под лицензией MIT. Исходный код доступен на GitHub. Документация с руководствами доступна здесь.

Star Fork

[↵] открыть пост swift-adwaita-library.md
makoni@arm1:~/blog$ cd .. // ↵ ко всем постам