@raydiant/playlist-window-manager 0.0.0-test-12 → 0.0.0-test-13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -76,7 +76,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
76
76
|
var path = __importStar(require("path"));
|
|
77
77
|
var electron_1 = require("electron");
|
|
78
78
|
var WindowUnresponsiveError_1 = __importDefault(require("./WindowUnresponsiveError"));
|
|
79
|
-
var
|
|
79
|
+
var boundUtils_1 = require("./boundUtils");
|
|
80
80
|
var BrowserWindowRenderer = /** @class */ (function () {
|
|
81
81
|
function BrowserWindowRenderer(opts) {
|
|
82
82
|
this.opts = opts;
|
|
@@ -89,7 +89,7 @@ var BrowserWindowRenderer = /** @class */ (function () {
|
|
|
89
89
|
show: false,
|
|
90
90
|
frame: this.opts.frame,
|
|
91
91
|
hasShadow: this.opts.hasShadow,
|
|
92
|
-
fullscreen: (0,
|
|
92
|
+
fullscreen: (0, boundUtils_1.isFullscreen)(this.opts.bounds),
|
|
93
93
|
webPreferences: {
|
|
94
94
|
preload: path.join(__dirname, 'preload.js'),
|
|
95
95
|
},
|
|
@@ -134,7 +134,7 @@ var BrowserWindowRenderer = /** @class */ (function () {
|
|
|
134
134
|
: this.createOrGetPooledBrowserWindow(windowId, {
|
|
135
135
|
show: false,
|
|
136
136
|
frame: this.opts.frame,
|
|
137
|
-
fullscreen: (0,
|
|
137
|
+
fullscreen: (0, boundUtils_1.isFullscreen)(this.opts.bounds),
|
|
138
138
|
// NOTE: useWindowPool: true does not work with renderChildWindowsAsBrowserViews: false
|
|
139
139
|
// because the parent can't be changed after creating the BrowserWindow.
|
|
140
140
|
parent: parentWindowId
|
|
@@ -385,20 +385,29 @@ var BrowserWindowRenderer = /** @class */ (function () {
|
|
|
385
385
|
* 1919x1079.
|
|
386
386
|
*/
|
|
387
387
|
BrowserWindowRenderer.prototype.setWindowOrViewBounds = function (window, bounds) {
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
388
|
+
this.logger.info("playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds1: ".concat(JSON.stringify({
|
|
389
|
+
windowBounds: window.getBounds(),
|
|
390
|
+
bounds: bounds,
|
|
391
|
+
})));
|
|
392
|
+
// calling setBounds may introduce -1px resolution error
|
|
393
|
+
if ((0, boundUtils_1.areBoundsEqual)(window.getBounds(), bounds)) {
|
|
394
|
+
this.logger.info("playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds2: bounds are equal");
|
|
394
395
|
return;
|
|
395
396
|
}
|
|
396
397
|
// setBounds will be ignored if window was in fullscreen mode
|
|
397
|
-
if (window instanceof electron_1.BrowserWindow && !(0,
|
|
398
|
+
if (window instanceof electron_1.BrowserWindow && !(0, boundUtils_1.isFullscreen)(bounds)) {
|
|
399
|
+
this.logger.info("playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds3: not full screen");
|
|
398
400
|
window.setFullScreen(false);
|
|
399
401
|
}
|
|
402
|
+
this.logger.info("playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds4: before: ".concat(JSON.stringify({
|
|
403
|
+
windowBounds: window.getBounds(),
|
|
404
|
+
})));
|
|
400
405
|
window.setBounds(bounds);
|
|
401
|
-
|
|
406
|
+
this.logger.info("playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds5: before: ".concat(JSON.stringify({
|
|
407
|
+
windowBounds: window.getBounds(),
|
|
408
|
+
})));
|
|
409
|
+
if (window instanceof electron_1.BrowserWindow && (0, boundUtils_1.isFullscreen)(bounds)) {
|
|
410
|
+
this.logger.info("playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds6: is full screen");
|
|
402
411
|
window.setFullScreen(true);
|
|
403
412
|
}
|
|
404
413
|
};
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFullscreen = void 0;
|
|
3
|
+
exports.areBoundsEqual = exports.isFullscreen = void 0;
|
|
4
4
|
var electron_1 = require("electron");
|
|
5
5
|
var isFullscreen = function (bounds) {
|
|
6
6
|
var screenBounds = electron_1.screen.getPrimaryDisplay().bounds;
|
|
7
7
|
return (bounds.width === screenBounds.width && bounds.height === screenBounds.height);
|
|
8
8
|
};
|
|
9
9
|
exports.isFullscreen = isFullscreen;
|
|
10
|
+
var areBoundsEqual = function (bounds1, bounds2) {
|
|
11
|
+
return (bounds1.x === bounds2.x &&
|
|
12
|
+
bounds1.y === bounds2.y &&
|
|
13
|
+
bounds1.width === bounds2.width &&
|
|
14
|
+
bounds1.height === bounds2.height);
|
|
15
|
+
};
|
|
16
|
+
exports.areBoundsEqual = areBoundsEqual;
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
Logger,
|
|
18
18
|
} from './types';
|
|
19
19
|
import WindowUnresponsiveError from './WindowUnresponsiveError';
|
|
20
|
-
import { isFullscreen } from './
|
|
20
|
+
import { areBoundsEqual, isFullscreen } from './boundUtils';
|
|
21
21
|
|
|
22
22
|
interface ProxySettings {
|
|
23
23
|
proxyRules: string;
|
|
@@ -475,25 +475,51 @@ export default class BrowserWindowRenderer
|
|
|
475
475
|
window: BrowserWindow | BrowserView,
|
|
476
476
|
bounds: WindowBounds
|
|
477
477
|
) {
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
)
|
|
478
|
+
this.logger.info(
|
|
479
|
+
`playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds1: ${JSON.stringify(
|
|
480
|
+
{
|
|
481
|
+
windowBounds: window.getBounds(),
|
|
482
|
+
bounds,
|
|
483
|
+
}
|
|
484
|
+
)}`
|
|
485
|
+
);
|
|
486
|
+
|
|
487
|
+
// calling setBounds may introduce -1px resolution error
|
|
488
|
+
if (areBoundsEqual(window.getBounds(), bounds)) {
|
|
489
|
+
this.logger.info(
|
|
490
|
+
`playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds2: bounds are equal`
|
|
491
|
+
);
|
|
486
492
|
return;
|
|
487
493
|
}
|
|
488
494
|
|
|
489
495
|
// setBounds will be ignored if window was in fullscreen mode
|
|
490
496
|
if (window instanceof BrowserWindow && !isFullscreen(bounds)) {
|
|
497
|
+
this.logger.info(
|
|
498
|
+
`playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds3: not full screen`
|
|
499
|
+
);
|
|
491
500
|
window.setFullScreen(false);
|
|
492
501
|
}
|
|
493
502
|
|
|
503
|
+
this.logger.info(
|
|
504
|
+
`playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds4: before: ${JSON.stringify(
|
|
505
|
+
{
|
|
506
|
+
windowBounds: window.getBounds(),
|
|
507
|
+
}
|
|
508
|
+
)}`
|
|
509
|
+
);
|
|
494
510
|
window.setBounds(bounds);
|
|
511
|
+
this.logger.info(
|
|
512
|
+
`playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds5: before: ${JSON.stringify(
|
|
513
|
+
{
|
|
514
|
+
windowBounds: window.getBounds(),
|
|
515
|
+
}
|
|
516
|
+
)}`
|
|
517
|
+
);
|
|
495
518
|
|
|
496
519
|
if (window instanceof BrowserWindow && isFullscreen(bounds)) {
|
|
520
|
+
this.logger.info(
|
|
521
|
+
`playlist-window-manager/src/BrowserWindowRenderer.ts setWindowOrViewBounds6: is full screen`
|
|
522
|
+
);
|
|
497
523
|
window.setFullScreen(true);
|
|
498
524
|
}
|
|
499
525
|
}
|
|
@@ -7,3 +7,15 @@ export const isFullscreen = (bounds: WindowBounds): boolean => {
|
|
|
7
7
|
bounds.width === screenBounds.width && bounds.height === screenBounds.height
|
|
8
8
|
);
|
|
9
9
|
};
|
|
10
|
+
|
|
11
|
+
export const areBoundsEqual = (
|
|
12
|
+
bounds1: WindowBounds,
|
|
13
|
+
bounds2: WindowBounds
|
|
14
|
+
): boolean => {
|
|
15
|
+
return (
|
|
16
|
+
bounds1.x === bounds2.x &&
|
|
17
|
+
bounds1.y === bounds2.y &&
|
|
18
|
+
bounds1.width === bounds2.width &&
|
|
19
|
+
bounds1.height === bounds2.height
|
|
20
|
+
);
|
|
21
|
+
};
|