Skip to main content

BaseWindowConstructorOptions 객체

  • width Integer (선택 사항) - 윈도우의 너비를 픽셀 단위로 지정한다. 기본값은 800이다.
  • height Integer (선택 사항) - 윈도우의 높이를 픽셀 단위로 지정한다. 기본값은 600이다.
  • x Integer (선택 사항) - (y를 사용할 경우 필수) 화면 왼쪽에서 윈도우의 오프셋을 지정한다. 기본값은 윈도우를 화면 중앙에 배치한다.
  • y Integer (선택 사항) - (x를 사용할 경우 필수) 화면 상단에서 윈도우의 오프셋을 지정한다. 기본값은 윈도우를 화면 중앙에 배치한다.
  • useContentSize boolean (선택 사항) - widthheight를 웹 페이지의 크기로 사용한다. 실제 윈도우 크기는 윈도우 프레임의 크기를 포함해 약간 더 커진다. 기본값은 false이다.
  • center boolean (선택 사항) - 윈도우를 화면 중앙에 표시한다. 기본값은 false이다.
  • minWidth Integer (선택 사항) - 윈도우의 최소 너비를 지정한다. 기본값은 0이다.
  • minHeight Integer (선택 사항) - 윈도우의 최소 높이를 지정한다. 기본값은 0이다.
  • maxWidth Integer (선택 사항) - 윈도우의 최대 너비를 지정한다. 기본값은 제한이 없다.
  • maxHeight Integer (선택 사항) - 윈도우의 최대 높이를 지정한다. 기본값은 제한이 없다.
  • resizable boolean (선택 사항) - 윈도우 크기 조절 가능 여부를 지정한다. 기본값은 true이다.
  • movable boolean (선택 사항) macOS Windows - 윈도우 이동 가능 여부를 지정한다. Linux에서는 구현되지 않는다. 기본값은 true이다.
  • minimizable boolean (선택 사항) macOS Windows - 윈도우 최소화 가능 여부를 지정한다. Linux에서는 구현되지 않는다. 기본값은 true이다.
  • maximizable boolean (선택 사항) macOS Windows - 윈도우 최대화 가능 여부를 지정한다. Linux에서는 구현되지 않는다. 기본값은 true이다.
  • closable boolean (선택 사항) macOS Windows - 윈도우 닫기 가능 여부를 지정한다. Linux에서는 구현되지 않는다. 기본값은 true이다.
  • focusable boolean (선택 사항) - 윈도우 포커스 가능 여부를 지정한다. 기본값은 true이다. Windows에서 focusable: false로 설정하면 skipTaskbar: true도 함께 설정된다. Linux에서 focusable: false로 설정하면 윈도우가 wm과 상호작용하지 않아 모든 작업 공간에서 항상 최상위에 위치한다.
  • alwaysOnTop boolean (선택 사항) - 윈도우가 항상 다른 윈도우 위에 위치할지 여부를 지정한다. 기본값은 false이다.
  • fullscreen boolean (선택 사항) - 윈도우를 전체 화면으로 표시할지 여부를 지정한다. macOS에서 명시적으로 false로 설정하면 전체 화면 버튼이 숨겨지거나 비활성화된다. 기본값은 false이다.
  • fullscreenable boolean (선택 사항) - 윈도우를 전체 화면 모드로 전환할 수 있는지 여부를 지정한다. macOS에서는 최대화/확대 버튼이 전체 화면 모드와 윈도우 최대화를 전환할지 여부도 결정한다. 기본값은 true이다.
  • simpleFullscreen boolean (선택 사항) macOS - macOS에서 Lion 이전의 전체 화면 모드를 사용한다. 기본값은 false이다.
  • skipTaskbar boolean (선택 사항) macOS Windows - 윈도우를 작업 표시줄에 표시할지 여부를 지정한다. 기본값은 false이다.
  • hiddenInMissionControl boolean (선택 사항) macOS - 사용자가 미션 컨트롤로 전환할 때 윈도우를 숨길지 여부를 지정한다.
  • kiosk boolean (선택 사항) - 윈도우가 키오스크 모드인지 여부를 지정한다. 기본값은 false이다.
  • title string (선택 사항) - 기본 윈도우 제목을 지정한다. 기본값은 "Electron"이다. loadURL()로 로드된 HTML 파일에 <title> 태그가 정의되어 있으면 이 속성은 무시된다.
  • icon (NativeImage | string) (선택 사항) - 윈도우 아이콘을 지정한다. Windows에서는 ICO 아이콘을 사용해 최상의 시각적 효과를 얻을 수 있으며, 정의하지 않으면 실행 파일의 아이콘이 사용된다.
  • show boolean (선택 사항) - 윈도우 생성 시 표시할지 여부를 지정한다. 기본값은 true이다.
  • frame boolean (선택 사항) - false로 설정하면 프레임 없는 윈도우를 생성한다. 기본값은 true이다.
  • parent BaseWindow (선택 사항) - 부모 윈도우를 지정한다. 기본값은 null이다.
  • modal boolean (선택 사항) - 이 윈도우가 모달 윈도우인지 여부를 지정한다. 이 옵션은 윈도우가 자식 윈도우일 때만 작동한다. 기본값은 false이다.
  • acceptFirstMouse boolean (선택 사항) macOS - 비활성화된 윈도우를 클릭할 때 웹 콘텐츠까지 클릭이 전달될지 여부를 지정한다. macOS에서 기본값은 false이며, 다른 플랫폼에서는 설정할 수 없다.
  • disableAutoHideCursor boolean (선택 사항) - 타이핑 시 커서를 숨길지 여부를 지정한다. 기본값은 false이다.
  • autoHideMenuBar boolean (선택 사항) - Alt 키를 누르지 않으면 메뉴 바를 자동으로 숨긴다. 기본값은 false이다.
  • enableLargerThanScreen boolean (선택 사항) macOS - 윈도우를 화면보다 크게 조절할 수 있게 한다. macOS에서만 유효하며, 다른 OS는 기본적으로 화면보다 큰 윈도우를 허용한다. 기본값은 false이다.
  • backgroundColor string (선택 사항) - 윈도우의 배경색을 Hex, RGB, RGBA, HSL, HSLA 또는 CSS 색상 이름 형식으로 지정한다. transparenttrue로 설정된 경우 #AARRGGBB 형식의 알파 값을 지원한다. 기본값은 #FFF(흰색)이다. 자세한 내용은 win.setBackgroundColor을 참고한다.
  • hasShadow boolean (선택 사항) - 윈도우에 그림자를 표시할지 여부를 지정한다. 기본값은 true이다.
  • opacity number (선택 사항) macOS Windows - 윈도우의 초기 투명도를 0.0(완전 투명)에서 1.0(완전 불투명) 사이로 설정한다. Windows와 macOS에서만 구현된다.
  • darkTheme boolean (선택 사항) - 윈도우에 다크 테마를 강제로 적용한다. 일부 GTK+3 데스크톱 환경에서만 작동한다. 기본값은 false이다.
  • transparent boolean (선택 사항) - 윈도우를 투명하게 만든다. 기본값은 false이다. Windows에서는 프레임 없는 윈도우에서만 작동한다.
  • type string (선택 사항) - 윈도우 타입을 지정한다. 기본값은 일반 윈도우이다. 자세한 내용은 아래를 참고한다.
  • visualEffectState string (선택 사항) macOS - macOS에서 윈도우 활동 상태에 따라 재질 외관이 어떻게 반영될지 지정한다. vibrancy 속성과 함께 사용해야 한다. 가능한 값은 다음과 같다:
    • followWindow - 윈도우가 활성화되면 배경이 자동으로 활성화되고, 비활성화되면 비활성화된다. 기본값이다.
    • active - 배경이 항상 활성화된 상태로 유지된다.
    • inactive - 배경이 항상 비활성화된 상태로 유지된다.
  • titleBarStyle string (선택 사항) - 윈도우 타이틀 바 스타일을 지정한다. 기본값은 default이다. 가능한 값은 다음과 같다:
    • default - macOS 또는 Windows의 표준 타이틀 바를 사용한다.
    • hidden - 타이틀 바를 숨기고 콘텐츠 창을 전체 크기로 표시한다. macOS에서는 여전히 왼쪽 상단에 표준 윈도우 컨트롤("트래픽 라이트")이 표시된다. Windows와 Linux에서 titleBarOverlay: true와 함께 사용하면 Window Controls Overlay가 활성화되고, 그렇지 않으면 윈도우 컨트롤이 표시되지 않는다.
    • hiddenInset macOS - 타이틀 바를 숨기고 트래픽 라이트 버튼이 윈도우 가장자리에서 약간 안쪽으로 들어간 대체 스타일을 사용한다.
    • customButtonsOnHover macOS - 타이틀 바를 숨기고 콘텐츠 창을 전체 크기로 표시하며, 윈도우 왼쪽 상단을 호버할 때 트래픽 라이트 버튼이 표시된다. 참고: 이 옵션은 현재 실험적이다.
  • titleBarOverlay Object | Boolean (선택 사항) - macOS에서 win.setWindowButtonVisibility(true)와 함께 프레임 없는 윈도우를 사용하거나 titleBarStyle을 사용해 표준 윈도우 컨트롤("트래픽 라이트" on macOS)이 표시될 때, 이 속성은 Window Controls Overlay JavaScript APIsCSS Environment Variables를 활성화한다. true로 지정하면 기본 시스템 색상으로 오버레이가 표시된다. 기본값은 false이다.
    • color String (선택 사항) Windows Linux - Window Controls Overlay의 CSS 색상을 지정한다. 기본값은 시스템 색상이다.
    • symbolColor String (선택 사항) Windows - Window Controls Overlay의 심볼 CSS 색상을 지정한다. 기본값은 시스템 색상이다.
    • height Integer (선택 사항) - 타이틀 바와 Window Controls Overlay의 높이를 픽셀 단위로 지정한다. 기본값은 시스템 높이이다.
  • trafficLightPosition Point (선택 사항) macOS - 프레임 없는 윈도우에서 트래픽 라이트 버튼의 위치를 지정한다.
  • roundedCorners boolean (선택 사항) macOS - 프레임 없는 윈도우의 모서리를 둥글게 할지 여부를 지정한다. 기본값은 true이다. 이 속성을 false로 설정하면 윈도우를 전체 화면으로 전환할 수 없다.
  • thickFrame boolean (선택 사항) - Windows에서 프레임 없는 윈도우에 WS_THICKFRAME 스타일을 사용해 표준 윈도우 프레임을 추가한다. false로 설정하면 윈도우 그림자와 애니메이션이 제거된다. 기본값은 true이다.
  • vibrancy string (선택 사항) macOS - 윈도우에 특정 유형의 비브란시 효과를 추가한다. macOS에서만 사용할 수 있다. 가능한 값은 appearance-based, titlebar, selection, menu, popover, sidebar, header, sheet, window, hud, fullscreen-ui, tooltip, content, under-window, under-page이다.
  • backgroundMaterial string (선택 사항) Windows - 윈도우의 시스템 그려진 배경 재질을 설정한다. 비클라이언트 영역 뒤에도 적용된다. 가능한 값은 auto, none, mica, acrylic, tabbed이다. 자세한 내용은 win.setBackgroundMaterial을 참고한다.
  • zoomToPageWidth boolean (선택 사항) macOS - macOS에서 툴바의 녹색 정지 버튼을 옵션 클릭하거나 Window > Zoom 메뉴 항목을 클릭할 때의 동작을 제어한다. true로 설정하면 확대 시 웹 페이지의 기본 너비로 윈도우가 확대되고, false로 설정하면 화면 너비로 확대된다. 이 설정은 maximize()를 직접 호출할 때도 영향을 미친다. 기본값은 false이다.
  • tabbingIdentifier string (선택 사항) macOS - 탭 그룹 이름을 지정해 윈도우를 네이티브 탭으로 열 수 있게 한다. 동일한 탭 그룹 식별자를 가진 윈도우는 함께 그룹화된다. 또한 윈도우 탭 바에 네이티브 새 탭 버튼이 추가되고 app과 윈도우가 new-window-for-tab 이벤트를 받을 수 있게 된다.

