-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-- 6.5K 6 апр. 2026 · B473A60 · ~2 мин

HTMLEditor для SwiftUI 1.1.0

swiftui html macos open source

HTMLEditor для SwiftUI 1.1.0

Этот релиз посвящен обеспечению совместимости с Swift 6.3, существенному переписыванию обработки подсветки синтаксиса и значительному улучшению отзывчивости при редактировании очень больших HTML-документов.

Добавлено

  • Добавлен исполняемый таргет HTMLEditorBenchmarks для проведения повторяемых замеров производительности.
  • Добавлена поддержка бенчмарков для: полного планирования подсветки, повторного использования перекрытий (overlap reuse), инвалидации правок, переназначения видимой подсветки и путей локальной перерисовки больших документов.
  • Добавлены специализированные регрессионные тесты для:
    • повторного использования кэша планировщика и инвалидации в рамках документа;
    • крайних случаев с некорректными NSRange и кодировкой UTF-16;
    • подсветки значений атрибутов в кавычках и без них;
    • переназначения состояния видимой подсветки;
    • покрытия подсветки на уровне блоков;
    • политик редактирования и прокрутки больших документов.

Изменено

  • Runtime редактора была отрефакторена на более мелкие специализированные компоненты, включая отдельные файлы для жизненного цикла координатора, вьюпорта, редактирования, политик, покрытия, структурных диапазонов и состояния видимой подсветки.
  • Синтаксический анализатор был разбит на компоненты на базе планировщика и исполнителя для более четкого разделения этапов сканирования, планирования и применения подсветки.
  • Редактор переведен на адаптивную модель выполнения, которая меняет свое поведение в зависимости от размера документа, вместо того чтобы обрабатывать все HTML-документы одинаково.

Улучшено

  • Значительно улучшена производительность при редактировании больших документов благодаря:
    • приоритетной подсветке видимой области;
    • кэшированию планировщика в пределах документа и целевой инвалидации;
    • кэшированию планов видимых диапазонов;
    • отслеживанию покрытия подсветки на уровне блоков;
    • выравниванию структурных «грязных» диапазонов вокруг правок;
    • двухфазному редактированию больших файлов с немедленным микро-проходом и отложенной расширенной перерисовкой;
    • объединению частых правок для снижения частоты перерисовок;
    • семантической подсветке во время простоя прокрутки;
    • отложенной синхронизации привязок для больших документов;
    • автоматическому включению режима allowsNonContiguousLayout в режиме работы с большими файлами.
  • Повышена стабильность подсветки при наборе текста в середине очень большого HTML-документа за счет сохранения состояния видимого оверлея и уменьшения частоты перерисовок вокруг курсора.
  • Улучшена настройка производительности для больших файлов с помощью выделенных бенчмарков и runtime-зондов.

Исправлено

  • Исправлены проблемы компиляции и конкурентности, необходимые для совместимости с Swift 6.3.
  • Исправлено несколько проблем в путях обновления редактора, связанных с состоянием координатора, задачами подсветки и поведением main-actor.
  • Исправлены регрессии подсветки и крайние случаи, связанные с:
    • частичными тегами;
    • пустым вводом;
    • большими объемами данных;
    • раскраской значений атрибутов;
    • потерей видимой подсветки при редактировании больших файлов;
    • некорректными или обрезанными видимыми диапазонами.

Примечания

  • Для небольших HTML-документов по-прежнему используется семантическая подсветка всего документа.
  • Очень большие HTML-файлы теперь автоматически переключаются в более консервативный, ориентированный на производительность режим редактирования, чтобы обеспечить плавность прокрутки и набора текста.

Попробуйте на GitHub: https://github.com/makoni/HTMLEditor-SwiftUI

Star Fork

[↵] открыть пост html-editor-for-swiftui-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
-rw-r--r-- 4.1K 28 марта 2026 · 506D0D0 · ~2 мин

Swift клиент для CouchDB 2.4.0

swift couchdb swift package vapor open source

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

  • Проведен рефакторинг внутреннего устройства выполнения запросов в CouchDBClient для использования более чистых потоков в стиле async/await и уменьшения дублирования логики обработки ответов.
  • Улучшены пути буферизации и декодирования для сырых и типизированных запросов с упором на более безопасное выполнение в EventLoopGroup и повышение производительности при обработке ответов.
  • Расширено тестовое покрытие для выполнения запросов на базе EventLoopGroup, включая сырые и типизированные get, сырые и типизированные find, загрузку вложений, вывод списков индексов Mango и объяснение запросов Mango.
  • Обновлена документация для пользователей: README, статьи DocC и руководства (tutorials).
  • Обновлены инструменты документирования для новых рабочих процессов DocC, включая поддержку экспорта в Markdown.

