• Авторизация


Создание тем на Windows 10 03-02-2025 22:02 к комментариям - к полной версии - понравилось!


Настроение сейчас - отпуск - не кантовать!



О, месье знает толк в извращениях…

Из старого французского анекдота

Купила я себе новый ноутбук, а там уже семёрочка любимая не ставится. Пришлось с тяжёлыми вздохами ставить десятку. Но душа продолжала просить кастомизации, и пошла я во Всемирную сеть курить матчасть по темостроительству на десятке. Так вот. Нельзя было просто взять и поставить тему в Windows 7; но в сравнении с установкой тем на Windows 10 – это как «Ласковый май» в сравнении с Rammstein.

Подготовка системы

  1. Windows 10 не может быть просто себе Windows 10: у неё есть сборка. И то, что бодро и с песней работало на одной сборке, может отвалиться при переходе на другую. Экспериментировать и править.
  2. Мало того, что на Windows 10 надо устанавливать патч UxTheme – надо ещё найти, какой встанет на эту отдельно взятую сборку (не говоря уже о революционных обновлениях, которые на эту Винду приходят периодически). К этому надо ещё StartIsBack – иначе ни панель задач, ни меню «Пуск» не поменяются.
  3. Да и в том StartIsBack надо прошарить варианты меню и выбрать тот, в котором будет отображаться наша тема (в программке все эти варианты показаны и описаны). Если стоит ClassicShell – выкинуть, иначе панель задач будет глючить.
  4. И то не всё! Сам WindowsStyleBuilder надо брать последней сборки, который Portable, и в него загрузить обновлённые классы от drakulaboy (дай бог ему всяческих нороков щи санатате).
  5. Этот WindowsStyleBuilder очень любит вылетать, поэтому желательно регулярно сохраняться. Если не сохранились, можно зайти в папочку \Data\WSB\Testing и пошарить, что там осталось.
  6. Всё, что в 7 Винде делалось через дополнительные папки и патч Explorerframe.dll, в 10 Винде делается прямо в Windows Style Builder – НО при условии установки OldNewExplorer и особой папки Shell с особым файлом shellstyle.dll опять-таки именно для этой сборки Винды (ставится в папку с темой в Resources). Папка при тестировании чего-нибудь через WSB вылетает, так что надо потом ставить заново.
  7. В Windows 10 есть две собственные темы интерфейса: светлая и тёмная. Соответственно, и свою темку мы можем сделать со светлым или с тёмным интерфейсом. Но если с тёмным, кое-какие элементы работать не будут. Придётся добавлять новые классы специально для тёмной версии темы (см. ниже).
  8. Звуковая схема: максимальный битрейт – 16 кбайт.
  9. Анимированные курсоры: везде должна быть одинаковая частота кадров (JFIF).

Редактирование файла .msstyles

Опять же, нельзя просто взять и использовать тот же файл, что для Windows 7 – путаница в классах убивает напрочь тему. И нельзя строить её из родного Aero, потому что в родном Aero 10-й Винды отсутствуют жизненно важные классы в меню «Пуск»! Как быть:

1)     Можно взять рабочую тему на Windows 10, заботливо сделанную другими людьми и выложенную в сеть, потестировать её на своём компе, и если всё в порядке, просто переделать её под себя из темы на Windows 7, благо открыть её в программе всё-таки можно. Методом копирования и вставки. Абсолютно всего.

2)     Через Stylehack: на сайте VirtualCustoms, например, есть специальные стайлхаки для переделки тем из одной версии Винды в другую. Скачиваем нужный и кладём в папку программы App\WSB\StyleHacks. Открываем свою тему Windows 7, кликаем Import Stylehack, выбираем, применяем, тестим, сохраняем.

