😎 Маленькие хитрости разработчиков Microsoft
В проводнике Windows есть возможность накладывать поверх значка файла или папки дополнительный значок (оверлей). Самый распространенный пример - значки статуса синхронизации у файлов и папок OneDrive.
❌ Однако система может отобразить не более 15 разных значков! Не на одном файле или папке, а вообще.
Это ограничение уходит корнями в 16-разрядную версию общих элементов управления Windows 95. Рэймонд Чен объясняет, что исправить это не решаются, потому что изменения придется вносить одновременно в множество модулей Windows. Короче, работает - не трожь 🙄
ℹ️ Начиная с Windows 10 в проводнике появился столбец "Статус", где могут отображаться значки разных приложений. Но оверлей все равно используется, если задан вид "плитка" или любой вид значков.
Приложения прописывают свои значки оверлея в двух разделах реестра ShellIconOverlayIdentifiers. Для каждого значка создается свой подраздел. Windows выстраивает и считывает их в алфавитном порядке. Вот мы и подошли к хитрости разработчиков Microsoft, которые свою систему хорошо знают.
👉 Создатели #OneDrive вставляют пробелы в начале имени своих подразделов реестра, чтобы оказаться в начале списка. Тем самым они обеспечивают отображение своих значков в проводнике. (Если только конкуренты не вставят больше пробелов ;)
Находкой поделился в чате товарищ dartraiden. Видимо, наткнулся на это, разбираясь в причине отсутствия некоторых значков у TortoiseSVN ✌️