Autostep --autoscreenshot is back from the dead, stronger than ever before!
How does it work ?
* autostep is activated just before leaving a hub by capturing the continue-clicked
signal
* it takes a screenshot of the hub and then iterates all spokes on the hub, taking
screenshots
* once done, it emits the continue-clicked signal it "consumed" previously, so
Anaconda can
switch to the next hub (or quit)
* the standard screenshot everything-on-the-screen code added for global screenshot
support is used,
but was turned into a function
* the automatically taken screenshots have nice names
* if --autoscreenshot is not specified (don't ask me why would someone do that...) no
screenshots are taken
and Anaconda just pointlessly steps through all screens
QA
Q: What about dialogs being spawned on apply/side effects of automatically visiting the
spokes ?
A: While iterating over the spoke, autostep does not "press" the Done button but
instead terminates the
recursive GTK main loop the spoke has & makes sure apply/execute are not called. So
no dialogs & hopefully
also no other side effects.
Q: What about the Welcome spoke ?
A: It is for some reason present in the spoke dictionary of the summary hub, so its
screenshot gets taken
together with the other spokes (this includes also Custom Partitioning and Advanced
Storage BTW).
Q: Why is the patch removing the copy-screenshots post-script ?
A: The last batch of screenshots taken before leaving the Progress hub is taken after the
post-scripts have run,
so the screenshots can't be copied by the post-scripts, but by Python code running
just before Anaconda quits.
Q: Why is autostep running just before leaving a hub ?
A: Anaconda only leaves a hub after all spokes are ready, which is the ideal time to take
their screenshot and
it also makes sure nothing will change in them. Running in the continue handler also
makes it possible to support
incomplete kickstarts - the user just adds the missing info and clicks continue - and
autostep can then do it's job,
just like if the kickstart was complete and the continue signal was emitted
automatically.
Martin Kolman (1):
Add support for autostep and --autoscreenshot (#1059295)
data/post-scripts/90-copy-screenshots.ks | 10 ---
pyanaconda/constants.py | 4 +
pyanaconda/iutil.py | 23 ++++++
pyanaconda/ui/gui/__init__.py | 127 ++++++++++++++++++++++++++-----
pyanaconda/ui/gui/hubs/__init__.py | 43 +++++++++++
5 files changed, 179 insertions(+), 28 deletions(-)
delete mode 100644 data/post-scripts/90-copy-screenshots.ks
--
1.9.3