Skip to content

Repository files navigation

CSS Loader Companion for Millennium

The Millennium plugin for - CSS Loader for Millennium.

Desktop app Runtime: Millennium License: GPL-3.0

CSS Loader Companion connects the CSS Loader desktop app and backend to Steam without relying on CSS Loader’s fixed port 8080 CDP connection. It receives the app’s ordered, resolved CSS injects and applies them directly through Millennium across Desktop, Big Picture, and Steam’s isolated BrowserViews. Theme, profile, setting, and CSS changes are synchronized live without requiring a Steam restart.

Main highlights

  • Applies CSS Loader's resolved CSS directly as ordered <style> elements.
  • Preserves exact CSS text instead of loading converted or rewritten bundles.
  • Reconciles additions, changes, removals, and cascade order every time the desktop backend publishes a new revision.
  • Covers Desktop, Big Picture, popups, Quick Access, Main Menu, and notification BrowserViews.
  • Uses Millennium's controlled in-process APIs and per-plugin CDP proxy without exposing an external debugging port.
  • Keeps the user's selected Millennium theme active and layers CSS Loader after it.
  • Validates matching protocol versions and content hashes before applying new state.
  • Removes stale legacy bundle links during migration to the direct runtime.

The companion intentionally remains lightweight: theme parsing, store access, downloads, profiles, dependencies, and configuration continue to belong to the CSS Loader desktop app and backend.

Important

This plugin is one component of CSS Loader for Millennium. Install this companion separately, then install and open the desktop app. The desktop installer does not bundle or modify Millennium plugins.

What it does

  • Applies resolved CSS as individual style elements without bundle conversion or asset-URL rewriting.
  • Keeps the user's selected Millennium theme active and places CSS Loader last in the cascade.
  • Synchronizes Desktop, Big Picture, Quick Access, Main Menu, and notification documents.
  • Enforces DeckThemes Desktop/Gamepad catalog scopes supplied by the backend, including the otherwise ambiguous Store BrowserViews that share the same URL.
  • Uses Millennium's in-process APIs; it does not require Steam -dev mode, an external CDP port, or .cef-enable-remote-debugging.
  • Reconciles additions, changes, removals, and cascade order from the app's direct runtime state.

Installation

Install this companion from its own release, then download the latest MSI from CSS Loader for Millennium Releases. The desktop app preserves the currently selected Millennium theme and publishes state into plugins/css-loader-companion/runtime.

If this companion is installed first, its panel waits for the desktop app. Opening the desktop app finishes setup and publishes the user-specific runtime state.

Development

Requirements: Node.js 20+ and a working Millennium development environment.

npm ci
npm run build

The production frontend is written to .millennium/Dist/index.js.

Related project

The desktop manager, CSS Loader-compatible backend, installer, and parity tests live in DevsNate/CSSLoader-Millennium.

License

Distributed under the GNU General Public License v3.0.

About

Millennium companion plugin for CSS Loader for Millennium

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages