$ grep -r Tag: «macos»

-rw-r--r-- 10K 19 мая 2026 · CE824A9 · ~5 мин

Swift Adwaita: от 1.2.0 до 1.3.1

swift libadwaita open source swift package linux macos

После релиза 1.1.0 у библиотеки swift-adwaita вышло семь релизов подряд. Пока я продолжаю разрабатывать первое реальное приложение на этой обёртке, всплывают вещи, которые в синтетических тестах не видны — и почти каждая правка отсюда. Главная история этого цикла: swift-adwaita теперь собирается и запускается на macOS, а заодно я наступил на красивые грабли со Swift Concurrency внутри GLib main-loop и аккуратно с них слез.

Swift Adwaita

История одного бага: async, который никогда не выполняется

В 1.2.0 я схлопнул все диалоги (FileDialog, ColorDialog, FontDialog) на async throws и убрал колбэк-варианты — казалось, так чище. Через сутки выяснилось, что внутри запущенного GTK-приложения (g_application_run) код вида Task { @MainActor in await dialog.open(...) } просто никогда не выполняется. Дефолтный исполнитель главного актора в Swift — это DispatchQueue.main, а GLib main-loop его не крутит. Процесс выглядит живым, ошибок нет, кнопка нажимается — но файловый диалог не появляется.

1.2.1 экстренно вернул колбэк-варианты для FileDialog, 1.2.2 закрыл эту дыру окончательно: колбэк-перегрузки добавлены для всех async-API (Clipboard, ColorDialog, FontDialog, UriLauncher, Texture.load). Async-варианты остались — они нужны для тестов и не-GTK контекста, — но из обработчиков сигналов GTK теперь по умолчанию рекомендуется колбэк-форма. Долгосрочное решение (свой SerialExecutor поверх GLib) отложено как отдельная задача.

1.2.0: что появилось в API

  • Асинхронная загрузка изображений. Texture.load(from:) декодирует всё, что умеет GdkPixbuf — PNG, JPEG, GIF, WebP, TIFF, BMP — вне главного актора. Это шире, чем умеет нативный gdk_texture_new_from_filename.
  • Воспроизведение анимированных изображений. AnimatedImagePlayer крутит кадры из GdkPixbufAnimation в виджете Picture с методами start / stop / advanceFrame.
  • Application.onOpen и Application.run(arguments:) — обработка активации по файлам для приложений с флагом G_APPLICATION_HANDLES_OPEN.
  • Runtime-проверки типов виджетов. Widget.gtkType, isInstance(of:), и более строгий tryCast, который теперь действительно сужает тип, а не «успешно» приводит любой виджет к чему угодно.
  • Изолированные deinit на GObjectRef, GVariant и других обёртках — освобождение GObject теперь всегда происходит на главном акторе явно, а не на случайном потоке, который дропнул последнюю ссылку.
  • Минимальный тулчейн поднят до Swift 6.2 — isolated deinit в 6.1 экспериментальный, релизный тулчейн отказывался его включать.

1.2.3–1.2.5: удобства и буфер обмена

Три небольших релиза о том, чтобы реже импортировать CAdwaita ради рутинных вещей:

  • RGBA(hex:) — парсинг CSS-цветов: #RGB, #RGBA, #RRGGBB, #RRGGBBAA.
  • IconTheme — обёртка над gtk_icon_theme_get_for_display с addSearchPath(_:) для локальных иконок приложения.
  • ApplicationFlags как OptionSet: Application(id: "...", flags: [.handlesOpen, .nonUnique]) вместо сырых битовых масок.
  • MainContext.drainPending() и pump(for:) — однострочные замены для while g_main_context_pending { g_main_context_iteration }, которые в каждом тестовом наборе писались заново.
  • Перехват вставки. Widget.onPasteClipboard, синхронные пробы Clipboard.containsImage / containsFiles, асинхронные readTexture / readFiles, и Texture.encodedPNGData() — теперь можно перехватить вставку картинки в редактор и пропустить её через свой импорт, а не позволять GTK воткнуть её как текст.
  • Silencing GTK-CRITICAL спама от GtkScrolledWindow и неверно настроенных GtkDropTarget — опциональный фильтр + правильные сигнатуры сигналов ::enter / ::motion.

