Dropwheel

Dropwheel — оверлей-лаунчер для Windows: плавающий орб раскрывается в радиальное колесо целей (папок и приложений). Файлы можно копировать и перемещать, текст — сохранять в файл, а поток файлов — раскладывать по подпапкам правилами. Ниже каждая возможность показана вживую и рядом объяснена.

Основной вид

Орб раскрывается в радиальное колесо целей. В центре — хаб, вокруг — обод со спицами и тайлы папок, приложений, групп и сортеров. Тайлы вылетают из центра по одному; наведите курсор на тайл — он подсветится, а его спица «загорится».

В настройках выбирается одна из четырёх анимаций открытия, скорость и одна из четырёх тем. Здесь можно всё это покрутить — колесо рисуется по тем же формулам, что и приложение:

Элементы интерфейса

Как называются части колеса — пригодится при чтении настроек, отчётов об ошибках и этой документации. Цифры на колесе соответствуют списку:

  1. 1Хаб / орб — центр открытого колеса; в свёрнутом виде это орб, плавающая кнопка на рабочем столе. Бросок на него добавляет цель.
  2. 2Обод — внешнее кольцо, вдоль которого расставлены тайлы.
  3. 3Спицы — направляющие от хаба к тайлам; подсвечиваются при наведении.
  4. 4Тайл-цель — квадратная цель для сброса: папка, приложение (run-цель), группа или сортер.
  5. 5Подпись тайла — имя цели под тайлом.
  6. 6Тайл «Add» — штриховой «+»; создаёт новую цель на текущем уровне.
  7. 7Бейдж — маркер действия или статуса на тайле: копирование ⧉, перемещение ➜, запуск ▶, сортер ⇅. В самом приложении бейдж — это слово (Copy, Move, Sort, Run); в демо он показан глифом-сокращением (⧉ ➜ ▶ ⇅).
  8. 8Группа — тайл, открывающий вложенный уровень; показывает число вложенных целей и код.
  9. 9Сортер — папка с правилами (янтарная рамка, ⇅), раскладывает файлы и папки по подпапкам.

Перетаскивание файла

Тянем файл на тайл-цель. Пока курсор над тайлом, он становится текущей целью: соседние тайлы приглушаются, подпись усиливается, а action-chip прямо говорит, что случится — Copy или Move (с зажатым Shift). Вторая строка чипа отвечает «а поместится ли»: свободное место на диске цели и сколько элементов уже лежит в папке. После сброса файл «улетает» в цель, тайл вспыхивает, и снизу всплывает тост с возможностью отменить. Сцена играет по кругу: сначала копирование на Downloads, затем перемещение на Documents.

Открытие при приближении

Колесо открывать вручную не обязательно. Когда перетаскиваемый файл подходит к орбу, тот оживает: ореол разгорается, а «ядро» ведёт взглядом за курсором. Стоит подойти вплотную — колесо само раскрывается, и цели уже под рукой. Отпустили файл — орб снова сворачивается и ждёт.

Вход в группу

Группа — это тайл, который открывает вложенный уровень колеса вместо приёма файлов. Клик по группе Projects перестраивает обод: корневые цели сменяются содержимым группы, а первым тайлом появляется «Назад». Клик по нему возвращает на корневой уровень. Перестроение — та же анимация «Pop», что и при открытии.

Сохранение текста

На тайл-папку можно бросить не только файл, но и выделенный текст из браузера или редактора. Dropwheel сохранит его в файл text_ГГГГ-ММ-ДД_ЧЧ-мм-сс.txt (или .md, если текст похож на Markdown). Бейдж показывает «txt», а тост подтверждает имя созданного файла с возможностью отменить.

Запуск: «открыть с помощью»

Если цель — это программа или скрипт (.exe, .bat, .ps1, .py, .jar и подобные), файлы, брошенные на её тайл, не копируются, а передаются программе как аргументы — поведение Windows «открыть с помощью». Бейдж при этом оранжевый (янтарный) с треугольником ▶ — запуск использует тон Warning. Скрипты, которые оболочка открыла бы в редакторе, запускаются через интерпретатор (например, .py через py). Это запуск, а не файловая операция, поэтому отмене он не подлежит.

Рискованные сбросы Dropwheel сначала подтверждает диалогом: «Run dropped files?» перед запуском, «Send through Telegram?» перед отправкой и «Sort with watched rules?» перед раскладкой по наблюдаемым правилам — действие выполняется только после согласия.

Сортер: раскладка по правилам