Стайлхаки можно делать самому. Например, если тема по какой-то причине безнадёжно запорота и легче сделать заново, чем понять, что там не так. Щёлкаем правой кнопкой по всему классу, выбираем самый верхний Export. Опять щёлкаем той же кнопкой, выбираем Export all marked properties to a Stylehack file. В самом стайлхаке пишем какое-нибудь название и какой-нибудь коммент (хоть одну точку), и сохраняем. Теперь идём в новую тему, кликаем Import Stylehack, вуаля. Можно прямо вместе с изображениями.

Если мы замутили идеальную темку для определённой сборки Винды, а потом обновились и обнаружили, что темка уже не идеальна (то есть какие-то элементы больше не работают), это значит, что надо добавлять новые классы. Тут три способа:

  1. Можно пойти на сайт Virtualcustoms и нарыть там новые классы для своей новой Винды в виде ClassMap, вгрузить их в свой WindowsStyleBuilder (см. Замена классов), отредактировать и сохранить тему.
  2. А можно открыть чужую тему, где всё норм, приметить, как называется нужный нам класс; пойти в нашу тему, нажать AddClasses и написать название этого класса точно так же, как он написан в чужой теме. Новый класс упадёт в раздел Unknown, где мы сделаем всё, что нам надо, отредактируем, потестим и сохраним.
  3. Но таким способом можно добавить только класс; если же нужны подклассы, надо идти другим путём, а именно – стайлскрипт. Куча всяких стайлскриптов есть на сайте VirtualCustoms; при желании их можно редактировать самому. Чтобы воспользоваться стайлскриптом, его надо положить в папку программы \App\WSB\Data\StyleScripts; открыть свою тему, с зажатым Shift’ом нажать Import Stylehack и выбрать название своего стайлскрипта. Все новые классы и свойства упадут туда, где они в стайлскрипте прописаны. 

В принципе, пути к ресурсам те же, что и для Windows 7, но есть нюансы:

2778691_Snimok (700x328, 136Kb)

  • Наконец я нашла, где работает NewAppButton! Это выделение новой программы в меню «Пуск», когда в Start is Back включена функция «отображать все программы списком, как в Windows XP» (1).
  • NSCHost – это не меню, когда через него ищешь файл, а половина меню «Программы», когда в StartisBack функция отображения программ включена как в Windows 7, то есть без списка (2).
  • Чтобы меню «Пуск» было неквадратным, частично или полностью прозрачным (3), в ветке Start Menu (For SIB Only) > Menus > Aero и в Start Menu (For SIB Only) > Panels > Aero > Top > Search > More Results везде налепить свойство COMPOSITED:BOOL с галочкой, но в Start Menu (For SIB Only) > Panels > Aero > Top его быть не должно – изображения индексируются! 

2778691_Snimok_1_ (700x423, 163Kb)

  • Когда грузишь кнопки окна в Basic, на фон самой кнопки «Закрыть» (4) надо хоть что-нибудь поставить, хоть самый маленький ряд глифов – иначе ни одна кнопка отображаться не будет.
  • Верхнюю рамку (5) надо делать с 1-пикселевыми ножками, а не с 2 – а то в Проводнике появляется тонюсенькая полоска под заголовком. Системные окна нормально смотрятся.
  • Кнопки по адресу Buttons, Boxes, & Controls > Buttons > Navigation работают и в Проводнике, панели в Панели управления (боковая и верхняя) грузятся в Explorer & Shell > Explorer > ControlPanel > ControlPanel > NavigationPane, значок собственно 10 Винды и оригинальности сборки (гыыgrin) в окне «Система» - в Explorer & Shell > Explorer > ControlPanel > ControlPanel > ContentPane, и даже фоны Проводника по известному адресу без необходимости патчить (6). Добавляем свойства изображения и далее по классике. Чтобы стрелочки навигации не разъезжались в системных окнах типа «Настройка подключения», надо отрегулировать их размер в разделе Size, брать поменьше: если стрелочка размера 25 - надо написать ширину и высоту 20. Тогда и в Проводнике, и в системных окнах всё красиво. Не забываем, что работает это всё только с включённым OldNewExplorer и папкой Shell.
  • Выделение иконок рабочего стола (7) – в Windows 10 (For Testing Purposes Only) > Desktop ListView > ListItem.
  • Долбаное выделение заголовка всех программ, кроме тех, что используют собственную подсветку (8) – это COLORIZATIONCOLOR в Color (Globals). Чтобы выставить его таким, как нам надо, надо взять код ПРОТИВОПОЛОЖНОГО цвета в Фотошопе, затем этот код переконвертировать из числа Hexadecimal в число Decimal на https://www.rapidtables.com/convert/number/hex-to-decimal.html и полученный результат вставить с минусом в Windows Style Builder. Также на него влияет COLORIZATIONOPACITY в Windows & Caption Buttons > Aero > DWM Window > Frames > Window > Top, меняя цвет; но по какому принципу оно работает – хрен его знает. Экспериментировать.

