new BrowserWindow
時に背景色を設定し、不具合#1425 を修正
#1446
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
内容
起動直後に一瞬真っ白な画面が表示される不具合(#1425)の修正PRです。
原因
mainWindowState.manage(win);
の内部処理によって自動的にshow状態になるのが原因でした。(このため、前回最大化状態でウィンドウを閉じた場合にのみ起こる不具合でした)
解決策
new BrowserWindowのオプションに背景色(backgroundColor)を設定しました。
試したがダメそうだったもの
mainWindowState.manage(win);
の直後にwin.hide();
をしてもウィンドウが一瞬表示されました。ready-to-show
以降に最大化すると、変化前のサイズのウィンドウが一瞬表示されました。もっと厳密にするならopacityを併用してOSごとに処理を分けるべきだと思いますが、そもそも最大化状態でしか発生せず、また読み込み中のUIが見えてもそこまで酷い見た目にはならないので、このシンプルな実装が妥当かなと思いました。
関連 Issue
close #1425
スクリーンショット・動画など[
VVissue4.mp4
表示後にフォントが読み込まれているのと一瞬disableでないボタンが表示されるのが若干気になりますが、背景修正前も全画面で起動したときは表示されてたはずですし、真っ白な画面が表示されるよりはマシということで…