Wanted to customize anything shown in the automated dialogs of the TSProgressUI or maybe disable it but still wanted to get the info of let’s say downloading, applying image or any other sub step?
I got this idea while testing TSbackground by Onevinn and I know that since then Johan has incorporated something similar but I’m sure that there are other uses for it as well so I kept going.
This week our oldest child, Nilo, have had orientation for school, both of our cars has been repaired for a total over $1500, Nilo isn’t speaking, even though he’s 3 y/o, so we’ve been to a speech therapist for a couple of hours and yesterday we had two brokers visiting since my better half want to move and I wasn’t even able to get the trellis done before that since I ran out of wood... *Yawn*
You can say life told me who’s in charge this week =P But anyhow, here’s the POC.
Replacing the TSProgressUI com class isn’t an option. Doing that you’ll lose functionality if you don’t do everything 100% correct.
An easier approach would to let it be but somehow control the flow of what that is sent to it.
Took quite a while but I think I managed to do just that.
So why would you want to do that?
Well, MS had a great idea and gave us the “TSDisableProgressUI”-variable.
I suppose they wanted us to be able to create or own UI, display a picture slideshow or something like that during a TS instead of showing that old ActiveX-control.
The problem? Not all of the information that is shown in the ProgressUI is available as TSEnviromentals. Applying image, downloading and so on would just be “Applying image” without a percentage. On top of that, using that variable also suppresses the output to the logs. What do this do? It’s like a proxy. It’ll handle the request in a function, control if and what to pass forward to the real function. By default this only logs steps as well as substeps % (and edit some of the GUI shown). But if you want to, you can enable/disable every dialog but reboot and error, either by using the methods I’ve added or by a TS-variable. And still get the logs and some more ;)
Haven’t had the chance to try it in Full OS during an OSD, but you should also be able to suppress the UI while keeping “F8” available. “TSDisableProgressUI” just disables that option.
Full flow:
If I've missed something sorry, let me know if I did. My head is filled with goo atm.
Comments