WinFuture-Forum.de: *.theme-Datei für eigene Windows 7-Themes anpassen (Deutsche Anleitung - WinFuture-Forum.de

Zum Inhalt wechseln

Hinweis

Alle neuen Themen werden vor der Veröffentlichung durch einen Moderator geprüft und sind deshalb nicht sofort sichtbar.
Seite 1 von 1

*.theme-Datei für eigene Windows 7-Themes anpassen (Deutsche Anleitung Der Feinschliff beim Deskmodding


#1 Mitglied ist offline   Taxidriver05 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.609
  • Beigetreten: 14. Mai 09
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Schkopau - OT Ermlitz
  • Interessen:- Ausgehen,
    - Sport (am liebsten an der frischen Luft),
    - Musik (machen und hören),
    - Grafik- und Webdesign,
    - gut Essen,
    - an PCs basteln (für den schnellen Euro ;-)),
    uvm.

geschrieben 06. Oktober 2011 - 01:18

Nachdem ich heute mal wieder etwas an meinem eigenen Desktop-Design weitergearbeitet habe, habe ich mich mal speziell der *.theme-Datei gewidmet und bin dabei auf einige Schwierigkeiten gestoßen. Die Modifikationen beziehen sich dabei keineswegs auf visuelle Effekte, sondern umfassen vielmehr die Integration des eigenen Designs ins System.
Zwar wird auf dieser MSDN-Seite in englischer Sprache der Aufbau einer Theme-Datei erläutert, doch wird eine korrekte Konfiguration dieser Datei nicht ersichtlich.
Mit diesem Tutorial möchte ich an dieser Stelle etwas Abhilfe schaffen.

Was ist zur Modifikation der Theme-Datei nötig?

Im Grunde benötigt man nicht mehr als einen einfachen Text-Editor.
Es sei an dieser Stelle allerdings noch gesagt, dass eine Modifikation innerhalb des Systemverzeichnisses auf Grund fehlender Berechtigungen nicht vorgenommen werden kann.

Was sind die einzelnen Bestandteile der Theme-Datei?

Im Folgenden möchte ich auf die Bestandteile der Theme-Datei näher eingehen und die einzelnen Code-Segmente etwas näher erläutern.

[Theme] 
DisplayName=My Current Theme 
BrandImage=c:\Fabrikam\brand.png



Dieser Bereich sollte sich praktisch selbst erklären. Durch den Wert "DisplayName" wird der Name des Designs in der Übersicht definiert. Durch den Wert "BrandImage" das eigene Design in der Übersicht mit einem eigenen Logo versehen werden. Hierbei muss auf den absoluten Pfad der Grafik verwiesen werden. Dafür empfiehlt sich die Verwendung einer PNG-Grafik.

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

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

; 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


Mit diesen Werten können die Icons für die systemeigenen Shortcuts "Computer", "Dokumente", "Netzwerk", "Papierkorb" geändert werden. Auch hier muss auf die entsprechende Grafik verwiesen werden. Das Code-Beispiel verweist auf die Standard-Grafiken.
Dieser Eintrag folgt direkt auf den "[Theme]"-Eintrag.

[Control Panel\Colors] 
ActiveTitle=10 36 106 
Background=166 202 240 
Hilight=10 36 106 
HilightText=255 255 255 
TitleText=255 255 255 
Window=255 255 255 
WindowText=0 0 0 
Scrollbar=212 208 200 
InactiveTitle=128 128 128 
Menu=212 208 200 
WindowFrame=0 0 0 
MenuText=0 0 0 
ActiveBorder=212 208 200 
InactiveBorder=212 208 200 
AppWorkspace=128 128 128 
ButtonFace=212 208 200 
ButtonShadow=128 128 128 
GrayText=128 128 128 
ButtonText=0 0 0 
InactiveTitleText=212 208 200 
ButtonHilight=255 255 255 
ButtonDkShadow=64 64 64 
ButtonLight=212 208 200 
InfoText=0 0 0 
InfoWindow=255 255 225 
GradientActiveTitle=166 202 240 
GradientInactiveTitle=192 192 192



Dieser Bereich ist optional und definiert die Farbwerte bestimmter Desktop-Elemente.Somit ist mit diesem Bereich durchaus noch eine visuelle Anpassung möglich.

[Control Panel\Cursors] 
AppStarting=%SystemRoot%\cursors\aero_working.ani 
Arrow=%SystemRoot%\cursors\aero_arrow.cur 
Crosshair= 
Hand=%SystemRoot%\cursors\aero_link.cur 
Help=%SystemRoot%\cursors\aero_helpsel.cur 
IBeam= 
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 
Link=



Dieser Bereich definiert die einzelnen Symbole des Mauszeigers. Auch hier muss auf die entsprechenden Dateien verwiesen werden.

[Control Panel\Desktop] 
Wallpaper=%WinDir%\web\wallpaper\Windows\img0.jpg
TileWallpaper=0
WallpaperStyle=2
ScreenSaveActive=0



Dieser Bereich kümmert sich um den Desktop-Hintergrund und beinhaltet drei wichtige Konfigurations-Elemente.
Wallpaper: Hier wird der Pfad zur Hintergrund-Grafik angegeben, sofern es sich um eine einzelne Bilddatei handelt. Zulässige Dateiformate sind dabei .bmp, .gif, .jpg, .png oder .tif.

TileWallpaper: Dies kann den Wert 0 oder 1 annehmen und legt fest, ob die Hintergrundgrafik gekachelt werden soll. Was dabei wofür steht, sollte klar sein.

WallpaperStyle: Dieser Eintrag kann die Werte 0, 2, 6 oder 10 annehmen.
Zu den Parametern:
  • 0: Die Grafik wird zentriert, sofern "TileWallpaper=0" oder gekachelt, wenn "Tilewallpaper=1".
  • 2: Die Grafikwird über den gesamten Bildschirm gestreckt.
  • 6: Die Grafik wird soweit gestreckt, dass sie entsprechend der Abmessungen der Grafik genau in den Bildschirm passt. Es ist hierbei möglich, dass der Desktop nicht vollständig ausgefüllt wird.
  • 10: Die Grafik wird soweit gestreckt, dass sie entsprechend der Abmessungen der Grafik den Desktop vollständig aufüllt. Es ist hierbei möglich, dass die Hintergrundgrafik nicht vollständig angezeigt wird, da möglicherweise einzelne Bereiche abgeschnitten werden.
ScreenSaveActive: Dieser Wert legt fest, ob der Bildschirmschoner standardmäßig eingeschaltet werden soll.



[Slideshow] 
Interval=1800000 
Shuffle=1 
ImagesRootPath=%ProgramFiles%\fabrikam\wallpaper 
Item0Path=%ProgramFiles%\fabrikam\wallpaper\ocean.jpg 
Item1Path=%ProgramFiles%\fabrikam\wallpaper\mountain.jpg 
Item2Path=%ProgramFiles%\fabrikam\wallpaper\river.jpg



Dieser Bereich ist optional und ist für die Verwendung wechselnder Hintergrundgrafiken gedacht. Der Wert "Interval" legt fest, in welchem Zeitabstand der Hintergrund wechselt. Die Angabe erfolgt hierbei in Millisekunden. Der Wert "Shuffle" legt fest, ob die Grafiken zufällig wechseln sollen oder ob sie entsprechend ihrer Reihenfolge im entsprechenden Verzeichnis angezeigt werden sollen. Der Wert "ImagesRootPath" definiert das Verzeichnis, aus dem die Hintergrundgrafiken geladen werden sollen. Auch hier sind dieselben Dateitypen zulässig, wie bei einer einzelnen Grafik. Die Werte "ItemXPath" schränken die Auswahl der Grafiken aus einem bestimmten Verzeichnis ein. Jede ausgewählte Grafik muss separat eingetragen werden. Mit dem zusätzlichen Eintrag RSSFeed lassen sich auch Grafiken direkt aus einem RSS-Feed laden. Hierbei muss die vollständige Adresse zur Grafil angegeben werden.


[Control Panel\Desktop\WindowMetrics]  
[Metrics] 
IconMetrics=76 0 0 0 139 0 0 0 139 0 0 0 1 0 0 0 245 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 144 1 0 0 0 0 0 0 0 0 0 0 84 97 104 111 109 97 0 119 0 0 7 0 0 0 0 0 216 31 7 0 28 52 1 1 216 31 7 0 176 36 1 1  
NonclientMetrics=84 1 0 0 1 0 0 0 16 0 0 0 16 0 0 0 18 0 0 0 18 0 0 0 245 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 188 2 0 0 0 0 0 0 0 0 0 0 84 97 104 111 109 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 15 0 0 0 245 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 188 2 0 0 0 0 0 0 0 0 0 0 84 97 104 111 109 97 0 0 80 37 11 0 0 0 0 0 140 221 6 0 227 115 247 119 2 40 11 0 7 0 0 0 18 0 0 0 18 0 0 0 245 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 144 1 0 0 0 0 0 0 0 0 0 0 84 97 104 111 109 97 0 0 0 0 0 0 60 222 6 0 50 71 252 119 120 1 7 0 76 73 252 119 8 6 7 0 245 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 144 1 0 0 0 0 0 0 0 0 0 0 84 97 104 111 109 97 0 119 0 0 7 0 120 1 7 0 120 1 7 0 40 37 11 0 120 1 7 0 120 1 7 0 245 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 144 1 0 0 0 0 0 0 0 0 0 0 84 97 104 111 109 97 0 0 92 1 0 0 136 4 0 0 40 37 1 1 0 0 7 0 184 221 6 0 46 75 232 119 



Jetzt wird es etwas komplizierter. Der "Metrics"-Bereich hat auch Einfluss auf die visuelle Darstellung. In dieser optionalen Einstellungen können Abmessungen deklariert werden. So lassen sich darüber Rahmenbreite, Icongröße oder Scrollbar-Breiten angeben. Die Werte "IconMetrics" und "NonclientMetrics" werden als Binärwerte angegeben.


[VisualStyles] 
Path=%ResourceDir%\Themes\Aero\Aero.msstyles 
ColorStyle=NormalColor 
Size=NormalSize
ColorizationColor=0X7298844C
Transparency=1



Dies ist wohl der wichtigste Eintrag überhaupt. Denn ohne diesen Eintrag wird euer Design erst gar nicht eingebunden. Der Wert "Path" verweist dabei auf die *.msstyles-Datei, die euer Design verwenden soll. Darüber könnt ihr auch festlegen, ob euer Design Aero aktivieren soll, oder nicht.
Der Wert "ColorStyle" legt das Farbschema eures Designs fest. Ggf. existiert bei eurer Designvorlage bereits ein entsprechndest Verzeichnis mit den notwendigen Dateien. Der Wert "Size" legt die Symbolgröße fest. Durch den Wert "ColorizationColor" wird eine Systemfarbe definiert. Und "Transparency" aktiviert oder deaktiviert AERO.

Hinweis: Bei der Verwendung DIESER Variante ist von der Verwendung des "Metrics"-Bereiches abzuraten, da es sonst zu massiven Darstellungsfehlern kommen kann.


[Sounds] ; "Quirky" sound scheme 
SchemeName=@%SystemRoot%\System32\mmres.dll,-819



oder alternativ:


[Sounds] 
[AppEvents\Schemes\Apps\.Default\SystemExclamation] 
DefaultValue=%WinDir%\media\chord.wav  
[AppEvents\Schemes\Apps\.Default\SystemExit] 
DefaultValue=%WinDir%\media\tada.wav  
[AppEvents\Schemes\Apps\.Default\SystemHand] 
DefaultValue=%WinDir%\media\chord.wav  
[AppEvents\Schemes\Apps\.Default\SystemQuestion] 
DefaultValue=%WinDir%\media\chord.wav  
[AppEvents\Schemes\Apps\.Default\SystemStart] 
DefaultValue=%WinDir%\media\The Microsoft Sound.wav  
[AppEvents\Schemes\Apps\Explorer\EmptyRecycleBin] 
DefaultValue=%WinDir%\media\ding.wav



Hiermit definiert man die verwendeten Systemsounds. Erstere Methode verweist hierbei auf ein vorhandenes Soundschema. Die 2. Variante ordnet jedem Ereignis einen entsprechenden Sound zu.


[boot] 
SCRNSAVE.EXE=%WinDir%\System32\bubbles.scr



Durch diesen Eintrag verweist man auf den zu verwendenden Bildschirmschoner, sofern dieser aktiviert ist. Daher ist dieser Eintrag optional.


[MasterThemeSelector] 
MTSM=DABJDKT



Dieser Eintrag MUSS so in jeder Theme-Datei vorhanden sein, damit das System das eigene Design als gültig einstuft. Andernfalls wird das Design erst gar nicht mit aufgelistet.

Nachdem nun die Theme-Datei mit den entsprechenden Einträgen gefüttert wurde, muss diese nun abgespeichert werden. Man achte hierbei aber darauf, dass der Dateiname nicht auf ".txt", sondern auf ".theme" endet. Ebenso sollte man der Datei den Namen des Designs geben. Das Verzeichnis, das euer Design beinhaltet sollte denselben Namen (in derselben Schreibweise) tragen. Sowohl das Verzeichnis, als auch die gleichnamige Theme-Datei muss dann nur noch in das Verzeichnis "X:\Windows\Resources\Themes\" kopiert werden. "X" beschreibt hierbei das Systemlaufwerk.
Öffnet man dann das "Anpassen"-Fenster, so ist Das Design in der Übersicht der Designs mit aufgelistet. Bei der Auswahl des Eigenen Designs werden dann die eigenen Einstellungen, die man in der Theme-Datei vorgenommen hat, direkt angewendet.

Zur Veranschaulichung poste ich hier mal den vollständigen Code meiner aktuell verwendeten Theme-Datei. Es sei hier noch anzumerken, dass dieser Code noch Werte beinhaltet, die einige Zusatzanpassungen vornehmen, aber für die essentielle Konfiguration nicht erforderlich sind.



[Theme]
; Windows 7 - IDS_THEME_DISPLAYNAME_AERO
DisplayName=firefly Design
BrandImage=C:\Windows\Resources\Themes\firefly Design\en-US\firefly_logo.png

[Control Panel\Desktop]
Wallpaper=%SystemRoot%\Resources\Themes\firefly Design\wallpapers\firefly_logo_mod.jpg
TileWallpaper=0
WallpaperStyle=6
Pattern=

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

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

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

; Recycle Bin - SHIDI_RECYCLERFULL SHIDI_RECYCLER
[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
Crosshair=
Hand=%SystemRoot%\cursors\aero_link.cur
Help=%SystemRoot%\cursors\aero_helpsel.cur
IBeam=
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
Link=

[VisualStyles]
Path=%SystemRoot%\resources\Themes\firefly Design\firefly Design.msstyles
ColorStyle=NormalColor
Size=NormalSize
ColorizationColor=0X1AFFFFFF
Transparency=1
Composition=1
VisualStyleVersion=10

[boot]
SCRNSAVE.EXE=

[MasterThemeSelector]
MTSM=DABJDKT

[Sounds]
; IDS_SCHEME_DEFAULT
SchemeName=Ultimate-Extras Glas

[AppEvents\Schemes\Apps\.Default\.Default]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\ding.wav
[AppEvents\Schemes\Apps\.Default\ChangeTheme]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\tada.wav
[AppEvents\Schemes\Apps\.Default\CriticalBatteryAlarm]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Battery Critical.wav
[AppEvents\Schemes\Apps\.Default\DeviceConnect]
DefaultValue=%SystemRoot%\Media\Schemes\Glas\Windows Hardware Insert.wav
[AppEvents\Schemes\Apps\.Default\DeviceDisconnect]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Hardware Remove.wav
[AppEvents\Schemes\Apps\.Default\DeviceFail]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Hardware Fail.wav
[AppEvents\Schemes\Apps\.Default\FaxBeep]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Notify.wav
[AppEvents\Schemes\Apps\.Default\LowBatteryAlarm]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Battery Low.wav
[AppEvents\Schemes\Apps\.Default\MailBeep]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Notify.wav
[AppEvents\Schemes\Apps\.Default\Maximize]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Restore.wav
[AppEvents\Schemes\Apps\.Default\MenuCommand]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Menu Command.wav
[AppEvents\Schemes\Apps\.Default\Minimize]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Minimize.wav
[AppEvents\Schemes\Apps\.Default\PrintComplete]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Print Complete.wav
[AppEvents\Schemes\Apps\.Default\RestoreDown]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Minimize.wav
[AppEvents\Schemes\Apps\.Default\RestoreUp]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Restore.wav
[AppEvents\Schemes\Apps\.Default\SystemAsterisk]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Error.wav
[AppEvents\Schemes\Apps\.Default\SystemExclamation]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Exclamation.wav
[AppEvents\Schemes\Apps\.Default\SystemExit]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Shutdown-Long.wav
[AppEvents\Schemes\Apps\.Default\SystemHand]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Critical Stop.wav
[AppEvents\Schemes\Apps\.Default\SystemNotification]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Balloon.wav
[AppEvents\Schemes\Apps\.Default\SystemQuestion]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Exclamation.wav
[AppEvents\Schemes\Apps\.Default\WindowsLogoff]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Logoff.wav
[AppEvents\Schemes\Apps\.Default\WindowsLogon]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Logon.wav
[AppEvents\Schemes\Apps\.Default\WindowsUAC]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows User Account Control.wav
[AppEvents\Schemes\Apps\Explorer\BlockedPopup]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Pop-up Blocked.wav
[AppEvents\Schemes\Apps\Explorer\EmptyRecycleBin]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Recycle.wav
[AppEvents\Schemes\Apps\Explorer\FaxError]
DefaultValue=
[AppEvents\Schemes\Apps\Explorer\FaxLineRings]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\ringin.wav
[AppEvents\Schemes\Apps\Explorer\FaxSent]
DefaultValue=
[AppEvents\Schemes\Apps\Explorer\FeedDiscovered]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Feed Discovered.wav
[AppEvents\Schemes\Apps\Explorer\Navigating]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Navigation Start.wav
[AppEvents\Schemes\Apps\Explorer\SecurityBand]
DefaultValue=%SystemRoot%\Media\Schemes\Glass\Windows Information Bar.wav


[Slideshow]
Interval=60000
Shuffle=1
ImagesRootPath=C:\Windows\Resources\Themes\firefly Design\wallpapers


BORN STUPID? TRY AGAIN!

"Himmlische Ruhe und tödliche Stille haben dieselbe Phonzahl."
My Music
0

Anzeige



Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0