1.3.0: macOS как платформа для разработки

Главная новость цикла. swift-adwaita теперь собирается и работает на macOS 13+ на Apple Silicon. Linux остаётся главной целевой платформой, но локально разрабатывать и тестировать можно прямо на маке, не поднимая виртуалку.

  • Установка через Homebrew: brew install libadwaita gtksourceview5 pkgconf adwaita-icon-theme. Без adwaita-icon-theme кнопки в HeaderBar и баннеры рендерятся пустыми — Homebrew не подтягивает её транзитивно.
  • Обязательная переменная окружения: XDG_DATA_DIRS=/opt/homebrew/share, иначе libadwaita не находит свои GSettings-схемы и падает при старте.
  • DemoAppLib — все 78 примеров галереи теперь живут в отдельной библиотеке, которую можно слинковать с внешним приложением. Исполняемый DemoApp стал трёхстрочной обёрткой.
  • Xcode-пример в examples/macos/DemoApp/ — минимальный Xcode 16+ проект, который оборачивает галерею в обычный .app-бандл. Cmd+R и работает.
  • Параллельный набор тестов на XCTest для macOS. swift-testing на Apple-платформах вставляет autorelease-pool переходы между тестами, которые конфликтуют с Cocoa CFRunLoop источниками от gtk_init — на втором тесте всё падает. XCTest этого не делает, и тот же набор там проходит. Linux продолжает гонять swift-testing. Результат: 1181 тест / 0 падений на macOS.
  • Три специфичных для Apple бага, которые Linux/glibc маскировал: Variant.stringValue возвращал nil для валидных строк (висячий указатель на g_variant_type_checked_); хелперы локализации (localized, nlocalized) возвращали мусор без перевода (gettext возвращает входной указатель untouched, а Swift→C bridge уже освободил его); MediaStream.timestamp не компилировался, потому что gint64 — это long на Linux x86_64 и long long на Apple arm64.
  • macOS CI job на macos-26 с Xcode 26.4.1 (Swift 6.3). Только сборка, без прогона тестов: GitHub runner-ы headless, GTK4-Quartz падает без WindowServer-сессии.
  • REUSE 3.3 метаданные лицензий — SPDX-заголовки в каждом файле, reuse lint зелёный.

1.3.1: уборка

Maintenance-релиз без изменений API. Подтянул документацию по перехвату вставки в README, добавил adwaita-icon-theme во все инструкции по установке для macOS (наступили — записали), поднял в Xcode-примере deployment target до macOS 26, чтобы он совпадал с тем, на чём Homebrew собирает GTK4 — иначе линкер ругается на каждый dylib.

Что дальше

Главная незакрытая проблема — это всё ещё интеграция Swift Concurrency с GLib main-loop. Сейчас в GTK-приложении нельзя писать Task { @MainActor in ... } из обработчика клика, и это огорчает. Долгосрочный план — собственный SerialExecutor, который вместо DispatchQueue.main прокидывает работу через g_idle_add_full. Пока что callback-API закрывают все практические сценарии, но писать настоящий исполнитель когда-то всё-таки придётся.

Проект открытый, под MIT-лицензией. Исходники — на GitHub, документация с гайдами — здесь.

Star Fork

[↵] открыть пост swift-adwaita-from-1-2-0-to-1-3-1.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.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
-rw-r--r-- 3.3K 13 февр. 2026 · 2084C19 · ~2 мин

Недавние обновления Actioneer для Linux

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

Actioneer для Linux

За последнее время вышло несколько обновлений Actioneer для Linux, о которых я забыл рассказать здесь. Вот что нового в этих версиях:

