Custom Background Colors, Theme Editing, msstyles editing advice?


  1. Posts : 36
    Windows 10 Home 64 bit
       #1

    Custom Background Colors, Theme Editing, msstyles editing advice?


    Hi folks,

    So I have been playing with making my own custom themes, as many here have done (and shared here). However, I wanted to do a little more, and in the process I solved some of my own confusions but brought up new ones. So I wanted to post my process here so hopefully some of you can help me improve what I am doing... I have jumped into the world of editing the .theme files and (potentially) the .msstyles file, but would love some help decoding some of it. I can find almost no guides on the latter, and the guides on the former, such as this one from Microsoft Dev Center are clearly not written for Windows 10 because not all of the attributes are the same, and even then not everything is explained completely... A lot of this I could probably figure out if I spent many hours tweaking one thing at a time to see the result but hopefully others already have the knowledge...

    (For the purposes of this post I will use the moniker "NEW_THEME" to indicate the name of the theme I have been working on).

    My primary goal was a simple slide show background, and I used the method explained in these forums, about saving a theme for sharing. Easy enough. However, I am using photos of all different sizes, so they are made to fit the screen but the background color is visible. I was not happy with any of the available background colors. So I navigated to the Theme folder (%User%\AppData\Local\Microsoft\Windows\Themes) and that is where you will find folder for all of your installed themes. So inside that folder I went to the folder NEW_THEME and inside there was another folder holding all of the slide show images, called "DesktopBackground," as well as the file NEW_THEME.theme. Opening the .theme file, I was able to navigate to the "Control Panel\Colors" and change the background color, and it worked great.

    Of course, I had no way to compile this new .theme file into the .themepack file that is used to install the theme on various machines. So I wrote a small batch file which could be run from any thumb drive and would install the theme as well as copying the modified .theme file to the proper location, and it worked perfectly. That batch file (which was in the same folder as the .themepack file and the altered .theme file) was as follows:
    start NEW_THEME.deskthemepack
    TIMEOUT /T 4
    xcopy "%~dp0NEW_THEME.theme" %localAppData%\Microsoft\Windows\Themes\NEW_THEME\ /y
    start "" "%localAppData%\Microsoft\Windows\Themes\NEW_THEME\NEW_THEME.theme"
    exit
    That did exactly what I wanted - it installed the new theme, copied the altered .theme file, and then by running the altered file it refreshed the screen. The timeout command is to accommodate slower machines, to ensure that the file is actually created before the altered one is moved to replace it. Of course, it should have worked without copying the file--simplying running the altered file should work. However, if the user at any point switches to a different theme and then tries to switch back (in the Settings->Personalization->Theme->Theme Settings window) it would recall the original, unaltered file and no have the background color I want.

    However, then I realized that I really want the Taskbar and Start to use the same color as the background, and I want transparency enabled. Looking through the .theme file, it seems like these are enabled, but it seems that the .theme file is overridden by the switches in the Settings->Personalization->Colors window. If they are switched off there then it does not matter what data is in the .theme file, it seems. So I modified my batch command to include a small registry tweak to enable them both, resulting in this:
    start NEW_THEME.deskthemepack
    TIMEOUT /T 4
    xcopy "%~dp0NEW_THEME.theme" %localAppData%\Microsoft\Windows\Themes\NEW_THEME\ /y
    start "" "%localAppData%\Microsoft\Windows\Themes\NEW_THEME\NEW_THEME.theme"

    TIMEOUT /T 1
    Reg Add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize" /v EnableTransparency /t REG_DWORD /d 1 /f
    Reg Add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize" /v ColorPrevalence /t REG_DWORD /d 1 /f

    taskkill /f /im explorer.exe
    start explorer.exe
    exit
    Which works well and does what I want. So I should be satisfied, right?

    Well, I am, for the most part. But I learned one interesting thing, and simultaneously have been brimming with ideas and questions.

    The cool thing I learned: The whole point of this was to modify the background to a color not available in the Windows 10 swatches. Well, I found that whatever color you set for that stays in the background, and can be available for the next theme you create.

    That's confusing. Let me explain. I created my theme, saved it for sharing and enabled it, modified my .theme file and replaced the original in my computer. So far, makes sense. Then, without manually clicking or adjusting the color settings, I created the theme again and saved it with a different name. Now, here is the cool part--the new theme file I created already had the modified color settings in its .theme file. That's right, I could just run the .themepack file on any computer and it would give me the modified, custom color as the background. No need to run that original batch file.

    So, that's pretty cool. It means you can go in and make edits and then if you save everything correctly you can share those customizations without forcing the user to copy an altered file, without running a batch, everything is on the up and up, nothing hacky at all. And if the background color stays the same during this process, I wondered what else would stay the same (and hence no need for editing the .theme file). Such as, if I created a custom theme that used a different .msstyle file, such as the aerolite.msstyle file that is available pre-installed in Windows 10 but somewhat hidden), would that also be saved?

    I am going to post the altered .theme file now, because some of my questions reference it. The lines that I edited I have made bold, just o make them stick out, obviously the original file has no formatting as such.
    ; Copyright © Microsoft Corp.

    [Theme]
    ; Windows 7
    DisplayName=NEW_THEME
    ThemeId={885FBC04-A22E-49A6-9450-07E30B2AC6BC}

    ; Computer
    [CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon]
    DefaultValue=%SystemRoot%\System32\imageres.dll,-109

    ; UsersFiles
    [CLSID\{59031A47-3F72-44A7-89C5-5595FE6B30EE}\DefaultIcon]
    DefaultValue=%SystemRoot%\System32\imageres.dll,-123

    ; Network
    [CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\DefaultIcon]
    DefaultValue=%SystemRoot%\System32\imageres.dll,-25

    ; Recycle Bin
    [CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon]
    Full=%SystemRoot%\System32\imageres.dll,-54
    Empty=%SystemRoot%\System32\imageres.dll,-55

    [Control Panel\Cursors]
    AppStarting=%SystemRoot%\cursors\aero_working.ani
    Arrow=%SystemRoot%\cursors\aero_arrow.cur
    Hand=%SystemRoot%\cursors\aero_link.cur
    Help=%SystemRoot%\cursors\aero_helpsel.cur
    No=%SystemRoot%\cursors\aero_unavail.cur
    NWPen=%SystemRoot%\cursors\aero_pen.cur
    SizeAll=%SystemRoot%\cursors\aero_move.cur
    SizeNESW=%SystemRoot%\cursors\aero_nesw.cur
    SizeNS=%SystemRoot%\cursors\aero_ns.cur
    SizeNWSE=%SystemRoot%\cursors\aero_nwse.cur
    SizeWE=%SystemRoot%\cursors\aero_ew.cur
    UpArrow=%SystemRoot%\cursors\aero_up.cur
    Wait=%SystemRoot%\cursors\aero_busy.ani
    DefaultValue=Windows Aero

    [Control Panel\Desktop]
    Wallpaper=%USERPROFILE%\AppData\Local\Microsoft\Windows\Themes\NEW_THEME\DesktopBackground\001 (1).jpg
    Pattern=
    MultimonBackgrounds=0
    PicturePosition=3

    [VisualStyles]
    Path=%SystemRoot%\resources\themes\Aero\Aero.msstyles
    ColorStyle=NormalColor
    Size=NormalSize
    ColorizationColor=0XA66D0913

    Transparency=1
    Composition=1
    VisualStyleVersion=10
    AutoColorization=0

    [boot]
    SCRNSAVE.EXE=%SystemRoot%\system32\Bubbles.scr

    [MasterThemeSelector]
    MTSM=RJSPBS

    [Sounds]
    ; IDS_SCHEME_DEFAULT
    SchemeName=@mmres.dll,-800

    [Control Panel\Colors]
    Scrollbar=200 200 200
    Background=109 9 19
    ActiveTitle=153 180 209
    InactiveTitle=191 205 219
    Menu=240 240 240
    Window=255 255 255
    WindowFrame=100 100 100
    MenuText=0 0 0
    WindowText=0 0 0
    TitleText=0 0 0
    ActiveBorder=180 180 180
    InactiveBorder=244 247 252
    AppWorkspace=171 171 171
    Hilight=51 153 255
    HilightText=255 255 255
    ButtonFace=240 240 240
    ButtonShadow=160 160 160
    GrayText=109 109 109
    ButtonText=0 0 0
    InactiveTitleText=0 0 0
    ButtonHilight=255 255 255
    ButtonDkShadow=105 105 105
    ButtonLight=227 227 227
    InfoText=0 0 0
    InfoWindow=255 255 225
    ButtonAlternateFace=0 0 0
    HotTrackingColor=0 102 204
    GradientActiveTitle=185 209 234
    GradientInactiveTitle=215 228 242
    MenuHilight=51 153 255
    MenuBar=240 240 240

    [Slideshow]
    ImagesRootPIDL=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 AHAlBAAAMBAAAAAAAAAAAAAAAAAAAAGAAAA

    Interval=500000
    Shuffle=1
    And that comes to my questions. These are not in any specific order, but:

    1) Can anyone confirm what takes precedence, from the values within the .theme file, the values in the .msstyle file that the .theme file references, and any hard switches (like Transparency) that the user adjusts?
    2) Can someone explain, in the Slideshow section of the .theme file, the "ImagesRootPIDL" variable and how it works? In the guide I link to above they reference a "ImagesRootPath" which makes sense, and you point it directly where you want. However that is not what happens in these custom made themes, as you can see, there is instead the ImagesRootPIDL and a crazy and unintelligible string of characters after it. This unintelligible string is important though, because if it is not there the theme will not find your images. Is it possible to use the ImagesRootPath command instead? It seems like it would make it easier when working within a theme file, especialy if you wanted to tweak anything. It would also let you call things like a users Pictures folder, or any of the other default folder that have unalterable paths.
    3) Is there somewhere in that .theme file that I can force the transparency or the taskbar/start menu color that I am missing? There could also be commands that aren't included in this file, never mind commands with different variables, but since I cannot find a comprehensive guide I am not sure.
    4) Following up on #3, I suppose, can anyone give a breakdown of the functions for all of the variables in the "VisualStyles" section as well as the "ControlPanel/Colors" and "MasterThemeSelector" sections? I feel like there are a lot of little tweaks possible here but I don't know what each variable actually changes and, like I said, testing them one at a time would take a while...
    5) Can anyone offer some help on navigating the craziness that is a .msstyle file? I am using the small, free msstyle editing program found here, and to be honest I have no idea what is going on in there. Which variable affect thing like windows title bars (active or inactive), and shadow, border depth, transparency, taskbar transparency, etc.?
    6) Assuming that there are no changes we can make to the .theme file that will force transparency and changing the taskbar color, does anyone know a batch command that can change it without tweaking the registry? It is a harmless tweak, obviously, but the less direct engaging with the registry the better, in my opinion, but I could not find any other way to make it happen except for what I listed above.

    I think that's it... Basically I want to see how many other modifications I can sneak into the .theme file itself, which I can then hopefully compile into a .themepack using the method above and not requiring runing a batch command. Then, on top of that, I want to see what additional functionality I can get out of playing in the .msstyle file, because if there is a lot at offer there I can make a new .msstyle file, place it in the same directory as the pre-existing ones, and reference it in my new .theme. Of course, that would require the batch command, in order to copy the file onto the users computer, but that is simple enough...

    Thanks for any and all thoughts and opinions!
      My Computer


  2. Posts : 120
    Windows 10 (duh)
       #2

    TLDR: don't mess with msstyles.

    As much as it's rewarding in having a true custom theme, it's not worth it if some update or something else broke things and you end up repairing/reinstalling Windows 10.
      My Computer


  3. Posts : 36
    Windows 10 Home 64 bit
    Thread Starter
       #3

    Thanks for the reply; I know my post is long, but if you read it you'll see that none of the methods I have used yet mess with msstyles, as I had the sneaking suspicion it was better to work around other ways. And the other ways work quite well, at that! I was just curious if there was anything in there that might be able to be tweaked...

    Windows 10 comes with both aero.msstyles and aerolite.msstyles available, though there is nothing anywhere that utilizes the latter. You could enable it and then create a regular themepack, and it should be included in the themepack as the referenced style, so no further hacking would be needed, which might be useful for people who want to build themes around aerolite instead of aero. That way you wouldn't me messing with the contents of the files at all, just referencing a different one...

    (Edit): PS - You'll notice the bulk of my questions are aimed at getting help to understand how every different variable included in a .theme file affects appearance...
    Last edited by Lekden; 24 Sep 2015 at 03:56. Reason: PS
      My Computer


  4. Posts : 120
    Windows 10 (duh)
       #4

    You could take a look at this: Solved Windows 10 Themes created by Ten Forums members - Page 50 - Windows 10 Forums
    It's just built-in theme engine, no extra tools or registry changes involved, and the included Readme contains some info about issues encountered. If you manually unpack the .deskthemepack (use something like 7-zip) you can see the raw .theme and all the settings nicely grouped by me. That's pretty much everything you can use in a theme, but note that many are not used at all by Windows 10.

    Fun fact: you can now disable the theme service, and since classic/basic style are long gone, Windows 10 reverts to aerolite mode. Changing themes still works, but only just a few settings are applied (like the accent color). High contrast themes will not work at all.
      My Computer


  5. TCB
    Posts : 1
    Windows 10 Pro 64bit
       #5

    Hi, I have downloaded a theme pack for windows 10 that allows for the text in the title bar to be white. I like the theme pack but I want to be able to edit it and change a color. For example I have changed the title bar color but I would like to make that color universal with other programs. I have included a screenshot of a program I run. The internal windows will change colors depending on the theme chosen. You can see the difference in the colors of the internal windows vs. the windows title bar. I want the internal to match the title bar. But when I change the title bar colors thinking it will change the window colors in the program, it doesn't. But changing themes will change them. I guess I need to edit something in the theme pack files. Not sure what and how to change it to make this work. Any help would be greatly appreciated. Thanks
    Custom Background Colors, Theme Editing, msstyles editing advice?-capture.png
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 17:34.
Find Us




Windows 10 Forums