A Catppuccin Mocha theme for the Steam client on Millennium, with native Windows acrylic.
The theme, a patched DWMX acrylic plugin, and a setup script that installs my whole Millennium setup.
-
Download the latest release and extract it.
-
Exit Steam.
-
In the extracted folder, run:
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -Apply -Configure
-
Start Steam. Mocha Steam is selected and DWMX is on.
Without -Apply, install.ps1 only shows what it would do. Add -SteamPath 'D:\Steam' if Steam lives somewhere else.
This installs Millennium if it is missing, the theme, DWMX, 23 plugins and my plugin settings. Run it in Windows PowerShell:
irm https://raw.githubusercontent.com/DavidHiFi/millennium-stuff/main/setup/Install-MochaSetup.ps1 | iex- If Millennium is missing, the official Millennium installer opens. Click through it.
- The script closes Steam, installs everything and merges your Millennium config after backing it up.
- Start Steam when it finishes.
To read the plan before anything changes, download the script and run it in audit mode:
Invoke-WebRequest https://raw.githubusercontent.com/DavidHiFi/millennium-stuff/main/setup/Install-MochaSetup.ps1 -OutFile Install-MochaSetup.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File .\Install-MochaSetup.ps1 -AuditAdd -SteamPath 'D:\Steam' for a Steam folder elsewhere, or -SkipMillenniumInstall to stop the script from starting the Millennium installer.
- Catppuccin Mocha: the Mocha palette with Blue and Lavender accents, across Library, Store, settings, friends and chat.
- Rounded controls: rounded cards, menus, dropdowns and buttons that keep their corners.
- Frosted dropdowns: dropdowns and notification popups blur what sits behind them. Popup menu cards use a solid Mocha fill, because acrylic does not show reliably on Steam's reused menu popups.
- Native acrylic: Windows 11 acrylic behind Steam's separate popup windows, through DWMX.
- Tidy library: game icons and ProtonDB indicators line up in one column.
- Library frame: the sidebar, the Downloads bar and the user panel sit inside one frame below the top bar.
- SpaceTheme options: sidebar behavior, fonts, window controls, gift-card visibility and favorite-friend status colors.
- Plugins: installs 23 plugins at the versions pinned in setup/manifest.json.
- Settings: writes my Millennium config and plugin settings, merged into yours.
- Safe re-runs: backs up your config and keeps plugin data such as the Gratitude friend list.
Important
Acrylic needs Windows 11 and Windows transparency effects turned on. Also turn on Mica & Acrylic plugin support in the theme options. Without them, Mocha Steam is a plain dark theme.
Note
Fonts are not included. The default font is Be Vietnam Pro. Install it, or pick a font you have in the theme options.
Warning
Steam updates can break parts of the theme. Selectors and popup behavior change between Steam versions. Open an issue with a screenshot when something looks wrong.
Four plugins to install by hand
These plugins publish no license, so this repo does not include their code. Install each one from Millennium's plugin store, or from its repository at the commit below. Millennium enables them once they are in place, because the config already lists them.
| Plugin | Repository | Commit |
|---|---|---|
adamraichu.auto-accept-custom-launch-args |
AdamRaichu/auto-accept-custom-launch-args | 084d32b |
browser_history |
ricewind012/steam-browser-history | 8214f36 |
easy-restart-reload-for-steam |
SaiyajinK/Easy-Restart-Reload-for-Steam | dc79ae2 |
steam-change-window-params |
ricewind012/steam-change-window-params | ee57e92 |
The auto-accept plugin turns off a Steam safety prompt for custom launch arguments. Read its README before you install it.
What the setup script does not copy
- Lua Tools Collection: my plugin for SteamTools Lua scripts lives in luatools-collection and is not installed.
- Personal data: Steam friend lists, Gratitude data, non-Steam playtime sessions, the list of installed Windows apps and proxy settings stay on my PC.
- Steam's own state: your account, library and window positions are not part of the setup.
Every plugin with its source and version is listed in NOTICE.md.
Repo layout and building DWMX
| Path | What it is |
|---|---|
themes/mocha-steam/ |
The theme. The MochaSteam repo holds the same files with skin.json at its root for Millennium's theme installer. |
plugins/dwmx/ |
The built DWMX plugin that the installers copy. |
plugins/dwmx-src/ |
The patched DWMX source. |
setup/ |
The full-setup script, its plugin manifest, config templates and vendored MIT plugins. |
configs/ |
An example Millennium config and the SpaceTheme commit the theme is synced to. |
docs/ |
Notes on the theme and on the DWMX acrylic patch. |
Build DWMX from plugins/dwmx-src with pnpm:
pnpm install
pnpm buildReports of Steam updates that break the theme help the most, with a screenshot, along with fixes to the setup script and the plugin manifest.
Thanks for the stars, the Steam client reports and the plugin fixes.
- Author: Myself, DavidHiFi
| Who | What |
|---|---|
| SpaceEnergy (SpaceTheme for Steam) | Mocha Steam is a fork of SpaceTheme (MIT), synced through commit ce67165, including ForgottenHero's hover-sidebar fix and EldinBegano's dropdown styling. |
| ejalxndr (DWMX) | The Window Styler (DWMX) plugin (Apache-2.0) that I patched for popup acrylic. |
| Catppuccin (catppuccin) | The Mocha color values. |
| Microsoft (Fluent UI System Icons) | The icon font that SpaceTheme ships (MIT). |
| luthor112 (GitHub) | Steam Collections Plus, Steam EasyGrid, Steam Librarian and Steam Taskbar Progress, included in setup/vendor/ (MIT). |
| SalvadorCorreia (Sortium) | Sortium, included in setup/vendor/ (MIT). |
| veygax (valve-internal-enabler) | Included in setup/vendor/ (MIT). |
| xwxfox (millennium-uwp-library-sync) | UWP Library Sync, included in setup/vendor/ (MIT). |
| Plugin authors (full list) | The 16 plugins the setup script downloads from their own releases, and the four installed by hand. |
| Steam Client Homebrew (PluginDatabase) | The approved repositories and commits the plugin manifest is pinned to. |
Built on Millennium, with PowerShell for the installers and pnpm with @steambrew/ttc for the DWMX build.
Missing or wrong credit? Open an issue and I'll fix it.
Most of this project's code was developed with AI coding agents, including Claude and OpenCode. No single AI agent made the project. The theme started as SpaceEnergy's SpaceTheme, and the plugins belong to their authors.
My changes are MIT, see LICENSE. SpaceTheme keeps its MIT license in themes/mocha-steam/, DWMX keeps Apache-2.0 in plugins/dwmx-src/, and every plugin keeps its own license.
Not affiliated with Valve or Steam Client Homebrew. Requires Steam on Windows and Millennium.