1.02

  • Более быстрый и плавный интерфейс с обновленными списками репозиториев/workflow и улучшенным поведением прокрутки.
  • Новые инструменты фильтрации запусков с улучшенным кэшированием: переключение фильтров происходит мгновенно и не требует перезагрузки данных.
  • Улучшено автообновление workflow и статусов запусков, включая уменьшение количества дублирующих запросов.
  • Уведомления стали надежнее в Snap/Flatpak благодаря улучшенной обработке иконок и наличию резервных вариантов.
  • Улучшено хранение учетных данных в песочнице с использованием secret portal для Snap/Flatpak.
  • Добавлена устойчивость к работе в офлайн-режиме: сохранение кэша для workflow, запусков и задач.
  • Обновления упаковки и CI для Snap, Flatpak и AppImage для лучшей совместимости.
  • Обновление зависимостей и исправления стабильности.

1.03

  • Логи задач теперь поддерживают ANSI-цвета, группировку разделов workflow и более четкое форматирование команд и вывода.
  • Выравнивание временных меток и префиксов команд улучшило читаемость логов, а также было усилено выделение ошибок.
  • Обновлен процесс сборки с поддержкой мультиархитектуры для AppImage/Snap/Flatpak.
  • Обновление зависимостей и обновление демо-логов для повышения точности.

1.04

  • Обработка истекших логов задач (HTTP 410): теперь вместо сломанного отображения выводится понятное сообщение.
  • Удаление маркеров BOM в логах задач, чтобы временные метки на первой строке отображались корректно.

1.05

  • Ручной запуск workflow теперь поддерживает входные данные workflow_dispatch с динамическими полями параметров.
  • Обновление зависимостей для ryu, unicode-ident и zmij.

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

[↵] открыть пост actioneer-1-02-1-05.md
-rw-r--r-- 804B 21 янв. 2026 · 8445AE8 · ~1 мин

AppMetric 1.14.0

macos приложения appmetric appmetrica

AppMetric screenshot

Вышло обновление AppMetric версии 1.14.0.

Новое

  • Окно настроек с переключателем «Запускать при входе».
  • Обновлённые иконки приложения для Liquid Glass.

Улучшения

  • Более быстрые и стабильные обновления: параллельные запросы с backoff при лимитах и учётом дневной квоты.
  • Поповер подстраивается под контент.
  • Улучшено форматирование дат в графиках.

Загрузить

[↵] открыть пост appmetric-1-14-0.md
-rw-r--r-- 1.2K 20 янв. 2026 · 4C1F7F4 · ~1 мин

Actioneer 1.01

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

Скриншот Actioneer

Вышло первое обновление Actioneer. Вот что нового:

  • Обновление workflow происходит в фоновом режиме, поэтому новые запуски, запущенные вручную, появляются автоматически.
  • Снижено использование API и количество превышений лимита запросов благодаря кэшированию на основе ETag — списки загружаются быстрее, а ваша кэш-квота расходуется медленнее.
  • Приложение запоминает репозиторий, который вы просматривали, между запусками.
  • Улучшенная диагностика и надежность для более комфортной повседневной работы.

Загрузить

Следите за обновлениями в X: https://x.com/ActioneerCI

[↵] открыть пост actioneer-1-01.md
-rw-r--r-- 3.4K 16 окт. 2025 · 03ED173 · ~2 мин

Actioneer - командуй своим CI

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

Скриншот Actioneer

Actioneer — это легкое приложение для macOS, созданное для разработчиков и DevOps-инженеров, которым нужен быстрый и надежный доступ к GitHub Actions прямо с рабочего стола.

Основные возможности

  • Просматривайте свои репозитории GitHub, быстро изучая рабочие процессы (workflows) Actions и недавние запуски.
  • Отслеживайте статус запусков (успех, ошибка, в очереди, в процессе) с помощью понятных бейджей и счетчиков.
  • Просматривайте логи заданий: скачивайте и просматривайте логи запусков для быстрого поиска неисправностей.
  • Запускайте рабочие процессы, отменяйте текущие и перезапускайте упавшие задачи прямо в приложении.
  • Функции «Избранное» и быстрый поиск позволяют сосредоточиться на наиболее важных репозиториях и рабочих процессах.
  • Уведомления на рабочем столе о завершении или сбоях запусков, чтобы вы никогда не пропускали важные результаты.
  • Кэширование в памяти и эффективное обновление делают приложение отзывчивым, соблюдая при этом лимиты запросов GitHub.
  • Безопасная аутентификация с использованием OAuth (PKCE); токены надежно хранятся в связке ключей macOS (macOS Keychain).

