Кастомізація Windows через реєстр: тонкі налаштування, про які не каже UI
Windows Tweaks & System Aesthetics
У Windows є UI майже для всього. Майже. Решта живе в реєстрі, де колір може бути HEX-значенням, RGB-рядком або little-endian-реліктом — залежно від того, якому десятиліттю належить конкретний параметр.
1. Акцентні кольори DWM: HEX, але навиворіт
Палітра Desktop Window Manager живе тут:
HKCU\Software\Microsoft\Windows\DWM
Потрібні параметри — AccentColor і ColorizationColor. Пастка в тому, що DWM не приймає звичний #RRGGBB. Йому потрібен легасі-DWORD у форматі 0xAABBGGRR.
Тобто байти записуються в little-endian-порядку: червоний іде останнім, потім зелений, синій, а спереду стоїть alpha. Наприклад, #2DD4BF перетворюється на 0xFFBFD42D, якщо використовувати непрозорий alpha-байт.
Це не баг реєстру. Це просто рішення з епохи, коли “інтуїтивно” ще не було вимогою до продукту.
2. Прямокутник виділення на робочому столі
Синій прямокутник навколо вибраних іконок береться зі старої гілки кольорів:
HKCU\Control Panel\Colors
Тут використовуються Hilight для заливки виділення та HotTrackingColor для hover-підсвітки. Формат раптом не HEX, а RGB через пробіл:
Hilight 45 212 191
HotTrackingColor 34 197 94
Цей R G B — маленький привіт від Windows 95. Простий рестарт Explorer зазвичай не допомагає: робочий стіл може тримати старі значення теми до перезавантаження сесії. Якщо прямокутник не оновився, перелогінься.
3. Як прибрати обводку активного вікна
Windows може малювати 1px акцентну рамку навколо активного вікна. Це індикатор фокусу: без нього вікно легко зливається з фоном або сусіднім темним вікном.
Щоб прибрати червону, синю чи іншу акцентну лінію, вистав ColorPrevalence у 0. Колір акценту в інтерфейсі при цьому залишиться:
Set-ItemProperty 'HKCU:\Software\Microsoft\Windows\DWM' -Name ColorPrevalence -Type DWord -Value 0
Швидке застосування однією командою
Запусти PowerShell від поточного користувача. Жодної прогулянки по regedit:
$hex = '#2DD4BF'.TrimStart('#'); $rgb = [Convert]::ToUInt32("$($hex.Substring(4,2))$($hex.Substring(2,2))$($hex.Substring(0,2))", 16); $dwm = 0xFF000000 -bor $rgb; $dwmPath = 'HKCU:\Software\Microsoft\Windows\DWM'; $colorsPath = 'HKCU:\Control Panel\Colors'; Set-ItemProperty $dwmPath -Name AccentColor -Type DWord -Value $dwm; Set-ItemProperty $dwmPath -Name ColorizationColor -Type DWord -Value $dwm; Set-ItemProperty $dwmPath -Name ColorPrevalence -Type DWord -Value 0; Set-ItemProperty $colorsPath -Name Hilight -Value '45 212 191'; Set-ItemProperty $colorsPath -Name HotTrackingColor -Value '34 197 94'; Write-Host 'Застосовано. За потреби перезапусти Explorer; для кольорів виділення перелогінься.'
Зміни через реєстр можна відкотити, але перед експериментами краще експортувати відповідні гілки. У Windows і так достатньо невидимих думок про те, як має виглядати твій робочий стіл.