Other than to disambiguate for the compiler, I don't think clarity is enhanced
with twenty plus individual imports from the most commonly used packages in the
JDK (java.io + java.util). We all know where HashMap and InputStream are
defined.
Also some of the try-with-resources expanded multiple stream wrappers into
individual declarations. This doesn't make things any safer, close one and
you've closed them all. I reverted them to their more compact form.
This defines the minimum amount of time for which the UI will be shown before
automatically hiding itself. It defaults to 5 seconds (the old hard coded
value), which was chosen to ensure that users did not see a random window flash
up on the screen and then immediately disappear before they could see what it
was or meant, thereby confusing them.
When the window is undecorated and an error occurs very early, e.g. during
java version check, the order of the calls in the fail method is
significant. super.fail() will call setStatusAsync, which will create
the interface using EventQueue.invokeLater, if it does not exist yet.
Therefore we must first call super.fail(), and then asynchronously make
the window decorated again. Otherwise the window might not be created yet.
Closes#57
When defining a background color, it is now possible to define an alpha
value as most significant byte. E.g. `80FF0000` would define a half
transparent red background. This only works in combination with
`ui.hide_decorations = true`.
Closes#92
When the resource installation phase was added (downloading to _new files and
then moving them over top of the originals once they were validated), this
broke handling of unpacked resources.
Because we don't explicitly track whether a given version of a resource has
been unpacked (would be tricky) we try to piggy back on the download validation
process. But we validate before we install and we need to unpack after we
install, so for resources that are to be installed, we now also unpack and mark
as valid after the install is complete.
Closes#88.
In this mode, Getdown only treats a # as a comment starter in column zero. All
other #s are ignored. You enable it by putting:
strict_comments = true
in your getdown.txt file. Yes the same file that has to be parsed with or
without strict comments. If we see that, we reparse the file with strict
comments.