electron-aspect-ratio-browser-window
v1.0.2
Published
Drop-in replacement for Electron's BrowserWindow with working aspect ratio on Windows
Downloads
20
Maintainers
Readme
electron-aspect-ratio-browser-window
Drop-in replacement for Electron's BrowserWindow with working aspect ratio on Windows.
The module addresses this Electron issue: https://github.com/electron/electron/issues/8036.
Warning: this package extends BrowserWindow, that approach doesn't work properly with some Electron API, more here. Underline code can still be used to implement custom Window class that doesn't extend BrowserWindow but keeps reference to it (idea for next version of this library!)
Installation:
npm install --save electron-aspect-ratio-browser-window
Usage:
const AspectRatioBrowserWindow = require('electron-aspect-ratio-browser-window');
// AspectRatioBrowserWindow instead of BrowserWindow:
const mainWindow = new AspectRatioBrowserWindow({
width: 800,
height: 450
});
// Aspect ratio works on Windows, Linux, and Mac:
mainWindow.setAspectRatio(16 / 9);
Try example:
git clone https://github.com/antonfisher/electron-aspect-ratio-browser-window.git
cd electron-aspect-ratio-browser-window/example
npm install
npm start
Features:
- utilizes Winuser.h resize hook: https://docs.microsoft.com/en-us/windows/win32/winmsg/wm-sizing
- supports different screen scales: 100-125-150% setting on Windows.
Thanks:
This module was inspired by two responses on the original issue:
- https://github.com/electron/electron/issues/8036#issuecomment-648642719 by @asc0910
- https://github.com/electron/electron/issues/8036#issuecomment-649161348 by @swimauger