Конфиденциальность и безопасность

Мы запрашиваем только минимально необходимые области доступа GitHub, требуемые для использования функций. Аутентификация использует OAuth PKCE, а токены хранятся в связке ключей macOS. Мы не передаем ваши логи или токены сторонним серверам без вашего явного согласия. Подробности см. в Политике конфиденциальности приложения.

С чего начать

Войдите под своей учетной записью GitHub (OAuth), предоставьте запрашиваемые разрешения, и приложение отобразит ваши репозитории и рабочие процессы. Как для администраторов CI/CD, так и для индивидуальных разработчиков, Actioneer делает мониторинг и простое управление GitHub Actions быстрым и удобным.

Скачать

Следите за обновлениями в X: https://x.com/ActioneerCI

[↵] открыть пост actioneer-command-your-ci.md
-rw-r--r-- 645B 11 авг. 2025 · CA8478D · ~1 мин

HTMLEditor для SwiftUI 1.0.3

swiftui html macos open source

Текстовый редатор SwiftUI для macOS с подсветкой синтаксиса HTML

Потратил еще немного времени на HTMLEditor для SwiftUI. В новой версии 1.0.3 внесены значительные улучшения производительности (спасибо Claude Code).

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

[↵] открыть пост htmleditor-for-swiftui-1-0-3.md
-rw-r--r-- 1.4K 9 июля 2025 · EDE172F · ~1 мин

HTML редактор на SwiftUI для macOS с подсветкой HTML синтаксиса

swiftui html macos open source

Текстовый редактор SwiftUI для macOS с подсветкой синтаксиса HTML

Несколько месяцев назад я захотел добавить в одно из своих приложений текстовый редактор с подсветкой синтаксиса HTML. Я попробовал пару библиотек, найденных на GitHub, но ни одна из них мне не подошла. В основном они слишком тяжеловесные и пытаются уместить в себе всё сразу. И в конечном итоге они работают нестабильно и с багами.

Вдохновившись концепцией «vibe coding», я сделал свой собственный вариант. Он отлично работает и не пытается быть полноценной IDE или серьезным редактором кода. Это просто простой SwiftUI компонент с текстовым редактором и подсветкой синтаксиса. Цвета можно настроить с помощью простой структуры.

Проект на GitHub: https://github.com/makoni/HTMLEditor-SwiftUI

[↵] открыть пост swiftui-text-editor-for-macos-with-html-syntax-highlighting.md
-rw-r--r-- 722B 19 мая 2025 · ED4BA57 · ~1 мин

AppMetric 1.13.0

macos приложения appmetric appmetrica

AppMetric 1.13.0

Вышло обновление AppMetric версии 1.13.0. Теперь на Swift 6, слегка подправил UI и убрал открытие поповера при запуске (кроме первого запуска) — пришёл к выводу, что это скорее раздражает, особенно если приложение запускается автоматически после перезагрузки. Ну и добавил локализацию на несколько новых языков.

Загрузить

[↵] открыть пост appmetric-1-13-0.md
-rw-r--r-- 1.4K 27 мая 2024 · D7B1A59 · ~1 мин

AppMetric 1.12.0

macos приложения appmetric appmetrica

AppMetric 1.12.0

Вышло обновление для AppMetric, версия 1.12.0. Допиливал его в свободное время. Из нового в последних версиях:

  • Ревьюверам Apple почему-то не нравится теперь OAuth-авторизация через Safari, пришлось переделать через встроенное окно с WKWebView. Надеюсь, в следующем SwiftUI наконец-то появится свой WebView, и больше не придется использовать обертку.
  • Добавил кнопку для быстрого перехода на статистику приложения на сайте Appmetrica.
  • Добавил просмотр статистики в виде графиков - как каждого показателя, так и всех показателей вместе. Всего спустя 7 лет после того, как один из пользователей попросил добавить графики :)
  • Добавил перевод интерфейса на несколько языков. Благо, с помощью ИИ это сделать теперь совсем просто.

Загрузить

