Skip to content

Latest commit

 

History

History
311 lines (197 loc) · 15.8 KB

README.md

File metadata and controls

311 lines (197 loc) · 15.8 KB

SteamUI-OldGlory

A set of customisable Steam Library tweaks, with an installer.
Also a reference that you can use to learn how to make your own tweaks.

GitHub all releases downloads GitHub Repo stars GitHub latest release version GitHub closed issues Lines of code in project GitHub commits on /dev since last merge

Check /dev branch for in-progress tweaks.

Video Guide and GIF

Alt Text

Video Guide to Customising The Steam Library

YouTube Video Views

Showcase of Tweaks

(click to expand)
Condensed sidebar buttons
img

Show more games
Show more games

Fix blurred images
Fix blurred images

Improved game page layout
Fix blurred images

Show more DLC and screenshots
Show more DLC

Play bar moved up into box
Play bar moved up into box

Classic Layout
Classic Layout

Quick Guide

Using SFP (SteamFriendsPatcher)

  • Install SFP (SteamFriendsPatcher). Run it, it will patch some files.

  • Download SteamUI-OldGlory. Extract the files to a folder, and run old_glory.exe

  • Select the options you want to use, then click Install.

  • In SFP, click the Settings icon in the bottom left, select the Steam -> Steam skin dropdown and choose OldGlory.

Using Millennium Patcher

  • Install Millennium.

  • Download SteamUI-OldGlory. Extract the files to a folder, and run old_glory.exe

  • Select the options you want to use, then click Install.

  • Open up Steam, go to Steam -> Settings -> Themes -> Client Theme, click on the dropdown and select OldGlory.

  • You can continue to customise your options in the SteamUI-OldGlory Installer, click Install and Steam should update accordingly.

Using SteamUI-OldGlory standalone (old method)

SteamUI-OldGlory supports patching the CSS directly however it only covers patching the main window (not friends list, store page or Big Picture)

  • In the SteamUI-OldGlory Installer under Advanced Options -> Patching you can use the Patch CSS option. Change the Install Location from SFP/Millennium to steamui
  • If you decide to use SFP/Millennium in the future you can use the Unpatch CSS option and Change the Install Location back to SFP/Millennium

Fix Blurry Portrait Game Images

More Info

When Steam Updates

SteamUI-OldGlory supports patching the Steam JS files to provide extra functionality.

This means sometimes when the Steam Client updates, you'll need to use the Remake JS option in Settings if you were previously using any JS tweaks.

SteamUI-OldGlory will notify you upon startup if it detects certain Steam files have been changed/updated.

If the Steam window does not appear (but appears in the system tray), try using the Remake JS button in Settings.

Other Config

SteamUI-OldGlory Updates

  • SteamUI-OldGlory will do an update check upon startup and link you to the Github page to download a new release if available.
  • For smaller updates SteamUI-OldGlory should prompt you to download new files when they are released.

Customising CSS

Enable/Disable CSS modules and features

Since version 5.11, OldGlory can enable/disable individual CSS modules and features via CSS Options -> CSS Sections.

[version < 5.11] Manual Editing (CSS/SCSS)
More details
  • variables.css contains a list of CSS variables that tweak certain parts of the Library.
  • Most of these can be configured using the GUI, but there are additional options here you can set manually.
  • If you manually edit the file, use the Reload Config button to load them into the Installer.

  • scss/libraryroot.custom.scss contains the @imports for each of the CSS "modules", that each cover a different part of the Steam library.
  • You can enable and disable certain modules by adding // to the beginning of the line
  • Click Install in the Configurer to apply your changes.

GUI Images

OldGlory Installer (GUI)

Included files:

  • old_glory.exe - App to apply SteamUI-OldGlory's tweaks

  • variables.css - CSS variables to customise

  • fixes.txt - JS tweaks

  • libraryroot.custom.css - output CSS file. Do not edit this directly, use the \scss folder files and Compile CSS button

  • skin.json - JSON file for compatibility with Millennium

  • README.md - this file

  • \scss - (New in Release 5.0)

    • libraryroot.custom.scss - contains all the @imports for smaller .scss files. The GUI handles enabling/disabling _module_playbarbox, _module_verticalnavbar, _module_landscapegameimages, _module_classiclayout, _classic, _module_homeicon.
    • _custom_module1.scss- put your custom CSS code here
    • _custom_module2.scss - put your custom CSS code here
  • \themes - Folder containing theme files

    • Each theme gets its own folder containing:
    • libraryroot.custom.css - the CSS file for the theme
    • preview.png - the preview image for the theme
  • Themes include:

    • Shiina's steam-library dark theme
    • Thespikedballofdoom's Dark Library theme
    • FatheredPuma81's Full Dark Mode theme
    • Theme based on EliteSkylu's Acrylic Steam concept
    • Crisp Cut by Jonius7, emphasising white app section boxes
    • Pure [Light] theme by Snudgee
    • OG-Steam-Library Theme, by ungstein
  • old_glory_data.json data for old_glory.exe. Editing it is not required but it allows some data to be updated/hotfixed outside of having to rebuild the .exe

