Дизайнер Мухаммад Рауфан Юсуп выпустил RoboDust, бесплатную утилиту для macOS. Она запускает по рабочему столу Mac виртуального робота-пылесоса. Юсуп работает продуктовым дизайнером в токийской Cybozu. Его виртуальный робот составляет карту беспорядка, собирает файлы по одному и отвозит их на свою базу. До финального подтверждения на диске ничего не меняется.
Поводом стали более 300 объектов на рабочем столе самого разработчика, в основном скриншоты. Ещё одним толчком стало приложение другого энтузиаста, которое прячет рабочий стол под ковёр. Юсуп решил сделать версию, где вместо ковра работает робот.
Поведение копирует настоящий робот-пылесос. Робот появляется на столе вместе с док-станцией, сканирует пространство лидаром и убирает рядами. Перед тем как исчезнуть, файлы теряют подписи, а крупные заставляют робота замедляться и напрягаться. Скриншот при этом засасывается моментально.
Когда контейнер заполняется, робот задним ходом возвращается на базу и опустошает его, а наполнение мешка видно на экране. Если поднять робота во время уборки, он будет возмущаться, пока его не поставят обратно. В браузерной демоверсии в робота можно бросать файлы или перегораживать ему путь курсором.
После уборки пользователь выбирает, что сделать с собранными файлами:
разложить их аккуратными колонками по типам без удаления
отправить в Корзину macOS
удалить безвозвратно
Для сортировки и перемещения в Корзину есть отмена, а для удаления предусмотрен обратный отсчёт. Перед удалением приложение запрашивает финальное подтверждение, и любые файлы можно исключить. Опытные пользователи могут отключить этот вопрос, но тогда удаление идёт с 10-секундным отсчётом и крупной кнопкой "Стоп", так как действие необратимо.
При перемещении в Корзину и удалении RoboDust не трогает следующие объекты:
файлы, изменённые за последние 10 минут
заблокированные файлы
папки с каталогом .git внутри
приложения
Диски утилита не затрагивает вовсе. Каждый файл проверяется повторно прямо перед операцией, и если он изменился во время уборки, то просто вылетает обратно на своё место. При синхронизации рабочего стола с iCloud приложение предупреждает, что удалённое исчезнет и с других девайсов. Файлы, не загруженные из облака, отправляются в Корзину без скачивания.
Тем, кто хочет просто посмотреть на робота без риска, доступен режим с выдуманным беспорядком, за которым не стоит ни одного реального файла.
Технически RoboDust обходит ограничения системы. macOS не позволяет сторонним приложениям двигать иконки Finder, так что утилита запрашивает у Finder их координаты, берёт обои и рисует копию всего рабочего стола в окне поверх настоящих иконок, но под остальными окнами. Копия отрисовывается через Metal, иконки представлены небольшими мешами, которые изгибаются в сторону всасывающего отверстия. Робот и база освещаются шейдером, поэтому свет не смещается при поворотах, а все звуки синтезируются без аудиофайлов.
По завершении уборки приложение вносит реальные изменения, ждёт, пока Finder их отобразит, и плавно убирает копию. За все операции с диском отвечает единственный файл FileOps.swift, и разработчик сам советует изучить его код перед использованием.
Дизайн RoboDust создал Юсуп, а в реализации ему активно помогал Claude. Обновления приходят через Sparkle, исходный код открыт под лицензией MIT.
Билд подписан разработчиком и прошёл нотаризацию Apple. Утилита занимает 4 МБ и работает на Mac с Apple silicon и Intel под управлением macOS 14 и новее.
Источник новости: shazoo.ru

