{"version":3,"file":"browserWindow-Cln5qa6V.mjs","names":[],"sources":["../src/main/browserWindow/utils.ts","../src/main/browserWindow/events.ts","../src/main/browserWindow/handlers.ts","../src/main/browserWindow/index.ts"],"sourcesContent":["import { BrowserWindow } from \"electron\";\nimport type { BrowserWindowInfo } from \"@shared/browserWindow.types.js\";\n\nconst windows = new Map<number, BrowserWindow>();\n\nexport function getWindow(id: number): BrowserWindow {\n  const window = BrowserWindow.fromId(id);\n  if (!window) {\n    throw new Error(`Window ${id} not found`);\n  }\n  return window;\n}\n\nexport function hasWindow(id: number): boolean {\n  return BrowserWindow.fromId(id) !== null;\n}\n\nexport function addWindow(window: BrowserWindow): void {\n  windows.set(window.id, window);\n}\n\nexport function removeWindow(id: number): void {\n  windows.delete(id);\n}\n\nexport function getAllWindows(): BrowserWindowInfo[] {\n  return BrowserWindow.getAllWindows().map((w) => ({\n    id: w.id,\n    title: w.getTitle(),\n    url: w.webContents.getURL(),\n    bounds: w.getBounds(),\n    isMaximized: w.isMaximized(),\n    isMinimized: w.isMinimized(),\n    isFullscreen: w.isFullScreen(),\n    isResizable: w.isResizable(),\n    isMovable: w.isMovable(),\n    isClosable: w.isClosable(),\n    isFocused: w.isFocused(),\n    isVisible: w.isVisible(),\n  }));\n}\n","import { BrowserWindow } from \"electron\";\nimport type { RpcServer } from \"electron-json-rpc/main\";\n\nconst windowEventSubscribers = new Map<number, Map<string, number>>();\nconst windowEventHandlers = new Map<number, Map<string, (...args: unknown[]) => void>>();\n\nfunction getOrCreateSubscriberMap(windowId: number): Map<string, number> {\n  if (!windowEventSubscribers.has(windowId)) {\n    windowEventSubscribers.set(windowId, new Map());\n  }\n  return windowEventSubscribers.get(windowId)!;\n}\n\nfunction getOrCreateHandlerMap(windowId: number): Map<string, (...args: unknown[]) => void> {\n  if (!windowEventHandlers.has(windowId)) {\n    windowEventHandlers.set(windowId, new Map());\n  }\n  return windowEventHandlers.get(windowId)!;\n}\n\nexport async function subscribeEventHandler(\n  rpc: RpcServer,\n  windowId: number,\n  eventName: string,\n): Promise<void> {\n  const window = BrowserWindow.fromId(windowId);\n  if (!window) {\n    throw new Error(`Window ${windowId} not found`);\n  }\n\n  const subscribers = getOrCreateSubscriberMap(windowId);\n  const currentCount = subscribers.get(eventName) || 0;\n  subscribers.set(eventName, currentCount + 1);\n\n  if (currentCount === 0) {\n    const handlers = getOrCreateHandlerMap(windowId);\n\n    const handler = (...args: unknown[]) => {\n      rpc.publish(`window.${windowId}.${eventName}`, { id: windowId, ...args });\n    };\n\n    handlers.set(eventName, handler);\n    window.on(eventName as any, handler);\n  }\n}\n\nexport async function unsubscribeEventHandler(windowId: number, eventName: string): Promise<void> {\n  const window = BrowserWindow.fromId(windowId);\n  if (!window) {\n    return;\n  }\n\n  const subscribers = windowEventSubscribers.get(windowId);\n  if (!subscribers) {\n    return;\n  }\n\n  const currentCount = subscribers.get(eventName) || 0;\n  if (currentCount <= 1) {\n    subscribers.delete(eventName);\n\n    const handlers = windowEventHandlers.get(windowId);\n    if (handlers) {\n      const handler = handlers.get(eventName);\n      if (handler) {\n        window.removeListener(eventName as any, handler);\n        handlers.delete(eventName);\n      }\n\n      if (handlers.size === 0) {\n        windowEventHandlers.delete(windowId);\n        windowEventSubscribers.delete(windowId);\n      }\n    }\n  } else {\n    subscribers.set(eventName, currentCount - 1);\n  }\n}\n\nexport function cleanupWindowEvents(windowId: number): void {\n  windowEventSubscribers.delete(windowId);\n  windowEventHandlers.delete(windowId);\n}\n\nexport function setupWindowCleanup(window: BrowserWindow): void {\n  window.on(\"closed\", () => {\n    cleanupWindowEvents(window.id);\n  });\n}\n","import { BrowserWindow } from \"electron\";\nimport type {\n  BrowserWindowConstructorOptions,\n  Rectangle,\n  Size,\n  Point,\n  BrowserWindowInfo,\n} from \"@shared/browserWindow.types.js\";\nimport { getWindow, hasWindow, addWindow, getAllWindows } from \"./utils.js\";\nimport { subscribeEventHandler, unsubscribeEventHandler, setupWindowCleanup } from \"./events.js\";\nimport type { RpcServer } from \"electron-json-rpc/main\";\n\nlet rpcInstance: RpcServer | null = null;\n\nexport function setRpcServer(rpc: RpcServer): void {\n  rpcInstance = rpc;\n}\n\nexport async function createHandler(...params: unknown[]): Promise<number> {\n  const [options] = params as [BrowserWindowConstructorOptions];\n\n  const windowOptions = { ...options };\n  if (options.parent !== undefined) {\n    const parentWindow = BrowserWindow.fromId(options.parent);\n    if (parentWindow) {\n      (windowOptions as any).parent = parentWindow;\n    }\n    delete (windowOptions as any).parent;\n  }\n\n  const window = new BrowserWindow(windowOptions as any);\n  addWindow(window);\n  setupWindowCleanup(window);\n\n  return (window as any).id;\n}\n\nexport async function closeHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).close();\n}\n\nexport async function destroyHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).destroy();\n}\n\nexport async function showHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).show();\n}\n\nexport async function hideHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).hide();\n}\n\nexport async function minimizeHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).minimize();\n}\n\nexport async function maximizeHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).maximize();\n}\n\nexport async function unmaximizeHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).unmaximize();\n}\n\nexport async function restoreHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).restore();\n}\n\nexport async function setFullScreenHandler(...params: unknown[]): Promise<void> {\n  const [id, fullscreen] = params as [number, boolean];\n  getWindow(id).setFullScreen(fullscreen);\n}\n\nexport async function isFullScreenHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isFullScreen();\n}\n\nexport async function focusHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).focus();\n}\n\nexport async function blurHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).blur();\n}\n\nexport async function setTitleHandler(...params: unknown[]): Promise<void> {\n  const [id, title] = params as [number, string];\n  getWindow(id).setTitle(title);\n}\n\nexport async function getTitleHandler(...params: unknown[]): Promise<string> {\n  const [id] = params as [number];\n  return getWindow(id).getTitle();\n}\n\nexport async function getBoundsHandler(...params: unknown[]): Promise<Rectangle> {\n  const [id] = params as [number];\n  return getWindow(id).getBounds();\n}\n\nexport async function setBoundsHandler(...params: unknown[]): Promise<void> {\n  const [id, bounds] = params as [number, Rectangle];\n  getWindow(id).setBounds(bounds);\n}\n\nexport async function getSizeHandler(...params: unknown[]): Promise<Size> {\n  const [id] = params as [number];\n  const [width, height] = getWindow(id).getSize();\n  return { width: width || 0, height: height || 0 };\n}\n\nexport async function setSizeHandler(...params: unknown[]): Promise<void> {\n  const [id, size] = params as [number, Size];\n  getWindow(id).setSize(size.width, size.height);\n}\n\nexport async function getPositionHandler(...params: unknown[]): Promise<Point> {\n  const [id] = params as [number];\n  const [x, y] = getWindow(id).getPosition();\n  return { x: x || 0, y: y || 0 };\n}\n\nexport async function setPositionHandler(...params: unknown[]): Promise<void> {\n  const [id, position] = params as [number, Point];\n  getWindow(id).setPosition(position.x, position.y);\n}\n\nexport async function centerHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).center();\n}\n\nexport async function getMinimumSizeHandler(...params: unknown[]): Promise<Size> {\n  const [id] = params as [number];\n  const [width, height] = getWindow(id).getMinimumSize();\n  return { width: width || 0, height: height || 0 };\n}\n\nexport async function setMinimumSizeHandler(...params: unknown[]): Promise<void> {\n  const [id, size] = params as [number, Size];\n  getWindow(id).setMinimumSize(size.width, size.height);\n}\n\nexport async function getMaximumSizeHandler(...params: unknown[]): Promise<Size> {\n  const [id] = params as [number];\n  const [width, height] = getWindow(id).getMaximumSize();\n  return { width: width || 0, height: height || 0 };\n}\n\nexport async function setMaximumSizeHandler(...params: unknown[]): Promise<void> {\n  const [id, size] = params as [number, Size];\n  getWindow(id).setMaximumSize(size.width, size.height);\n}\n\nexport async function setResizableHandler(...params: unknown[]): Promise<void> {\n  const [id, resizable] = params as [number, boolean];\n  getWindow(id).setResizable(resizable);\n}\n\nexport async function isResizableHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isResizable();\n}\n\nexport async function setMovableHandler(...params: unknown[]): Promise<void> {\n  const [id, movable] = params as [number, boolean];\n  getWindow(id).setMovable(movable);\n}\n\nexport async function isMovableHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isMovable();\n}\n\nexport async function setMinimizableHandler(...params: unknown[]): Promise<void> {\n  const [id, minimizable] = params as [number, boolean];\n  getWindow(id).setMinimizable(minimizable);\n}\n\nexport async function isMinimizableHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isMinimizable();\n}\n\nexport async function setMaximizableHandler(...params: unknown[]): Promise<void> {\n  const [id, maximizable] = params as [number, boolean];\n  getWindow(id).setMaximizable(maximizable);\n}\n\nexport async function isMaximizableHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isMaximizable();\n}\n\nexport async function setClosableHandler(...params: unknown[]): Promise<void> {\n  const [id, closable] = params as [number, boolean];\n  getWindow(id).setClosable(closable);\n}\n\nexport async function isClosableHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isClosable();\n}\n\nexport async function setFocusableHandler(...params: unknown[]): Promise<void> {\n  const [id, focusable] = params as [number, boolean];\n  getWindow(id).setFocusable(focusable);\n}\n\nexport async function isFocusableHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isFocusable();\n}\n\nexport async function setAlwaysOnTopHandler(...params: unknown[]): Promise<void> {\n  const [id, alwaysOnTop, level, relativeLevel] = params as [number, boolean, string?, number?];\n  if (level !== undefined) {\n    getWindow(id).setAlwaysOnTop(alwaysOnTop, level as any, relativeLevel);\n  } else {\n    getWindow(id).setAlwaysOnTop(alwaysOnTop);\n  }\n}\n\nexport async function isAlwaysOnTopHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isAlwaysOnTop();\n}\n\nexport async function setMenuBarVisibilityHandler(...params: unknown[]): Promise<void> {\n  const [id, visible] = params as [number, boolean];\n  getWindow(id).setMenuBarVisibility(visible);\n}\n\nexport async function isMenuBarVisibleHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isMenuBarVisible();\n}\n\nexport async function setAutoHideMenuBarHandler(...params: unknown[]): Promise<void> {\n  const [id, autoHide] = params as [number, boolean];\n  getWindow(id).setAutoHideMenuBar(autoHide);\n}\n\nexport async function isMenuBarAutoHideHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isMenuBarAutoHide();\n}\n\nexport async function loadURLHandler(...params: unknown[]): Promise<void> {\n  const [id, url, options] = params as [\n    number,\n    string,\n    {\n      httpReferrer?: string;\n      userAgent?: string;\n      extraHeaders?: string;\n    }?,\n  ];\n  getWindow(id).webContents.loadURL(url, options);\n}\n\nexport async function loadFileHandler(...params: unknown[]): Promise<void> {\n  const [id, path, options] = params as [\n    number,\n    string,\n    {\n      query?: Record<string, string>;\n      search?: string;\n      hash?: string;\n    }?,\n  ];\n  getWindow(id).webContents.loadFile(path, options);\n}\n\nexport async function reloadHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).webContents.reload();\n}\n\nexport async function openDevToolsHandler(...params: unknown[]): Promise<void> {\n  const [id, options] = params as [number, { mode?: \"right\" | \"bottom\" | \"undocked\" | \"detach\" }?];\n  getWindow(id).webContents.openDevTools(options as any);\n}\n\nexport async function closeDevToolsHandler(...params: unknown[]): Promise<void> {\n  const [id] = params as [number];\n  getWindow(id).webContents.closeDevTools();\n}\n\nexport async function isDevToolsOpenedHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).webContents.isDevToolsOpened();\n}\n\nexport async function executeJavaScriptHandler(...params: unknown[]): Promise<unknown> {\n  const [id, code, userGesture] = params as [number, string, boolean?];\n  return getWindow(id).webContents.executeJavaScript(code, userGesture);\n}\n\nexport async function getAllWindowsHandler(): Promise<BrowserWindowInfo[]> {\n  return getAllWindows();\n}\n\nexport async function getFocusedWindowHandler(): Promise<number | null> {\n  const window = BrowserWindow.getFocusedWindow();\n  return window ? window.id : null;\n}\n\nexport async function isMaximizedHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isMaximized();\n}\n\nexport async function isMinimizedHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isMinimized();\n}\n\nexport async function isVisibleHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isVisible();\n}\n\nexport async function isFocusedHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isFocused();\n}\n\nexport async function setProgressBarHandler(...params: unknown[]): Promise<void> {\n  const [id, progress, options] = params as [\n    number,\n    number,\n    {\n      mode?: \"none\" | \"normal\" | \"indeterminate\" | \"error\" | \"paused\";\n    }?,\n  ];\n  getWindow(id).setProgressBar(progress, options as any);\n}\n\nexport async function flashFrameHandler(...params: unknown[]): Promise<void> {\n  const [id, flash] = params as [number, boolean];\n  getWindow(id).flashFrame(flash);\n}\n\nexport async function setBackgroundColorHandler(...params: unknown[]): Promise<void> {\n  const [id, backgroundColor] = params as [number, string];\n  getWindow(id).setBackgroundColor(backgroundColor);\n}\n\nexport async function setOpacityHandler(...params: unknown[]): Promise<void> {\n  const [id, opacity] = params as [number, number];\n  getWindow(id).setOpacity(opacity);\n}\n\nexport async function getOpacityHandler(...params: unknown[]): Promise<number> {\n  const [id] = params as [number];\n  return getWindow(id).getOpacity();\n}\n\nexport async function setKioskHandler(...params: unknown[]): Promise<void> {\n  const [id, kiosk] = params as [number, boolean];\n  getWindow(id).setKiosk(kiosk);\n}\n\nexport async function isKioskHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isKiosk();\n}\n\nexport async function setSimpleFullScreenHandler(...params: unknown[]): Promise<void> {\n  const [id, simple] = params as [number, boolean];\n  getWindow(id).setSimpleFullScreen(simple);\n}\n\nexport async function isSimpleFullScreenHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return getWindow(id).isSimpleFullScreen();\n}\n\nexport async function setSkipTaskbarHandler(...params: unknown[]): Promise<void> {\n  const [id, skip] = params as [number, boolean];\n  getWindow(id).setSkipTaskbar(skip);\n}\n\nexport async function setContentProtectionHandler(...params: unknown[]): Promise<void> {\n  const [id, enable] = params as [number, boolean];\n  getWindow(id).setContentProtection(enable);\n}\n\nexport async function existsHandler(...params: unknown[]): Promise<boolean> {\n  const [id] = params as [number];\n  return hasWindow(id);\n}\n\nexport async function subscribeEventHandlerRpc(...params: unknown[]): Promise<void> {\n  if (!rpcInstance) {\n    throw new Error(\"RPC server not initialized\");\n  }\n  const [id, eventName] = params as [number, string];\n  await subscribeEventHandler(rpcInstance, id, eventName);\n}\n\nexport async function unsubscribeEventHandlerRpc(...params: unknown[]): Promise<void> {\n  const [id, eventName] = params as [number, string];\n  await unsubscribeEventHandler(id, eventName);\n}\n","import type { RpcServer } from \"electron-json-rpc/main\";\n\nimport {\n  setRpcServer,\n  createHandler,\n  closeHandler,\n  destroyHandler,\n  showHandler,\n  hideHandler,\n  minimizeHandler,\n  maximizeHandler,\n  unmaximizeHandler,\n  restoreHandler,\n  setFullScreenHandler,\n  isFullScreenHandler,\n  focusHandler,\n  blurHandler,\n  setTitleHandler,\n  getTitleHandler,\n  getBoundsHandler,\n  setBoundsHandler,\n  getSizeHandler,\n  setSizeHandler,\n  getPositionHandler,\n  setPositionHandler,\n  centerHandler,\n  getMinimumSizeHandler,\n  setMinimumSizeHandler,\n  getMaximumSizeHandler,\n  setMaximumSizeHandler,\n  setResizableHandler,\n  isResizableHandler,\n  setMovableHandler,\n  isMovableHandler,\n  setMinimizableHandler,\n  isMinimizableHandler,\n  setMaximizableHandler,\n  isMaximizableHandler,\n  setClosableHandler,\n  isClosableHandler,\n  setFocusableHandler,\n  isFocusableHandler,\n  setAlwaysOnTopHandler,\n  isAlwaysOnTopHandler,\n  setMenuBarVisibilityHandler,\n  isMenuBarVisibleHandler,\n  setAutoHideMenuBarHandler,\n  isMenuBarAutoHideHandler,\n  loadURLHandler,\n  loadFileHandler,\n  reloadHandler,\n  openDevToolsHandler,\n  closeDevToolsHandler,\n  isDevToolsOpenedHandler,\n  executeJavaScriptHandler,\n  getAllWindowsHandler,\n  getFocusedWindowHandler,\n  isMaximizedHandler,\n  isMinimizedHandler,\n  isVisibleHandler,\n  isFocusedHandler,\n  setProgressBarHandler,\n  flashFrameHandler,\n  setBackgroundColorHandler,\n  setOpacityHandler,\n  getOpacityHandler,\n  setKioskHandler,\n  isKioskHandler,\n  setSimpleFullScreenHandler,\n  isSimpleFullScreenHandler,\n  setSkipTaskbarHandler,\n  setContentProtectionHandler,\n  existsHandler,\n  subscribeEventHandlerRpc,\n  unsubscribeEventHandlerRpc,\n} from \"./handlers.js\";\n\nconst RPC_METHOD_PREFIX = \"browserWindow\";\n\nexport function registerBrowserWindowModule(rpc: RpcServer): void {\n  setRpcServer(rpc);\n\n  rpc.register(`${RPC_METHOD_PREFIX}.create`, createHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.close`, closeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.destroy`, destroyHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.show`, showHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.hide`, hideHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.minimize`, minimizeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.maximize`, maximizeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.unmaximize`, unmaximizeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.restore`, restoreHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setFullScreen`, setFullScreenHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isFullScreen`, isFullScreenHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.focus`, focusHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.blur`, blurHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setTitle`, setTitleHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getTitle`, getTitleHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getBounds`, getBoundsHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setBounds`, setBoundsHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getSize`, getSizeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setSize`, setSizeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getPosition`, getPositionHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setPosition`, setPositionHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.center`, centerHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getMinimumSize`, getMinimumSizeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setMinimumSize`, setMinimumSizeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getMaximumSize`, getMaximumSizeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setMaximumSize`, setMaximumSizeHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setResizable`, setResizableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isResizable`, isResizableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setMovable`, setMovableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isMovable`, isMovableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setMinimizable`, setMinimizableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isMinimizable`, isMinimizableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setMaximizable`, setMaximizableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isMaximizable`, isMaximizableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setClosable`, setClosableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isClosable`, isClosableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setFocusable`, setFocusableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isFocusable`, isFocusableHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setAlwaysOnTop`, setAlwaysOnTopHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isAlwaysOnTop`, isAlwaysOnTopHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setMenuBarVisibility`, setMenuBarVisibilityHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isMenuBarVisible`, isMenuBarVisibleHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setAutoHideMenuBar`, setAutoHideMenuBarHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isMenuBarAutoHide`, isMenuBarAutoHideHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.loadURL`, loadURLHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.loadFile`, loadFileHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.reload`, reloadHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.openDevTools`, openDevToolsHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.closeDevTools`, closeDevToolsHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isDevToolsOpened`, isDevToolsOpenedHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.executeJavaScript`, executeJavaScriptHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getAllWindows`, getAllWindowsHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getFocusedWindow`, getFocusedWindowHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.exists`, existsHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isMaximized`, isMaximizedHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isMinimized`, isMinimizedHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isVisible`, isVisibleHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isFocused`, isFocusedHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setProgressBar`, setProgressBarHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.flashFrame`, flashFrameHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setBackgroundColor`, setBackgroundColorHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setOpacity`, setOpacityHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.getOpacity`, getOpacityHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setKiosk`, setKioskHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isKiosk`, isKioskHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setSimpleFullScreen`, setSimpleFullScreenHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.isSimpleFullScreen`, isSimpleFullScreenHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setSkipTaskbar`, setSkipTaskbarHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.setContentProtection`, setContentProtectionHandler);\n  rpc.register(`${RPC_METHOD_PREFIX}.subscribeEvent`, subscribeEventHandlerRpc);\n  rpc.register(`${RPC_METHOD_PREFIX}.unsubscribeEvent`, unsubscribeEventHandlerRpc);\n}\n"],"mappings":"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"}