[↵] открыть пост appmetric-1-12-0.md
-rw-r--r-- 643B 23 апр. 2024 · A5D21D8 · ~1 мин

AppMetric 1.9

macos приложения appmetric appmetrica

AppMetric 1.9

Обновил AppMetric для macOS - клиент для сервиса AppMetrica от Яндекса.

  • Исправлена ошибка, когда при выборе сегодняшней даты она не обновлялась при смене дня.
  • Добавлено форматирование цифр показателей (в зависимости от языка и региона в системе).
  • Небольшие исправления.

Загрузить

[↵] открыть пост appmetric-1-9.md
-rw-r--r-- 703B 3 апр. 2024 · BC252B6 · ~1 мин

Модульбанк информер 1.3

macos приложения модульбанк open source

Модульбанк информер 1.3

Выпустил небольшое обновление для Модульбанк инфомера. Обновил иконку в статусбаре (тепер узнаваемая), и добавил чекбокс для скрытия счетов с нулевым балансом. Ну и немного рефакторинга.

Исходный код на GitHub: https://github.com/makoni/ModulbankInformer
Скачать можно тут: https://github.com/makoni/ModulbankInformer/releases

[↵] открыть пост modulbank-informer-1-3.md
-rw-r--r-- 2.8K 30 марта 2024 · E0344BE · ~2 мин

Как получить выделенный текст внутри TextEditor в SwiftUI на macOS

swiftui macos

Как получить выделенный текст внутри TextEditor в SwiftUI на macOS

TextEditor в SwiftUI все еще не имеет API для получения выделения пользователя. Но так как внутри используется NSTextView, мы можем подписаться на его уведомления.

Вот пример того, как получить подстроку из пользовательского выделения:

[↵] открыть пост how-to-get-selected-text-inside-of-texteditor-in-swiftui-on-macos.md
-rw-r--r-- 1.7K 10 окт. 2023 · d68e288 · ~1 мин

AppMetric 1.8

macos приложения appmetric appmetrica

AppMetric 1.8

Обновил AppMetric для macOS - клиент для сервиса AppMetrica от Яндекса. Предыдущая версия, увы, уже перестала работать, т.к. они изменили формат ответа.

Судя по дошедшей до меня информации, я использовал что-то незадокументированное из их ответа. И, судя по текущим ответам их API - это было количество крэшей. Увы, пришлось выпилить и заменить на количество устройств.

Решил, что раз уж руки дошли, надо осовременить. Переделал всё на SwiftUI, но пришлось сам попап обернуть в старый добрый NSPopover, т.к. MenuBarExtra из SwiftUI уж больно ограничен. Может быть, дойдут руки написать пост об этом. Заодно перевёл всё на Swift Concurrency и графику из SF Symbols. Правда, теперь всё это работает на macOS 13+, но, думаю, те, кому оно полезно, обновляют макось тоже. Ну и, естственно, наконец-то нативная работа на Apple Silicon.

Обновление сегодня прошло ревью и доступно для скачивания. Планирую в будущем добавить всё-таки графики по дням/неделям.

Загрузить

[↵] открыть пост appmetric-1-8.md
-rw-r--r-- 623B 10 окт. 2023 · d68e288 · ~1 мин

Модульбанк информер 1.2

macos приложения модульбанк open source

Модульбанк информер 1.2

Обнаружил досадный баг в Модульбанк Информере - если был счёт в турецких лирах, то JSON не парсился и данных не было совсем. Исправил в обновлении.

Исходный код на GitHub: https://github.com/makoni/ModulbankInformer
Скачать можно тут: https://github.com/makoni/ModulbankInformer/releases

[↵] открыть пост modulbank-informer-1-2.md
-rw-r--r-- 1.0K 29 марта 2023 · 88035de · ~1 мин

Модульбанк информер

macos приложения модульбанк open source

Модульбанк информер

Недавно увидел, что у Модульбанка, которым я пользуюсь, есть публичный API. Поскольку у них для macOS нет приложения, а приложение для iOS не работает на Apple Silicon (их ограничение в целях безопасности), я сделал небольшой информер, который показывает в статус баре список счетов и баланс.