minWidth/maxWidth/minHeight/maxHeight로 윈도우의 최소 또는 최대 크기를 설정할 때, 이는 사용자만 제한한다. setBounds/setSize 또는 BrowserWindow 생성자에 크기 제약을 따르지 않는 크기를 전달하는 것을 막지는 않는다.

type 옵션의 가능한 값과 동작은 플랫폼에 따라 다르다. 가능한 값은 다음과 같다:

  • Linux에서 가능한 타입은 desktop, dock, toolbar, splash, notification이다.
    • desktop 타입은 윈도우를 데스크톱 배경 윈도우 레벨(kCGDesktopWindowLevel - 1)에 배치한다. 하지만 데스크톱 윈도우는 포커스, 키보드, 마우스 이벤트를 받지 않는다. globalShortcut을 사용해 간헐적으로 입력을 받을 수 있다.
    • dock 타입은 독(Dock)과 유사한 윈도우 동작을 생성한다.
    • toolbar 타입은 툴바 형태의 윈도우를 생성한다.
    • splash 타입은 특정 방식으로 동작한다. 윈도우 본문의 CSS 스타일에 -webkit-app-region: drag가 포함되어 있어도 드래그할 수 없다. 이 타입은 주로 스플래시 스크린에 사용된다.
    • notification 타입은 시스템 알림과 유사한 동작을 하는 윈도우를 생성한다.
  • macOS에서 가능한 타입은 desktop, textured, panel이다.
    • textured 타입은 금속 그라데이션 외관을 추가한다. 이 옵션은 더 이상 사용되지 않는다.
    • desktop 타입은 윈도우를 데스크톱 배경 윈도우 레벨(kCGDesktopWindowLevel - 1)에 배치한다. 데스크톱 윈도우는 포커스, 키보드, 마우스 이벤트를 받지 않지만 globalShortcut을 사용해 간헐적으로 입력을 받을 수 있다.
    • panel 타입은 런타임에 NSWindowStyleMaskNonactivatingPanel 스타일 마스크를 추가해 윈도우가 전체 화면 앱 위에 떠 있게 한다. 일반적으로 NSPanel에 예약된 스타일이며, 윈도우는 모든 스페이스(데스크톱)에 나타난다.
  • Windows에서 가능한 타입은 toolbar이다.