2778691_Snim (700x40, 17Kb)

  • Чтобы иконки на панели задач (9), когда ни одно окно не открыто, не разъезжались по всей ширине, надо в Taskbar & SystemTray > TaskBand > Basic > TaskBand > TaskItemButtonпервые 2 цифры в CONTENTMARGINS выставить этак 15. То же и в других ветках TaskBand > Basic.
  • В Toolbars, Headers, & Rebar > Toolbars & Headers > Toolbar > Button CONTENTMARGINS должны быть по нулям, иначе пропадают значки в трее (10).
  • А цвет языка (11) скрыт вTaskbar & System Tray > System Tray > Basic > Clock! А вот цвет часов (12) надо делать в Taskbar & System Tray > TaskBand > Aero > TaskBand через TEXTCOLOR, или Taskbar & System Tray > TaskBand > Aero > TaskBand > TaskItemButton > Open (в зависимости от сборки). При этом меняется цвет текста вкладок на панели задач! Чтобы этого не было, прописывать его отдельно в положениях TaskItemButton.
  • В 10 Винде можно поставить кнопку «Пуск» (13) в теме. Да. Но работает с неё только одно изображение, перекрываясь цветом элементов из «Параметров». Чтобы сделать нормальную, красивую кнопку «Пуск» с 3 положениями, её надо отправить в C:\Program Files (x86)\StartIsBack\Orbs, причём в формате BMP-32, и тогда она появится для выбора в StartisBack.

 !  Чтобы превратить PNG в BMP-32, надо открыть кнопку «Пуск» из explorer.dll (там она в таком формате и есть) и свой PNG в Фотошопе; наложить PNG сверху и выбрать «Загрузить область селекции» – она загрузится по границам прозрачности. Потом «Сохранить область селекции», выбрать в списке каналов альфу и «Заменить канал». Всё. Объединить слои и сохранить.

  • В Explorer & Shell > Explorer > ReadingPane > Background нельзя удалять свойство FILLCOLOR: перестаёт грузиться Проводник!

·        2778691_Snim_1_ (700x455, 148Kb)

  • Чтобы не было чёрного уголка в полосе прокрутки и там, где окно за уголок растягиваешь (14), надо в Buttons, Boxes, & Controls > Scroll Bars & Trackers > ScrollBar добавить FILLCOLOR.
  • В окне «Сохранить как» в сборке RS часть панели (15) не красится с помощью Fillcolor в Styles> MenuStyle> PopUpGutter, а красится цветом из Lists, Menus, & Tabs> ContextMenu> PopUpGutter. Что означает, что если эту панель и меню некоторых программ (типа Блокнота), выбор папок в адресной строке проводника и меню выбора вида значков в Проводнике хочется сделать разных цветов – будет эпик фейл. Можно попробовать пофиксить градиентной заливкой либо однотонной с границей: если FILLCOLOR сделать как в окне «Сохранить как», BORDERCOLOR выбрать того же цвета, что меню, а размер сделать 2, в меню исчезнет мерзкая полосочка рядом с разделителем. Но будут полосочки в окне «Сохранить как», и Popup Gutter в выборе папок и вида значков в Проводнике останется того же цвета, что и панель «Сохранить как». В сборке Винды TH же этот кусок красится в цвет Explorer& Shell> Explorer> ItemsView> ItemsView: FILLCOLOR. Как поступать, что перекрашивать и что терпеть – личное дело каждого комсомольца.

