Признаюсь, я согрешил: обмазался вайбкодингом ради одной утилиты для таскбара Windows 11 — делюсь тем, что вышло.
Привет, DTF. Каминг-аут с порога: да, я тоже сломался и залез в этот ваш вайбкодинг. Можете кидать тапками, клоунами и пастами про «настоящие программисты пишут на ассемблере в блокноте», но когда в три часа ночи ты споришь с нейросетью о том, как подружить Win32 API, DWM Acrylic Blur и WPF, чтобы окно не моргало при открытии, — начинаешь ощущать себя как минимум сеньор-промпт-архитектором.
А если серьёзно: я сделал маленькую опенсорсную утилиту TrayFolderFlyout — компактные всплывающие папки (flyouts) для панели задач и системного трея Windows 11. Делал в первую очередь чисто для себя и под свои боли, но в итоге получилось настолько удобно, что решил причесать код, собрать инсталлятор и выложить в открытый доступ.
В чём была боль?
В Windows 11 панель задач выглядит аккуратно ровно до того момента, пока ты не начинаешь реально за ней работать. У меня стандартный набор: десяток рабочих тулзов (от Android Studio до всяких утилит), пачка лаунчеров и игр, пара папок и нужных ссылок.
Выбора обычно три, и все так себе:
1. Забить весь таскбар иконками — в итоге он превращается в приборную панель Боинга.
2. Свалить всё на Рабочий стол — привет, обои, которые ты больше никогда не увидишь под тремя десятками ярлыков.
3. Лезть в меню «Пуск» — лишние клики, задумчивая анимация и куча визуального шума.
Мне хотелось простую вещь: нажимаешь на иконку папки прямо в панели задач (или в трее) — и за 1 миллисекунду вылетает маленькое аккуратное окошко в нативном стиле Windows 11 со всеми нужными ярлыками. Без жирного Electron под капотом, без сжирания полгигабайта оперативки и без платных подписок в Steam.
Как в дело вмешался вайбкодинг
Писать велосипед с нуля руками ради утилиты «для себя любимого» вечером после дел — звучит как отличный план забросить проект на этапе File -> New Project. Поэтому я решил проверить на практике, каково это — пилить десктопный софт под чутким руководством LLM. Спойлер: вайбкодинг на C# и WPF с вызовами нативных функций Windows (P/Invoke) — это отдельный вид аттракциона. Сначала всё идёт бодро: каркас приложения, модели, привязки данных. А потом ты говоришь: «Сделай мне настоящий акриловый блюр Windows 11, скруглённые углы через DWM и чтобы папка пинилась в таскбар в один клик» — и начинается магия:
• То окно решает, что оно не хочет закрываться при потере фокуса.
• То DwmEnableBlurBehindWindow и SetWindowCompositionAttribute превращают фон в мутное стекло из девяностых.
• То вытаскивание иконок из .exe и .lnk решает устроить дискотеку с координатами.
В итоге половину времени ты кайфуешь от того, как быстро собирается UI и логика, а вторую половину — допиливаешь напильником нюансы Win32 и наводишь красоту, чтобы это ощущалось как родная часть системы, а не поделка из 2007-го.
Что умеет TrayFolderFlyout сейчас?
Так как я пилил тулзу под свой сценарий (у меня там сейчас спокойно живут папки типа Soft на 30 элементов и Games на 9 элементов), я закинул туда всё, чего мне реально не хватало:
• Нативный дизайн под Windows 11: тёмная тема Fluent Design Dark, настоящий Acrylic Blur (размытие фона), аккуратные скруглённые углы и плавные анимации.
• Мгновенный отклик (~1 мс): написано на C# / .NET / WPF без тяжёлых веб-обёрток — меню открывается моментально по клику.
—
Два режима работы папок: • Своя сборка (Custom Collection): закидываете любые .exe, ярлыки .lnk, файлы, локальные папки и даже обычные веб-ссылки (http:// и https://). • Папка на диске (Disk Folder): привязываете реальную директорию на диске, и её содержимое отображается во всплывающем меню в реальном времени.
—
• Нормальная кастомизация сетки и вида: можно менять иконку самой папки (выбрать из встроенных или подгрузить свою), настроить сетку (3, 4 или 5 элементов в ряд) и переключаться между режимами «Иконка + подпись» и «Только крупные иконки».
• Удобный менеджер с Live WYSIWYG предпросмотром: прямо в окне настроек видно, как именно будет выглядеть ваш Flyout, работает Drag & Drop (просто перетаскиваете файлы в окно и меняете их порядок мышкой), плюс есть кнопка «Тест Flyout». • Закрепление на панели задач в 1 клик: создали папку, нажали «Закрепить в панели задач» — готово. Автозагрузка с Windows тоже на месте.
Где скачать и пощупать?
Проект полностью бесплатный и открытый под лицензией MIT. Если вы тоже любите чистый рабочий стол и минимализм на панели задач — забирайте, пользуйтесь, пишите фидбек или кидайте ишью:
- Репозиторий на GitHub: INTI1337/TrayFolderFlyout
Скачать готовую сборку (v1.0.0): в разделе Releases доступны как обычный установщик (Setup на базе Inno Setup), так и Portable-версия, которую не нужно устанавливать.
Если утилита окажется полезной не только мне одному - буду рад звезде в репозитории и идеям в комментариях, чего еще туда не хватает добавить.