UNPKG

electron-overlay-window

Version:

[![](https://img.shields.io/npm/v/electron-overlay-window/latest?color=CC3534&label=electron-overlay-window&logo=npm&labelColor=212121)](https://www.npmjs.com/package/electron-overlay-window)

54 lines (53 loc) 1.74 kB
/// <reference types="node" /> /// <reference types="node" /> import { EventEmitter } from 'node:events'; import { BrowserWindow, Rectangle, BrowserWindowConstructorOptions } from 'electron'; export interface AttachEvent { hasAccess: boolean | undefined; isFullscreen: boolean | undefined; x: number; y: number; width: number; height: number; } export interface FullscreenEvent { isFullscreen: boolean; } export interface MoveresizeEvent { x: number; y: number; width: number; height: number; } export interface AttachOptions { hasTitleBarOnMac?: boolean; } export declare const OVERLAY_WINDOW_OPTS: BrowserWindowConstructorOptions; declare class OverlayControllerGlobal { private isInitialized; private electronWindow?; targetBounds: Rectangle; targetHasFocus: boolean; private focusNext; private macTitleBarHeight; private attachOptions; readonly events: EventEmitter; constructor(); private handleFullscreen; private updateOverlayBounds; private handler; /** * Create a dummy window to calculate the title bar height on Mac. We use * the title bar height to adjust the size of the overlay to not overlap * the title bar. This helps Mac match the behaviour on Windows/Linux. */ private calculateMacTitleBarHeight; /** If we're on a Mac, adjust the bounds to not overlap the title bar */ private adjustBoundsForMacTitleBar; activateOverlay(): void; focusTarget(): void; attachByTitle(electronWindow: BrowserWindow | undefined, targetWindowTitle: string, options?: AttachOptions): void; screenshot(): Buffer; } export declare const OverlayController: OverlayControllerGlobal; export {};