Сортер — это папка-цель с правилами (тайл с янтарной рамкой и бейджем ⇅). Брошенная на него пачка файлов расходится по подпапкам: первое правило, все условия которого совпали, забирает файл. Условия — расширение, тип (изображение, видео, аудио, документ, архив), имя (подстрока или регулярное выражение), размер, возраст и дата создания; любое условие можно инвертировать флажком «не». Правило без условий работает как «всё остальное», а целое правило можно временно выключить, не удаляя.

Назначение может собирать имя подпапки через токены. Из имени файла — ${name}-группы регулярного выражения; плюс встроенные без настройки: дата переноса ${date}, дата самого файла ${cyear}\${cmonth}, а также ${week}, ${quarter}, ${initial}, раскладка по размеру ${size} (корзины tiny/small/…/huge, пороги настраиваются) и ${slug} — первая строка текста. Так одно правило и находит файл, и раскладывает его в датированную структуру. У правила есть охват «файлы / папки / оба», поэтому сортер умеет раскладывать по дате и целые папки, не путая их с файлами. Тот же движок работает при «наблюдении за папкой» — сортер сам раскладывает появившиеся файлы и папки в фоне, а свои датированные папки повторно не трогает.

Раскладка — рискованное действие, поэтому перед ней появляется подтверждение «Sort with watched rules?»; файлы расходятся по подпапкам только после согласия.

Захват цели орбом (Alt+Shift)

Чтобы закрепить папку, приложение или файл прямо из Проводника или с рабочего стола, зажимают Alt+Shift и тянут орб на цель. За курсором летит призрак-орб: над подходящей целью он «вооружается» — ядро наливается акцентным цветом, ореол разгорается, а вокруг самой цели появляется рамка. Пока призрак «залочен» на цели, его аура живёт: три радар-кольца ровным ритмом расходятся наружу, и чем сильнее «захват», тем ярче их пульс.

На отпускании призрак «сматывается» обратно в орб, тот отбивает подтверждающее кольцо, выдерживает короткую паузу — и колесо открывается с новым закреплённым тайлом впереди, рядом с хабом. Тост «Pinned: …» позволяет отменить добавление.

Групповые коды

У каждой группы есть код из одной-двух цифр. Наведя курсор на орб (или при открытом колесе) и набрав код, попадаешь прямо в нужную группу. Пока код набирается, на хабе показывается введённое, совпадающие группы остаются яркими, остальные тайлы гаснут.

Если есть и 1, и 11, то 1 открывается после короткого тайм-аута ожидания второй цифры, а вторая 1, набранная до истечения тайм-аута, сразу открывает 11. Коды закрепляются за группами и не сбиваются при перестановке тайлов.

Перестановка тайлов

Тайл можно перетащить в другое место обода: схватить левой кнопкой и вести вдоль кольца. Перетаскиваемый тайл скользит по дуге за курсором, а тайлы, мимо которых он проходит, плавно сдвигаются, освобождая слот. Порядок запоминается; тайл «Add» всегда остаётся последним. Отпускание на «+» отправляет тайл в самый конец.

Ссылки, заголовок и фавикон

Ссылку — обычный адрес, tg:// или t.me/… — можно бросить на орб или на «+», и появится тайл быстрого доступа. Сначала он показывает просто адрес сайта, а в фоне Dropwheel подтягивает заголовок страницы и фавикон (png/jpg/ico/webp) — тайл обновляется на месте: имя становится названием страницы, а иконкой — значок сайта.

Веб-ссылки на Telegram по возможности превращаются в десктопные deep-link'и tg://, так что тайл t.me открывает Telegram Desktop.

Отмена

Почти любое действие можно откатить. После перемещения, копирования, сохранения текста или добавления цели снизу появляется тост со ссылкой «Undo», активной 6 секунд. Клик по ней возвращает файлы на место (копии — в корзину, перемещённые — обратно в источник) или убирает только что добавленный тайл. Запуск программы и фоновая авто-сортировка отмене не подлежат.

Поведение орба

Орб можно перетащить в любое место экрана, зажав Alt и потянув левой кнопкой (на любой монитор; с добавленным Shift вместо перемещения включается закрепление). Его положение запоминается между запусками.

Если включено затухание при простое, орб через заданное время бледнеет почти до невидимости, а любое движение мыши поблизости мгновенно его возвращает. Ещё орб сам прячется в полноэкранных приложениях — играх и презентациях — и появляется снова при выходе из них.

Колесо можно вызвать прямо под курсором глобальной горячей клавишей Ctrl+Alt+Space (сочетание настраивается).

Слой уверенности