·        2778691_Snim_2_ (700x537, 155Kb)

  • Кнопки окна (16) применяются иногда из ветки Windows & CaptionButtons > Aero > DWMWindow > Controls > Captions > Window, а иногда из Windows & CaptionButtons > Aero > DWMWindow > Controls > Windows 10 TH2 Captions. Всё зависит от версии Винды. Тестить.
  • В контекстном меню заедает выделение пунктов (17). Чтобы этого не было, его надо делать не через картинку, а через цвет: в ветке Lists, Menus, & Tabs > Immersive Context Menu > PopUpItem BGTYPE – BORDERFILL, BORDERSIZE – 1, BORDERCOLOR, FILLCOLOR в пунктах Hot и Disabled Hot. (То же происходит, если левой кнопкой щёлкнуть на звук в Панели задач - менять тем же способом Lists, Menus, & Tabs > Context Menu > PopUpItem)
  • Вес элементов не так важен, как их размер. Видимо, учитывается общая сумма.
  • Если в Taskbar & SystemTray > TaskBand > Basic > TaskBand > TaskItemButton в CONTENTMARGINS последние 2 цифры слишком маленькие, нельзя будет перетаскивать панель задач вбок – Start is Back глючит.
  • В Tabs не делать прозрачной Pane – не грузится текст в системных окнах типа Планировщика заданий (18).

 

[540x417]

  • Как в 7-ке, можно поставить изображение фоном на всплывающий эскиз окна в панели задач (19). Для этого в Taskbar & SystemTray > TaskBand > Aero > TaskBandExtendedUI > Thumbnails & Controls> Borderфоном сделать IMAGEFILE, а в ListItem это изображение вставить. Применится лишь одно без вариантов, к открытому окну не применяется. При этом ВСЕ элементы в этой ветке сдвинутся на два вперёд (значок для закрытия эскиза будет по адресу ShadowTop, и т.п.).
  • Если хочется сделать высокохудожественную рамку с завитушками, закруглениями и прочими свистелками и перделками (20), следует помнить: придать ей прозрачность в некоторых местах стандартными средствами нельзя (может быть, разве что каким-нибудь AeroGlass или BlackWindow, но с их приколами недолго и систему угробить). Гораздо безопаснее поступить следующим образом: непрозрачные куски отдать под рамку, а где начинается прозрачность, там откоцать и применить как тени окна. Если они ещё и непрямые, придётся достаточно долго поплясать с бубном, чтобы привести их к общему знаменателю. Решить можно путём добавления прозрачных пикселей по бокам картинки.
  • Когда мы наконец применим свою великолепную тему и положим компьютер в сон, при его пробуждении можем обнаружить неприятнейший баг: элементы цветов WINDOW и BTNFACE в Fonts, Colors and SystemMetrics становятся по умолчанию белыми и светло-серыми (21). Проблема не с темой, а с Виндой. Идём в редактор реестра по адресу [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\DefaultColors] и удаляем этот параметр к чертям собачьим.

Об иконках

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

Можно заменять каждую иконку по отдельности (например, с помощью Restorator), но это под силу только истинным мазохистам. Продвинутые люди ставят иконпаки, то есть пакет иконок. Поставить, а равно и создать пакет иконок можно с помощью следующих программ:

  • 7tsp – заменяет системные файлы;
  • IconPackager – не заменяет, но требует отдельного кордебалета с бубном;
  • iPack – нельзя заменять отдельные иконки, только объединять уже заменённые библиотеки в установщик. Но зато установщик устанавливается как самостоятельная программа и никаких дополнительных ресурсов не требует.