Улучшения API и поведения

  • Добавлена и доработана поддержка EventLoopGroup для большего количества путей запросов в CouchDBClient.
  • Улучшены внутренние пути обработки ошибок и поведение декодирования ответов для операций CouchDB.
  • Упрощена многоуровневая структура помощников запросов и уменьшено дублирование кода обработки запросов/ответов.
  • Улучшено поведение, связанное с вложениями, и соответствующие тесты.
  • В манифест пакета добавлена поддержка visionOS.

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

  • Исправлены и обновлены примеры в README для использования CRUD и запросов Mango.
  • Обновлены целевые страницы DocC для лучшего отражения текущего API.
  • Исправлены фрагменты кода в руководстве по продвинутым запросам Mango, чтобы они соответствовали текущему типизированному API запросов.
  • Исправлены примеры в руководстве по Vapor.
  • Исправлена настройка пакета и зависимостей в руководстве по Hummingbird.
  • Обновлен buildDocs.sh для поддержки:
    • настраиваемого пути вывода и базового пути хостинга;
    • встраивания контента для статического хостинга;
    • экспериментального вывода в Markdown;
    • генерации манифеста Markdown.
  • Добавлен этап постобработки в buildDocs.sh, который внедряет относительную ссылку на Markdown в сгенерированные HTML-страницы DocC.

Инструменты и зависимости

  • Обновлены зависимости пакета в Package.resolved.
  • Обновлена матрица версий Swift для процесса сборки под Ubuntu.

CouchDB Client на GitHub | Документация с примерами и руководствами.

Star Fork

[↵] открыть пост couchdb-client-for-swift-2-4-0.md
-rw-r--r-- 2.6K 12 марта 2026 · EEC4B31 · ~1 мин

Actioneer для Linux 1.0.8

actioneer macos apps приложения open source

Actioneer для Linux 1.0.8

Новый релиз Actioneer 1.0.8 направлен на повышение надежности мониторинга GitHub Actions в реальном времени и более эффективное использование GitHub API.

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

  • Запускаемые процессы (workflow runs) теперь продолжают обновляться, пока они активны, благодаря чему расширенные данные о задачах и шагах остаются актуальными до завершения запуска.
  • Расширенная информация о запусках стала более стабильной и читаемой: появились четкие значки, сохранение контекста задач и непрерывная нумерация шагов.
  • Значки статуса workflow теперь переводятся более единообразно на все поддерживаемые в приложении языки.
  • Фоновое обновление стало менее нагруженным для GitHub API, что уменьшает количество дублирующих запросов и помогает сохранить запас лимита запросов.

Технические улучшения

  • Исправлено несколько проблем с жизненным циклом «живого» обновления в панели деталей: теперь переключение репозиториев или пересоздание строк больше не прерывает активный цикл обновления.
  • Удалены дублирующие запросы начальных задач, вызванные состоянием гонки при повторном рендеринге только что развернутых запусков.
  • Снижена нагрузка от ненужных запросов за счет оптимизации управления обновлением выбранного репозитория и повторного использования данных об обновлениях задач.

Скачать из Snap Store
Скачать на Flathub

[↵] открыть пост actioneer-for-linux-1-0-8.md
-rw-r--r-- 1.0K 5 марта 2026 · EBF079C · ~1 мин

Actineer для Linux получил локализации

actioneer macos apps приложения open source

Actioneer для Linux 1.0.7

Actioneer для Linux доступен на множестве языков, включая русский, испанский, французский, португальский (Бразилия), хинди, упрощенный китайский, арабский, бенгальский, урду, немецкий и нидерландский.

Приложение также включает встроенную систему отчетов о сбоях: вы можете скопировать отчет и вставить его куда угодно или просто создать issue на GitHub. Кроме того, были внесены некоторые внутренние исправления и улучшения.

Скачать из Snap Store
Скачать на Flathub

[↵] открыть пост actioneer-for-linux-got-translations.md
makoni@arm1:~/blog$ cd ./page-2/ // ещё посты →