PhantomGamers/SFP

Suggestion: Official release ships with CLI version/UI is also usable CLI only.

NullPlane opened this issue · 11 comments

That would make it easy to ship it precast configurated with skins and create one-click installation scripts

No ETA but I will try to do this in the next release. I formatted the code in such a way as to make cli usage easier to implement as I had always planned on doing it but I keep putting it off 😅

Just gonna throw a +1 on this, SFP is currently required to install catppuccin/steam, and is the only major issue we have to deal with to get an automated install script working-- if you can't work on this right now, it would be great if you could point me where I can download the files manually, so I can write a script to do it that way.

@Oman395 What files are you referring to?

The patched CSS files (unless it patches them in a different way, I'm not sure how SFP works specifically), I just need to replicate the basic patching functionality in something that doesn't require user intervention

The app does not download anything, it patches the css itself.

Ah-- what patches does it apply? Does it just insert imports to files that can be specified by themes or something?

Just did some testing, looks like it patches steamui/css/*.css and clientui/css/friends.css, anything else I'm missing or is that it?

For the library patching it replaces all css files in steamui/css with files that only contain @import url(\"https://steamloopback.host/{dirName}{originalFile.Name}\");\n@import url(\"https://steamloopback.host/{customFile.Name}\");\n" and padding to make them match the original file sizes.

See https://github.com/PhantomGamers/SFP/blob/main/SFP/Models/LocalFile.cs for more information.

I also think there is some confusion on your theme page, as it appears your theme does not actually do anything that would require SFP. SFP just enables loading library skins from a libraryroot.custom.css file in steamui.

It's based on steam-library for library theming, which uses the webkit.css for linux and says that SFP is a requirement-- I'll have to test without SFP, but if we don't need the step at all, that would be awesome. Thanks for taking the time to answer my questions!

SFP is a requirement on windows when libraryroot.custom.css is used instead of webkit.css.

It would also be a requirement on linux if a library skin author opted to use the libraryroot.custom.css approach.

The benefit of such being that auto updates are possible as with libraryroot.custom.css you can use @import tags whereas in the webkit.css file you cannot.

Yup, makes sense. Just tested without patches and it works exactly the same. Thanks again for the help!