Я выбрала IconPackager на свою голову. Программка капризная до беспредела. Первое и самое главное: все иконки должны иметь размер максимум 256х256. Если какая-то иконка меньше или больше, она при попытке применить иконпак немедленно летит в папку Backup. Поскольку все иконки пронумерованы и используются строго по порядку, оставшиеся иконки начинают броуновское движение и с каждой неудачной попыткой всё поправить перемешиваются всё больше и больше. Поэтому необходима следующая техника безопасности:

  1. Подготовить как можно больше иконок заранее, а лучше – все. Формат только .ico, наибольший размер 256х256 (должен присутствовать обязательно). Чтобы не путаться, присвоить им свои собственные имена.
  2. Вгрузить иконки согласно разделам и сохранить проект, НО НЕ ПРИМЕНЯТЬ!
  3. Пойти по адресу C:\Users\Public\Documents\Stardock\IconPackager, найти папку своего иконпака и оттуда ВСЕ ИКОНКИ вгрузить в программу заново, теперь уже по порядковым номерам. Путь к иконке виден внизу, на панели статуса. При этом заметить, что некоторые позиции берут иконки из предыдущих позиций: например, иконка для панели управления, которая встречается не один раз, или три подряд иконки для разных типов архивов, или три подряд иконки для плейлистов. Не путать с ситуацией, когда какая-то иконка не вгрузилась (что в этой программке тоже бывает!). Проверить можно повторным сохранением проекта: если следующая по порядку иконка опять не поменялась – значит, надо использовать какую-то предыдущую. На счастье, таких случаев не так много. В основном это одни и те же типы файлов. Проверять надо открытием иконки, потому что эскиз в Проводнике обычно остаётся старым.
  4. Когда всё по порядку, вылизано и вычищено, ТОЛЬКО ТОГДА применять иконпак. Обнаружить, что некоторые иконки так и не изменились, а некоторые изменились, но не так, как надо, несмотря на правильный размер и местоположение. Объясняется это тем, что в самой программе пути к некоторым иконкам просраны. Например, иконка для файла PNG использует иконку с номером 90, а для файла GIF – 77. И то, что в программе под этими номерами прописаны совершенно другие расширения файлов, их не колышет абсолютно. Заменять их надо вручную: просто заменить файл в папке.
  5. Применить иконпак, закрыть программу и больше ничего НЕ ТРОГАТЬ. Потому что если Вы откроете её опять, то обнаружите, что она по своей воле перемешала очень многие пути к иконкам. Если Вы, не восстановив эти пути, примените иконпак, иконки перемешаются к чёрту и всё придётся восстанавливать из исходников. Когда у Вас 200+ иконок, это не смешно. Ну его нафиг.
  6. Несколько слов по поводу изготовления иконок. Иконка нужна для того, чтобы отображать суть файла. То есть если даже расширения скрыты, должно быть понятно, какой это файл. То есть можно поставить на звуковой файл рог Боромира, но тогда надо всегда помнить, что рог Боромира обозначает звук. Мало того: оно и в размере 32х32 должно быть видно, что это рог Боромира, а не непонятная загогулинка. Поэтому в маленьких размерах надо использовать максимально упрощённые, различимые и понятные символы. Особенно если иконки однотонные, что вообще-то нежелательно: цвет – дополнительный отличительный признак. Но если уж они такие, символ должен быть особенно чётким. Иначе «как же Вы поймёте, что перед Вами?» © Горбачёв, фильм «Чернобыль».

Заключение

Всё. Творите с нами, творите как мы, творите лучше нас. И самое главное, как писали в статье про Интернет в моём старом школьном дневнике в далёком 2003-ем, когда мир был ещё молод:

2778691_Snim_4_ (275x184, 14Kb)НЕ ВТРАЧАЙТЕ САМОКОНТРОЛЮ!

вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Создание тем на Windows 10 | Schwarze_Motte - Шкаф Чёрной Моли | Лента друзей Schwarze_Motte / Полная версия Добавить в друзья Страницы: раньше»