| 964 | let quakeRestoreFullscreenOnShow = false; |
| 965 | |
| 966 | function waitForFullscreenLeave(window: WaveBrowserWindow): Promise<void> { |
| 967 | if (!window.isFullScreen()) { |
| 968 | return Promise.resolve(); |
| 969 | } |
| 970 | return new Promise((resolve, reject) => { |
| 971 | // eslint-disable-next-line prefer-const |
| 972 | let timeout: ReturnType<typeof setTimeout>; |
| 973 | const onLeave = () => { |
| 974 | clearTimeout(timeout); |
| 975 | resolve(); |
| 976 | }; |
| 977 | timeout = setTimeout(() => { |
| 978 | window.removeListener("leave-full-screen", onLeave); |
| 979 | reject(new Error("fullscreen transition timeout")); |
| 980 | }, FullscreenTransitionTimeoutMs); |
| 981 | window.once("leave-full-screen", onLeave); |
| 982 | }); |
| 983 | } |
| 984 | |
| 985 | function waitForFullscreenEnter(window: WaveBrowserWindow): Promise<void> { |
| 986 | if (window.isFullScreen()) { |