-
-
Notifications
You must be signed in to change notification settings - Fork 40
Configuration and registry reference
Use the OpenGlass GUI for normal configuration. Manual registry edits are intended for advanced users and require restarting OpenGlass or changing a system color setting before they take effect.
The GUI applies changes immediately. Save accepts the current registry state, while Revert or closing the editor may restore the values captured before editing. The executable remains asInvoker; an unelevated bootstrap process immediately relaunches it with runas. The elevated instance preserves the original interactive user's SID even when alternate administrator credentials are supplied.
The official GUI and preset packages manage one system-wide effect configuration. Only the five Windows colorization base values and their Override forms are written per-user. This is a write-location policy for those official tools, not a removal of the runtime's per-user configuration support.
The injected DLL accepts every documented value from either of these locations and always resolves the current session in this order:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWMHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DWM- the built-in default
This applies equally to colorization, glass, theme, and advanced values. A value in HKCU shadows the same value in HKLM.
The official GUI uses the following write-location policy to present one predictable machine-wide OpenGlass configuration while preserving Windows' native per-user colors:
| GUI write location | Settings |
|---|---|
Original interactive user's HKEY_USERS\<SID>\SOFTWARE\Microsoft\Windows\DWM
|
ColorizationColor, ColorizationAfterglow, ColorizationColorBalance, ColorizationAfterglowBalance, and ColorizationBlurBalance, including each Override form |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\DWM |
Every other public OpenGlass setting exposed by the GUI |
This table is a placement convention used by the official GUI and preset packages, not a restriction imposed by the DLL. Transformation packs, plug-ins, and manual configurations may place any value in HKCU or HKLM and receive the same user-before-machine lookup behavior.
For the five overridable Windows colorization properties, each scope contains an Override name and a base name. Their complete precedence is HKCU Override → HKCU base → HKLM Override → HKLM base → default. This is still an HKCU-before-HKLM rule: neither machine value can override a value supplied by the current user.
When the GUI finds settings outside its recommended write locations, it offers to migrate them transactionally. This does not deprecate HKCU configuration: the injected DLL continues to read every supported setting from HKCU before HKLM, and transformation packs may continue using either hive. Migration only canonicalizes values managed by the official GUI and preset packages, preserves the previous effective values, and backs up both hives. A failed or declined migration does not enter the editor or change the existing configuration.
Missing keys use built-in defaults. Inactive and maximized variants inherit from their base key when absent. The reset button removes stored copies from both hives and returns to the inherited value or default.
| Key name | Type | Description |
|---|---|---|
ColorizationColor(Override)ColorizationColorInactiveColorizationAfterglow(Override)
|
DWORD | ARGB glass color; alpha is ignored. Inactive color is used by Vista glass. Afterglow is used by Windows 7 glass. |
ColorizationColorBalance(Override)ColorizationAfterglowBalance(Override)ColorizationBlurBalance(Override)
|
DWORD | Windows 7 Aero composition parameters. |
GlassOpacityGlassOpacityInactive
|
DWORD | Vista glass color intensity from 0–100%; default 63%. |
ColorizationColorCaption and its Inactive/Maximized variants |
DWORD | Caption color in 0xBBGGRR. 0xFFFFFFFF uses the system, 0xFFFFFFFE reads theme TEXTCOLOR, and 0xFFFFFFFD selects automatically. |
ColorizationOpaqueBlend |
DWORD | Controls whether the glass effect is opaque; default 0. |
ColorizationBaseTransparentColorizationBaseMaximizedColorizationBaseOpaque
|
DWORD | ARGB blend base. 0xFFFFFFFE selects automatically and 0xFFFFFFFF reads theme COLORIZATIONCOLOR. |
ColorizationOpaqueBlendPriority |
DWORD |
0 uses Vista selection, 1 uses Windows 7 selection, and 0xFFFFFFFF selects from GlassType. |
ColorizationOpacity and its Inactive/Maximized variants |
DWORD | Additional 0–100% glass blending factors. 0xFFFFFFFE selects automatically and 0xFFFFFFFF reads theme COLORIZATIONOPACITY. |
Built-in Vista presets write ColorizationColorOverride and derive GlassOpacity from the preset alpha. Windows 7 presets write color, afterglow, and the three balance Override values. Presets do not change opaque blend, reflection intensity, inactive colors, or advanced blending settings.
Enable transparency is the inverse presentation of ColorizationOpaqueBlend. The historical color-intensity controls use the classic 10–85% range. Windows 7 values use the documented dwm_colorization_calculator conversion.
| Key name | Type | Description |
|---|---|---|
GlassType |
DWORD |
0 for Windows Vista glass (default), 1 for Windows 7 glass. |
GlassOverrideAccent |
DWORD | Replaces accent-blur surfaces such as the Windows 10 taskbar; default 0. |
CustomThemeReflection |
String | Reflection texture stretched over the desktop and rendered above glass. |
ColorizationGlassReflectionIntensity |
DWORD | Overall reflection multiplier from 0–100%; default 0%. |
ColorizationGlassReflectionOpacity and its Inactive/Maximized variants |
DWORD | Base reflection opacity. 0xFFFFFFFE selects automatically and 0xFFFFFFFF reads the theme reflection opacity. |
ColorizationGlassReflectionParallaxIntensity |
DWORD | Reflection parallax intensity; default 13%. |
ColorizationGlassReflectionPolicy |
DWORD | Reflection targets: title bar 1<<0, Aero Peek 1<<2, Aero Snap 1<<3, or 0xFFFFFFFF everywhere possible. |
BlurDeviation |
DWORD | Legacy registry name retained for compatibility; it does not name the current renderer parameter. The runtime decodes it as BlurAmount = min(BlurDeviation / 10 × 3, 250) for the non-D3D system-compositor backend. Default 30 therefore produces BlurAmount 9; 0 disables blur. The GUI exposes the rounded BlurAmount from 0–30 and writes the corresponding legacy encoding. |
BlurOptimization |
DWORD |
CCustomBlur optimization: 0 speed, 1 balance, 2 quality. |
RoundRectRadius |
DWORD | Glass geometry radius; default 0, Windows 7 style 6. |
CustomThemeMaterial |
String | Texture tiled above glass regions. |
MaterialOpacity |
DWORD | Material opacity; default 0. |
UseDirect3DRendering |
DWORD | Set to 1 for the D3D11 renderer. It ignores BlurDeviation and BlurOptimization and uses a fixed Gaussian σ of 3 px. |
BlurDeviation originated in Glass8, where the original blur-radius/deviation relationship and conversion were literal. A later Glass8 D2D effect chain introduced 0.5× internal downsampling, which changed the visual response and made the result appear blurrier. OpenGlass retained the same registry key and value convention for compatibility, while converting it internally to compositor BlurAmount with the historical ×3 mapping. The key name therefore records its compatibility lineage rather than the current renderer parameter.
CCustomBlur mirrors the dwmcore system-compositor backend used for the WinRT/Win2D GaussianBlurEffect, whose projected property is BlurAmount. BlurDeviation survives only as the public registry compatibility name; do not interpret it as the current renderer's standard deviation. Although this backend programs D2D1_DIRECTIONALBLURKERNEL_PROP_STANDARD_DEVIATION internally, that private kernel does not produce the same appearance as D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION at the same numeric value. The GUI therefore calls the non-D3D value Blur amount, not σ or radius. Sampling and occlusion expansion is derived separately and is not a configurable blur value.
| Key name | Type | Description |
|---|---|---|
CaptionButtons |
DWORD | Caption-button style: 0 vanilla, 1 Vista, 2 Windows 7, 3 Windows 8. |
CenterCaption |
DWORD |
0 left, 1 centered, 2 Windows 8 centering. |
TextGlowMode |
DWORD |
0 none, 1 atlas glow, 2 atlas glow respecting theme opacity, 3 composited theme glow; the high word specifies glow size. |
CustomThemeAtlas |
String | PNG theme atlas with the same layout as the active msstyle. An adjacent .layout file may describe its layout. |
DisableModernBorders |
DWORD | Set to 1 to disable Windows 11 modern rounded borders. |
The GUI writes these values to HKLM as part of its machine-wide configuration policy. The DLL does not require that location: an HKCU value takes precedence in exactly the same way as every other OpenGlass setting.
| Key name | Type | Description |
|---|---|---|
DisableGlassOnBattery |
DWORD | Controls the response to Windows energy saver. 1 makes the rendered glass opaque while energy saver is active; 0 leaves its normal transparency unchanged. Default: 1. |
DisabledHooks |
DWORD | Bitmask that omits selected handler hooks at startup: 0x1 CaptionTextHandler, 0x2 AccentOverrider, 0x4 GlassFrameHandler, 0x8 GlassReflectionHandler, and 0x10 CaptionMetricsTweaker. Bits may be combined; 0 installs all enabled handlers. Disabling a handler also disables the behavior implemented by that handler. Default: 0. |
GlassSafetyZoneMode |
DWORD | Controls the extra rendering area used to protect blurred glass from occlusion clipping. 0 disables it, 1 applies it when the tracked glass coverage is visible, and 2 applies it for every otherwise eligible visual-tree draw. Values above 2 are clamped to 2. Default: 1. |