Пока файл висит над колесом, каждая цель заранее показывает, что с ним сделает: цветное кольцо и короткий чип с действием, а под наведённой целью — строка-статус. Совместимые цели подсвечиваются по роли — зелёным копирование, янтарным правила и запуск, — а те, что не могут принять груз, приглушаются, чтобы выбор был очевиден ещё до сброса.

Клавиатура и доступность

Открытым колесом можно управлять без мыши. Tab и стрелки переводят фокус между тайлами — вокруг выбранного загорается кольцо с чипом «Focus», — Enter или пробел срабатывают как клик, а Escape закрывает колесо. Наведённую и сфокусированную цель Dropwheel озвучивает через программу чтения с экрана.

Переполненные уровни

Небольшой уровень всегда рисуется классическим одним кольцом. Когда целей становится много, излишек можно пустить на второе, внешнее кольцо, а не втискивать всё в один обод. Схема выбирается в настройках.

Порог — сколько реальных целей помещается до появления второго кольца (от 4 до 16). Служебные тайлы — «плюс» и «Назад» внутри группы — в счёт не идут. Переключите схему, чтобы увидеть, как раскладываются 14 целей.

Окна интерфейса

Диалоги и меню Dropwheel тоже следуют выбранной теме — акцент, поверхности и текст. Ниже статичные копии окон приложения; переключите тему, чтобы увидеть, как перекрашивается весь интерфейс. Строки в окнах — настоящие подписи приложения (оно англоязычное).

Ещё возможности

Отправка в Telegram

Файлы или текст, брошенные на Telegram-тайл, копируются в буфер обмена, Dropwheel выводит нужный чат или тему на передний план и вставляет содержимое (Ctrl+V) — остаётся нажать «Отправить».

Виртуальные файлы

Вложения из Outlook и картинки из браузера, которых ещё нет на диске, принимаются напрямую: Dropwheel извлекает их поток и сохраняет реальным файлом. Такие файлы всегда копируются.

Наблюдение за папкой

Сортер может следить за своей папкой: появившиеся файлы и папки фоном раскладываются по тем же правилам. Dropwheel ждёт окончания загрузки файла, разбирает верхний уровень и шлёт одно уведомление на пачку. Свои датированные папки повторно не сортирует — петли нет.

Правила: токены, пресеты, охват

Правила редактируются списком «мастер-деталь»; есть готовые категории (Images, Documents, Archives…), разделы пресетов «Dated folders» и «By size», токены назначения вставляются кликом по чипам под полем, охват «файлы / папки / оба» и поле «тестовых файлов», которое сразу показывает, какие файлы попадут в выбранное правило.

Параметры запуска

Для программ и скриптов можно задать свою команду с токенами {target}, {targetDir}, {files} и видеть предпросмотр итоговой командной строки.

Дропы: имя, конфликты, буфер, ссылки

У цели можно задать шаблон переименования файлов (те же токены ${date} ${stem}) и поведение при совпадении имён — спросить, сохранить оба, перезаписать или пропустить. По желанию путь назначения копируется в буфер после сброса. Выделение с несколькими ссылками, брошенное на «+», создаёт плитку на каждую.

Автозапуск и размещение

Орб может стартовать вместе с Windows, помнит своё место на любом мониторе, а настройки хранятся в %AppData%\Dropwheel\config.json.

Недавние сбросы

Dropwheel ведёт журнал сбросов в %AppData%\Dropwheel\drop-history.json (самые свежие сверху, не больше 50 записей). В меню трея подменю «Recent drops» показывает последние записи: клик открывает папку-назначение или подсвечивает созданный файл, у каждой записи подсказка с полным путём. Там же — очистить журнал или открыть сам JSON-файл.

Мост «Отправить» из Проводника

Пункт «Explorer SendTo shortcut» в меню трея ставит ярлык Dropwheel в папку SendTo Windows, и «Отправить → Dropwheel» открывает колесо у орба. Папки и приложения/ссылки добавляются как цели, а обычные файлы направляются на цель (с тем же подтверждением) без второго перетаскивания.

Пропуск дублей целей

Настройка «Skip duplicate targets» по умолчанию выключена. Когда она включена, сброс папки, приложения или ссылки, уже стоящей на текущем уровне колеса, не создаёт второй тайл: тост сообщает, что цель уже здесь, а существующий тайл коротко пульсирует.

Оформление плитки

Плитке можно задать эмодзи вместо иконки и свой цвет: он красит рамку и текстовые эмодзи — так важная цель выделяется на колесе (см. плитку «Favs» в сценах). Наведение на плитку показывает её полный путь в подсказке.

Хоткеи, паузы, конфиг

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