fix(overlay): Linux X11/XWayland stacking, stale pause state, multi-copy selector (#101)

This commit is contained in:
2026-05-31 20:59:18 -07:00
committed by GitHub
parent b46b8dfa41
commit e1ea464bc9
103 changed files with 6314 additions and 353 deletions
@@ -1,6 +1,9 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import { shouldSuppressVisibleOverlayRaiseForSeparateWindow } from './settings-window-z-order';
import {
hasLiveSeparateWindow,
shouldSuppressVisibleOverlayRaiseForSeparateWindow,
} from './settings-window-z-order';
test('separate settings windows suppress visible overlay restacking', () => {
const mainWindow = { id: 'overlay', isDestroyed: () => false };
@@ -38,3 +41,20 @@ test('separate settings windows do not suppress unrelated or closed overlay work
false,
);
});
test('live separate window detection ignores hidden and destroyed windows', () => {
assert.equal(
hasLiveSeparateWindow([
{ isDestroyed: () => false, isVisible: () => false },
{ isDestroyed: () => true, isVisible: () => true },
]),
false,
);
assert.equal(
hasLiveSeparateWindow([
{ isDestroyed: () => false, isVisible: () => false },
{ isDestroyed: () => false, isVisible: () => true },
]),
true,
);
});