Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simplu.app (macOS)

Simplu Logo

Минималистичная утилита для строки меню macOS (14.6+), предназначенная для автоматической очистки скрытого мусора и безопасного извлечения накопителей.


Назначение и техническая актуальность программного решения

В процессе взаимодействия операционной системы macOS с внешними запоминающими устройствами, использующими кроссплатформенные файловые системы (exFAT, MS-DOS FAT32), подсистема Desktop Services автоматически генерирует индексационные, позиционные и служебные метафайлы. К ним относятся скрытые объекты каталогов .DS_Store, структуры Apple Double (._*), а также специализированные изолированные директории .Trashes, .Spotlight-V100 и .fseventsd.

Указанные метаданные оптимизируют скорость индексации и логику отображения элементов в системном файловом менеджере Finder, однако они вызывают критические ошибки десериализации, сбои детекции файловой структуры и критические нарушения алгоритмов последовательного чтения на целевом промышленном и любительском оборудовании с ограниченными аппаратными ресурсами. Описываемая проблема носит системный характер и наиболее критично проявляется при интеграции носителей информации в следующие типы систем:

  • Программируемые логические контроллеры (ПЛК), управляющие бортовые комплексы и микроконтроллерные системы автоматизации на базе архитектур STM32, AVR, PIC (включая платформы Arduino и аналогичные индустриальные контроллеры).
  • Аддитивное производственное оборудование, включая управляющие платы лазерных станков, координатных ЧПУ-систем и 3D-принтеров промышленного или персонального класса.
  • Встраиваемые медиа-системы, автомобильные головные устройства, звуковые процессоры, сигнальные модули и аппаратные декодеры телеметрии.

Утилита Simplu автоматизирует процесс низкоуровневой подготовки носителей, выполняя гарантированное рекурсивное удаление нецелевых метаданных непосредственно перед их программным размонтированием с шины ввода-вывода (I/OKit) операционной системы.


Архитектурные особенности и функциональные возможности комплекса

Программный комплекс спроектирован на базе современных системных API macOS с учетом жестких требований к минимизации потребления ресурсов центрального процессора и оперативной памяти в фоновом режиме работы:

  • Динамический мониторинг распределения дискового пространства. Меню приложения в реальном времени транслирует точную информацию о доступном объёме памяти для каждого активного тома. Отрисовка графических индикаторов (Progress Bar) реализована на декларативном фреймворке SwiftUI и интегрирована в иерархию компонентов AppKit через специализированный мост контейнеризации NSHostingView.
  • Сегментация накопителей по типу файловых систем. Алгоритм автоматически идентифицирует подключенные устройства на уровне ядра, изолируя нативные разделы Apple (APFS/HFS+) от сменных носителей сторонних форматов. Данная архитектурная деталь исключает риски случайного удаления кэша или нарушения целостности структуры системных дисков macOS.
  • Пакетная асинхронная обработка данных. Реализован метод массового безопасного извлечения «Очистить и извлечь ВСЕ накопители». Функция параллельно запускает изолированные низкоуровневые потоки Unix-очистки для всех обнаруженных exFAT/FAT32-устройств в рамках глобальной системной очереди со статусом приоритета оперативного взаимодействия (DispatchQueue.global с QOS userInitiated).
  • Интегрированный контроль привилегий подсистемы безопасности TCC. Программа включает в себя валидатор прав «Доступа к диску целиком» (Full Disk Access) на этапе инициализации приложения (метод applicationDidFinishLaunching). В случае блокировки Unix-команд механизмами Sandbox, утилита вызывает модальное окно NSAlert со встроенной URL-схемой x-apple.systempreferences для мгновенного перенаправления пользователя в соответствующий интерфейс Системных настроек macOS.
  • Прямая интеграция с подсистемой Finder. Каждое обнаруженное устройство снабжено инкапсулированной командой вызова корневой директории через NSWorkspace.shared.selectFile, позволяя оператору мгновенно верифицировать состав файлов в нативном окне операционной системы.
  • Регистрация демона автозапуска. Управление фоновым стартом приложения при инициализации сессии пользователя делегировано современному системному API SMAppService.mainApp, пришедшему на смену устаревшим механизмам Service Management, что гарантирует стабильную интеграцию утилиты в актуальных версиях macOS.

Схема работы приложения

graph TD
    A([Инициализация внешнего накопителя]) --> B[Запрос на рекурсивную очистку и размонтирование тома]
    B --> C{Проверка прав TCC Full Disk Access}
    C -->|Доступ предоставлен| D[/Поиск и удаление метафайлов .DS_Store и ._* утилитой find/]
    D --> E[/Снятие системных флагов файлов chflags -R nouchg/]
    E --> F[/Принудительная очистка каталогов .Trashes, .Spotlight и .fseventsd командой rm -rf/]
    F --> G[Вызов системного аудио-ассета NSSound Glass]
    G --> H([Демонтирование файловой системы через POSIX-процесс diskutil unmount])

    %% КАСТОМНАЯ ИНЖЕНЕРНАЯ СТИЛИЗАЦИЯ %%
    classDef init fill:#1d1d1f,stroke:#8e8e93,stroke-width:2px,color:#fff,font-weight:bold;
    classDef trigger fill:#ff9500,stroke:#d47a00,stroke-width:2px,color:#fff,font-weight:bold;
    classDef operation fill:#2c2c2e,stroke:#48484a,stroke-width:1px,color:#e5e5ea;
    classDef success fill:#34c759,stroke:#248a3d,stroke-width:2px,color:#fff,font-weight:bold;

    class A init;
    class B trigger;
    class C,D,E,F,G operation;
    class H success;
Loading

About

A lightweight macOS menu bar utility to clean hidden junk files (._, .DS_Store, Spotlight) and safely eject external FAT32/exFAT drives.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages