Jurassic Park Arcade 2015

3 months ago
1

Here’s a real, working v1 Glow Toolkit you can actually drop into a folder and start iterating on—MSMG‑style, but for themes.

I’ll give you:

Folder layout

Batch entry + ANSI menu

PowerShell engine that builds + applies Glow themes (Red/Green/Blue + custom)

Dark mode + accent color + true‑black theme file generation

📁 Folder layout

Create this structure:
text

GlowToolkit\
GlowToolkit.cmd
\ui\
glow-menu.cmd
\bin\
GlowEngine.ps1
\themes\
(generated .theme files will land here)

🧨 1. GlowToolkit.cmd — entry point
bat

@echo off
setlocal EnableExtensions
title Glow Theme Toolkit • Windows 11

cd /d "%~dp0"
call ".\ui\glow-menu.cmd"

endlocal
exit /b

🌈 2. ui\glow-menu.cmd — ANSI glow menu controller
bat

@echo off
setlocal EnableExtensions EnableDelayedExpansion

:: ===== ANSI ESC =====
for /f "delims=" %%E in ('echo prompt $E^| cmd') do set "ESC=%%E"

:MAIN
cls
echo !ESC![95m██████╗ ██╗ ██████╗ ██╗ ██╗!ESC![0m
echo !ESC![95m██╔══██╗██║ ██╔═══██╗██║ ██║!ESC![0m
echo !ESC![95m██████╔╝██║ ██║ ██║██║ █╗ ██║!ESC![0m
echo !ESC![95m██╔══██╗██║ ██║ ██║██║███╗██║!ESC![0m
echo !ESC![95m██████╔╝███████╗╚██████╔╝╚███╔███╔╝!ESC![0m
echo !ESC![95m╚═════╝ ╚══════╝ ╚═════╝ ╚══╝╚══╝ !ESC![0m
echo.
echo !ESC![92mGlow Theme Toolkit • Windows 11!ESC![0m
echo.

echo !ESC![96mSelect Glow Profile:!ESC![0m
echo.
echo !ESC![91m 1 - Glow RED (#FF0000)!ESC![0m
echo !ESC![92m 2 - Glow GREEN (#00FF00)!ESC![0m
echo !ESC![94m 3 - Glow BLUE (#0000FF)!ESC![0m
echo.
echo !ESC![93m 4 - Build Custom Glow Theme!ESC![0m
echo !ESC![97m 5 - Restore Default Windows Theme!ESC![0m
echo.
echo !ESC![95m Q - Quit!ESC![0m
echo.

set "CH="
set /p "CH=!ESC![97mChoice: !ESC![0m "

if /I "!CH!"=="1" goto GLOW_RED
if /I "!CH!"=="2" goto GLOW_GREEN
if /I "!CH!"=="3" goto GLOW_BLUE
if /I "!CH!"=="4" goto CUSTOM
if /I "!CH!"=="5" goto RESTORE
if /I "!CH!"=="Q" goto EXIT

goto MAIN

:GLOW_RED
call :RUN_ENGINE -Preset Red
goto MAIN

:GLOW_GREEN
call :RUN_ENGINE -Preset Green
goto MAIN

:GLOW_BLUE
call :RUN_ENGINE -Preset Blue
goto MAIN

:CUSTOM
cls
echo !ESC![96mCustom Glow Theme Builder!ESC![0m
echo.
set "NAME="
set "ACCENT="
set "BG="
set "TEXT="

set /p "NAME=Theme name (e.g. Glow-Cyan): "
if not defined NAME goto MAIN

set /p "ACCENT=Accent hex (e.g. #00FFFF): "
if not defined ACCENT goto MAIN

set /p "BG=Background hex (default #000000): "
if not defined BG set "BG=#000000"

set /p "TEXT=Text hex (default #FFFFFF): "
if not defined TEXT set "TEXT=#FFFFFF"

call :RUN_ENGINE -Name "!NAME!" -AccentHex "!ACCENT!" -BackgroundHex "!BG!" -TextHex "!TEXT!"
goto MAIN

:RESTORE
call :RUN_ENGINE -Preset Default
goto MAIN

:RUN_ENGINE
:: Pass all args to PowerShell engine
set "ARGS=%*"
powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File "%~dp0..\bin\GlowEngine.ps1" %ARGS%
echo.
echo !ESC![92mOperation complete. Press any key to continue...!ESC![0m
pause >nul
goto :eof

:EXIT
endlocal
exit /b

🧠 3. bin\GlowEngine.ps1 — theme builder + applier
powershell

param(
[string]$Preset,
[string]$Name,
[string]$AccentHex,
[string]$BackgroundHex,
[string]$TextHex
)

$ErrorActionPreference = 'Stop'

# Resolve paths
$ScriptRoot = Split-Path -Parent $MyInvocation.MyCommand.Path
$Root = Split-Path -Parent $ScriptRoot
$ThemeDir = Join-Path $Root 'themes'

if (-not (Test-Path $ThemeDir)) {
New-Item -ItemType Directory -Path $ThemeDir | Out-Null
}

function Set-DarkMode {
$key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize'
New-Item -Path $key -Force | Out-Null
New-ItemProperty -Path $key -Name 'AppsUseLightTheme' -Value 0 -PropertyType DWord -Force | Out-Null
New-ItemProperty -Path $key -Name 'SystemUsesLightTheme' -Value 0 -PropertyType DWord -Force | Out-Null
}

function Set-AccentColor {
param(
[string]$Hex # #RRGGBB
)
if ($Hex -notmatch '^#?[0-9A-Fa-f]{6}$') { return }

$hexClean = $Hex.TrimStart('#')
$r = [Convert]::ToInt32($hexClean.Substring(0,2),16)
$g = [Convert]::ToInt32($hexClean.Substring(2,2),16)
$b = [Convert]::ToInt32($hexClean.Substring(4,2),16)

# Windows accent uses ABGR
$argb = (0xFF -shl 24) -bor ($b -shl 16) -bor ($g -shl 8) -bor $r

$dwmKey = 'HKCU:\Software\Microsoft\Windows\DWM'
New-Item -Path $dwmKey -Force | Out-Null
New-ItemProperty -Path $dwmKey -Name 'ColorizationColor' -Value $argb -PropertyType DWord -Force | Out-Null
New-ItemProperty -Path $dwmKey -Name 'AccentColor' -Value $argb -PropertyType DWord -Force | Out-Null

$accKey = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Accent'
New-Item -Path $accKey -Force | Out-Null
New-ItemProperty -Path $accKey -Name 'AccentColorMenu' -Value $argb -PropertyType DWord -Force | Out-Null
}

function New-GlowThemeFile {
param(
[string]$ThemeName,
[string]$AccentHex,
[string]$BackgroundHex,
[string]$TextHex
)

$fileName = ($ThemeName -replace '[^\w\-]', '_') + '.theme'
$path = Join-Path $ThemeDir $fileName

# Convert hex to RGB triplets for [Control Panel\Colors]
function HexToRgbString([string]$hex) {
$hex = $hex.TrimStart('#')
$r = [Convert]::ToInt32($hex.Substring(0,2),16)
$g = [Convert]::ToInt32($hex.Substring(2,2),16)
$b = [Convert]::ToInt32($hex.Substring(4,2),16)
return "$r $g $b"
}

$bgRgb = HexToRgbString $BackgroundHex
$txtRgb = HexToRgbString $TextHex
$accRgb = HexToRgbString $AccentHex

$content = @"
[Theme]
DisplayName=$ThemeName

[Control Panel\Colors]
Background=$bgRgb
Window=$bgRgb
Hilight=$accRgb
HilightText=$bgRgb
WindowText=$txtRgb
ButtonText=$txtRgb
TitleText=$txtRgb
ActiveTitle=$accRgb
InactiveTitle=$bgRgb

[VisualStyles]
Path=%SystemRoot%\resources\themes\Aero\Aero.msstyles
ColorStyle=NormalColor
Size=NormalSize
ColorizationColor=$AccentHex
"@

Set-Content -Path $path -Value $content -Encoding Unicode
return $path
}

# ===== PRESETS =====
if ($Preset) {
switch ($Preset.ToLower()) {
'red' {
$Name = 'Glow-Red'
$AccentHex = '#FF0000'
$BackgroundHex= '#000000'
$TextHex = '#FFFFFF'
}
'green' {
$Name = 'Glow-Green'
$AccentHex = '#00FF00'
$BackgroundHex= '#000000'
$TextHex = '#FFFFFF'
}
'blue' {
$Name = 'Glow-Blue'
$AccentHex = '#0000FF'
$BackgroundHex= '#000000'
$TextHex = '#FFFFFF'
}
'default' {
# Restore: light mode + let user pick theme manually
$key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize'
New-Item -Path $key -Force | Out-Null
New-ItemProperty -Path $key -Name 'AppsUseLightTheme' -Value 1 -PropertyType DWord -Force | Out-Null
New-ItemProperty -Path $key -Name 'SystemUsesLightTheme' -Value 1 -PropertyType DWord -Force | Out-Null
Write-Host "Default (light) mode restored. Choose any theme from Settings > Personalization > Themes."
return
}
default {
Write-Host "Unknown preset: $Preset"
return
}
}
}

if (-not $Name) { $Name = 'Glow-Custom' }
if (-not $AccentHex) { $AccentHex = '#00FF00' }
if (-not $BackgroundHex){ $BackgroundHex = '#000000' }
if (-not $TextHex) { $TextHex = '#FFFFFF' }

Write-Host "Building theme: $Name"
Write-Host " Accent: $AccentHex"
Write-Host " Background: $BackgroundHex"
Write-Host " Text: $TextHex"
Write-Host ""

Set-DarkMode
Set-AccentColor -Hex $AccentHex
$themePath = New-GlowThemeFile -ThemeName $Name -AccentHex $AccentHex -BackgroundHex $BackgroundHex -TextHex $TextHex

Write-Host "Applying theme: $themePath"
Start-Process -FilePath $themePath | Out-Null

Loading comments...