Other files are copied from theSteam\steamui directory as required.

config.css for Shiina's steam-library theme will be created from config.css.original the first time you enable the theme. Alternatively, you can put your existing config.css file here and the app will use it.

JavaScript Tweaks

Some tweaks are disabled by default. Under JS Options, you can select which options to enable/disable.

Manual Editing (JS - fixes.txt)
More details
  • fixes.txt contains the list of JavaScript tweaks.
  • Each tweak is under its own Section Heading marked with the line starting ###.
  • Tweaked lines are the original JS separated by two spaces from the tweaked JS:
  • [original js]██[tweaked js]
  • Remove the ### for each line under the Section Heading to enable.
  • When old_glory applies the JS tweaks, commented lines with ###, and blank lines are ignored. You can use this to make fixes.txt more readable.
  • NEW (Release 5.5): You can now use the previous line of JS to search for the line you want. Just separate the two lines with ~~
    • Format: [previous line JS]~~[original JS]██[tweaked JS]
  • (Planned): Using any single variable letter with $^
    • Eg: Lo.searchSuggestions becomes $^$^.searchSuggestions

Quick Links

steam-library Support

Shiina's steam-library theme is included as one of the starting themes you can choose from.

https://github.com/AikoMidori/steam-library

preview image

Troubleshooting

If Library is not working, try one of these things (and restart Steam if necessary). If it still doesn't work, try the next thing in the list.

  • Check SFP (SteamFriendsPatcher) or Millennium is running.
  • Go to Task Manager and End Task on Steam Client WebHelper (let it restart)
  • Use Remake JS button under Settings and About (this should also be done when Steam Client updates and the JS has changed)
  • Use Reset button under Settings and About
  • Delete steamui folder and restart Steam
    • Optional: Try these Steam Settings (and restart Steam)
      • Downloads -> Clear Download Cache
      • Web Browser -> Delete Web Browser Cache

If none of these steps work, please open an Issue

  • State whether you are on Steam Beta Update or not.
  • Which CSS Options/JS Options you have enabled/disabled.

The program can't start because api-ms-win-crt-math-l1-1-0.dll is missing from your computer.

Dev Notes

For more details, go to Story

Debugging Steam Library Yourself

To debug the Steam Library yourself, run Steam with the -dev tag.

  • Create a shortcut to Steam -> Right Click -> Properties.
  • In Target, after Steam.exe" add -dev so the end of Target looks like this: Steam.exe" -dev
  • After opening Steam, open up the Dev Tools by clicking in the library window and pressing F12.

Build old_glory

Requires Python 3.8+, Rust (tested with 1.75.0)

Create a Python Virtual Environment

​ Linux: sudo apt install python3-venv , then: link

Activate it:

​ Windows: "\Scripts\Activate"

​ Linux: source /bin/activate

Install pyinstaller: pip install pyinstaller

Install libraries using pip: pip install jsbeautifier rjsmin libsass Pillow requests requests_oauthlib maturin pyppeteer pyyaml rich schema gitpython

Run:

maturin develop:

Build old_glory.exe: pyinstaller --clean old_glory.spec

The .spec file is included in the repository.

Advanced

Sometimes you may need to install pyinstaller like this: Building PyInstaller Bootloader Windows Compilers

This is mainly for me to try and get an .exe that doesn't trigger false positives on virustotal.com

In the future, I may try to build using cx_freeze instead.

What does js_tweaker do?

the JS goes through this process, eg:

  • library.js - original file
  • library.beaut.js - beautified js using jsbeautifier
  • library.modif.js - beautified js with modified tweaks from fixes.txt
  • librery.js - minified library.modif.js using jsmin

Limitation that the script reads library.beaut.js line by line, so some complex tweaks are unavailable to be added at the moment.

js_tweaker will use library.beaut.js if it already exists. This means:

  • you can experiment in library.beaut.js (make a backup first) and delete it afterwards if you want to go back to the clean version library.beaut.js

New (5.10.6) chunk~547eb3232.js is now also being used. The modified file is called chenk~547eb3232.js