Приложение macOS 13+, т.к. хотелось выжать из SwiftUI всё самое актуальное, заодно попрактиковаться.

Исходный код на GitHub: https://github.com/makoni/ModulbankInformer
Скачать можно тут: https://github.com/makoni/ModulbankInformer/releases

[↵] открыть пост modulbank-informer.md
-rw-r--r-- 526B 27 сент. 2018 · 859FE4A · ~1 мин

Select like a Boss для Safari в Mac App Store

select like a boss safari macos расширения приложения open source

Select like a boss for Safari

24 сентября вышла новая версия macOS - Mojave. А вместе с ней и Safari 12, который теперь поддерживает установку расширений только из Mac App Store. Пришлось запилить приложение с расширением.

Загрузить

[↵] открыть пост select-like-a-boss-dlya-safari-v-mac-app-store.md
-rw-r--r-- 2.1K 21 мая 2018 · 831A704 · ~1 мин

Конвертер из JPG в HEIF

jpg to heif converter приложения apps macos open source

Конвертер JPG в HEIF

Сегодня я решил поэкспериментировать с HEIF — форматом, который Apple завезли вместе с macOS 10.13 и iOS 11. Они говорили, что у него такое же качество при гораздо меньшем размере файлов.

Формат поддерживается в свежих версиях macOS и iOS, а последние модели iPhone умеют снимать в нём.

Я подумываю сжать свой домашний архив фото и видео. С HEVC (H.265) я уже экспериментировал, и результаты были отличные — я уменьшил размер видео, перекодировав их в HEVC прекрасной утилитой HandBrake.

Единственный способ сконвертировать JPG в HEIF (расширение HEIC), который я нашёл, — приложение «Просмотр» в macOS. Но мне было интересно, смогу ли я сделать это сам на Swift. Смог :)

Папка с 64 фотографиями с моего экшен-камеры весила 203 МБ в JPG. И всего 31,3 МБ в HEIC.

macOS и iOS поддерживают формат из коробки. И что интересно — фото в этом формате легко добавляются в библиотеку «Фото» и появляются на всех устройствах, использующих iCloud. Но если попытаться экспортировать такое фото из «Фото» — оно на лету сконвертируется в JPG, так что оригинальный HEIC, похоже, экспортировать нельзя.

Конвертер бесплатный и с открытым исходным кодом (но только под macOS): https://github.com/makoni/jpg-to-heif-converter

[↵] открыть пост jpg-to-heif-converter.md
-rw-r--r-- 736B 28 авг. 2016 · FD72C26 · ~1 мин

AppMetric для macOS

appmetric appmetrica macos приложения

Сделал за пару вечеров простой информер для macOS, который показывает статистику по приложениям из сервиса AppMetrica от Яндекса. Висит знаком в статус баре:

  • Выводит список всех приложений из AppMetrica.
  • Показывает количество пользователей, сессий и крэшей за сегодня.
  • Автоматически обновляет статистику в фоновом режиме.

Загрузить

[↵] открыть пост appmetric-dlya-macos.md
-rw-r--r-- 845B 24 июля 2013 · DC4F445 · ~1 мин

Создание ssh-алиасов для терминала в Mac OS X

шпаргалки ssh macos

Шпаргалка.

Всё то же самое, что и в Linux, только в макоси нет команды ssh-copy-id. Чтобы она появилась:

brew install ssh-copy-id

Дальше всё как в Linux'е:

Чтобы коннектиться к хосту 192.168.1.2 не через ssh root@192.168.1.2, а ssh myhost делаем следующее:

Создаем файл ~/.ssh/config, а в нем пишем:

Host myhost
HostName 192.168.1.2
User root
Port 22

Далее, чтобы не вводить каждый раз заново пароль, генерируем наши ключи

ssh-keygen -t rsa 

И копируем публичный ключ на сервер

ssh-copy-id myhost

Обновление ключей:

ssh-add ~/.ssh/id_rsa
[↵] открыть пост sozdanie-ssh-aliasov-dlya-terminala-v-mac-os-x.md
makoni@arm1:~/blog$ cd .. // ↵ ко всем постам