本文へスキップ

BaseWindow

ウィンドウの作成と制御。

プロセス: メイン

注意 BaseWindow は、単一ウィンドウに複数のウェブビューを合成する柔軟な方法を提供します。単一のフルサイズウェブビューのみを持つウィンドウの場合、BrowserWindow クラスの方が簡単な選択肢となる可能性があります。

このモジュールは、app モジュールの ready イベントが発行されるまで使用できません。

// In the main process.
const { BaseWindow, WebContentsView } = require('electron')

const win = new BaseWindow({ width: 800, height: 600 })

const leftView = new WebContentsView()
leftView.webContents.loadURL('https://electron.dokyumento.jp')
win.contentView.addChildView(leftView)

const rightView = new WebContentsView()
rightView.webContents.loadURL('https://github.com/electron/electron')
win.contentView.addChildView(rightView)

leftView.setBounds({ x: 0, y: 0, width: 400, height: 600 })
rightView.setBounds({ x: 400, y: 0, width: 400, height: 600 })

親ウィンドウと子ウィンドウ

parent オプションを使用することで、子ウィンドウを作成できます。

const { BaseWindow } = require('electron')

const parent = new BaseWindow()
const child = new BaseWindow({ parent })

child ウィンドウは常にparent ウィンドウの上に表示されます。

モーダルウィンドウは、親ウィンドウを無効にする子ウィンドウです。モーダルウィンドウを作成するには、parentmodal の両方のオプションを設定する必要があります。

const { BaseWindow } = require('electron')

const parent = new BaseWindow()
const child = new BaseWindow({ parent, modal: true })

プラットフォームに関する注意事項

  • macOSでは、モーダルウィンドウは親ウィンドウにアタッチされたシートとして表示されます。
  • macOSでは、親ウィンドウが移動した場合、子ウィンドウは親ウィンドウに対する相対位置を維持しますが、WindowsとLinuxでは子ウィンドウは移動しません。
  • Linuxでは、モーダルウィンドウのタイプはdialogに変更されます。
  • Linuxでは、多くのデスクトップ環境がモーダルウィンドウの非表示をサポートしていません。

クラス: BaseWindow

ウィンドウの作成と制御。

プロセス: メイン

BaseWindowEventEmitterです。

これは、optionsで設定されたネイティブプロパティを使用して新しいBaseWindowを作成します。

new BaseWindow([options])

  • options BaseWindowConstructorOptions (オプション)
    • width 整数 (オプション) - ウィンドウの幅(ピクセル単位)。デフォルトは800です。
    • height 整数 (オプション) - ウィンドウの高さ(ピクセル単位)。デフォルトは600です。
    • x 整数 (オプション) - (y が使用されている場合は必須) 画面からのウィンドウの左側のオフセット。デフォルトでは、ウィンドウを中央に配置します。
    • y 整数 (オプション) - (x が使用されている場合は必須) 画面からのウィンドウの上側のオフセット。デフォルトでは、ウィンドウを中央に配置します。
    • useContentSize ブール値 (オプション) - widthheight はウェブページのサイズとして使用されます。つまり、実際のウィンドウのサイズはウィンドウフレームのサイズを含み、わずかに大きくなります。デフォルトはfalseです。
    • center ブール値 (オプション) - ウィンドウを画面の中央に表示します。デフォルトはfalseです。
    • minWidth 整数 (オプション) - ウィンドウの最小幅。デフォルトは0です。
    • minHeight 整数 (オプション) - ウィンドウの最小高さ。デフォルトは0です。
    • maxWidth 整数 (オプション) - ウィンドウの最大幅。デフォルトは制限なしです。
    • maxHeight 整数 (オプション) - ウィンドウの最大高さ。デフォルトは制限なしです。
    • resizable ブール値 (オプション) - ウィンドウのサイズ変更が可能かどうか。デフォルトはtrueです。
    • movable ブール値 (オプション) macOS Windows - ウィンドウの移動が可能かどうか。Linuxでは実装されていません。デフォルトはtrueです。
    • minimizable ブール値 (オプション) macOS Windows - ウィンドウの最小化が可能かどうか。Linuxでは実装されていません。デフォルトはtrueです。
    • maximizable ブール値 (オプション) macOS Windows - ウィンドウの最大化が可能かどうか。Linuxでは実装されていません。デフォルトはtrueです。
    • closable ブール値 (オプション) macOS Windows - ウィンドウの閉じが可能かどうか。Linuxでは実装されていません。デフォルトはtrueです。
    • focusable ブール値 (オプション) - ウィンドウにフォーカスできるかどうか。デフォルトはtrueです。Windowsでは、focusable: false を設定すると、skipTaskbar: true も設定されることを意味します。Linuxでは、focusable: false を設定すると、ウィンドウはwmとのインタラクションを停止するため、ウィンドウは常にすべてのワークスペースで最前面に表示されます。
    • alwaysOnTop ブール値 (オプション) - ウィンドウを常に他のウィンドウの上に表示するかどうか。デフォルトはfalseです。
    • fullscreen ブール値 (オプション) - ウィンドウをフルスクリーンで表示するかどうか。明示的にfalseに設定すると、macOSではフルスクリーンボタンが非表示または無効になります。デフォルトはfalseです。
    • fullscreenable ブール値 (オプション) - ウィンドウをフルスクリーンモードにできるかどうか。macOSでは、最大化/ズームボタンがフルスクリーンモードを切り替えるか、ウィンドウを最大化するかも指定します。デフォルトはtrueです。
    • simpleFullscreen ブール値 (オプション) macOS - macOSでLion以前のフルスクリーンを使用します。デフォルトはfalseです。
    • skipTaskbar ブール値 (オプション) macOS Windows - タスクバーにウィンドウを表示するかどうか。デフォルトはfalseです。
    • hiddenInMissionControl ブール値 (オプション) macOS - ユーザーがMission Controlに切り替えたときにウィンドウを非表示にするかどうか。
    • kiosk ブール値 (オプション) - ウィンドウがキオスクモードかどうか。デフォルトはfalseです。
    • title 文字列 (オプション) - デフォルトのウィンドウタイトル。デフォルトは"Electron"です。loadURL()でロードされたHTMLファイルにHTMLタグ<title>が定義されている場合、このプロパティは無視されます。
    • icon (NativeImage | 文字列) (オプション) - ウィンドウアイコン。Windowsでは、最高の視覚効果を得るためにICOアイコンを使用することをお勧めします。実行ファイルのアイコンを使用することもできます。
    • show ブール値 (オプション) - 作成時にウィンドウを表示するかどうか。デフォルトはtrueです。
    • frame ブール値 (オプション) - フレームレスウィンドウを作成するにはfalseを指定します。デフォルトはtrueです。
    • parent BaseWindow (オプション) - 親ウィンドウを指定します。デフォルトはnullです。
    • modal ブール値 (オプション) - モーダルウィンドウかどうか。これは、ウィンドウが子ウィンドウの場合にのみ機能します。デフォルトはfalseです。
    • acceptFirstMouse ブール値 (オプション) macOS - 非アクティブなウィンドウをクリックすると、ウェブコンテンツにもクリックが伝わります。macOSではデフォルトはfalseです。このオプションは他のプラットフォームでは設定できません。
    • disableAutoHideCursor ブール値 (オプション) - 入力時にカーソルを非表示にするかどうか。デフォルトはfalseです。
    • autoHideMenuBar ブール値 (オプション) - Altキーを押していない限り、メニューバーを自動的に非表示にします。デフォルトはfalseです。
    • enableLargerThanScreen ブール値 (オプション) macOS - ウィンドウのサイズを画面サイズよりも大きくできるかどうか。他のOSではデフォルトで画面より大きいウィンドウが許可されるため、macOSにのみ関連します。デフォルトはfalseです。
    • backgroundColor 文字列 (オプション) - ウィンドウの背景色(16進数、RGB、RGBA、HSL、HSLA、または名前付きCSSカラー形式)。transparenttrue に設定されている場合、#AARRGGBB形式のアルファがサポートされます。デフォルトは#FFF(白)です。win.setBackgroundColorで詳細をご覧ください。
    • hasShadow ブール値 (オプション) - ウィンドウに影を付けるかどうか。デフォルトはtrueです。
    • opacity 数値 (オプション) macOS Windows - ウィンドウの初期の不透明度を0.0(完全に透明)から1.0(完全に不透明)の間で設定します。これはWindowsとmacOSでのみ実装されています。
    • darkTheme ブール値 (オプション) - ウィンドウでダークテーマを強制的に使用します。一部のGTK+3デスクトップ環境でのみ機能します。デフォルトはfalseです。
    • transparent ブール値 (オプション) - ウィンドウを透明にします。デフォルトはfalseです。Windowsでは、ウィンドウがフレームレスでない限り機能しません。
    • type 文字列 (オプション) - ウィンドウの種類。デフォルトは通常のウィンドウです。下記で詳細をご覧ください。
    • visualEffectState 文字列 (オプション) macOS - macOSでマテリアルの外観がウィンドウのアクティビティ状態をどのように反映するかを指定します。vibrancyプロパティと組み合わせて使用する必要があります。可能な値は次のとおりです。
      • followWindow - バックドロップは、ウィンドウがアクティブなときは自動的にアクティブになり、アクティブでないときは非アクティブになります。これはデフォルトです。
      • active - バックドロップは常にアクティブな状態になります。
      • inactive - バックドロップは常に非アクティブな状態になります。
    • titleBarStyle 文字列 (オプション) - ウィンドウタイトルバーのスタイル。デフォルトはdefaultです。可能な値は次のとおりです。
      • default - それぞれmacOSまたはWindowsの標準的なタイトルバーになります。
      • hidden - タイトルバーが非表示になり、コンテンツウィンドウがフルサイズになります。macOSでは、ウィンドウには左上に標準のウィンドウコントロール(「信号機」)が依然として表示されます。WindowsとLinuxでは、titleBarOverlay: trueと組み合わせると、ウィンドウコントロールオーバーレイがアクティブになります(詳細はtitleBarOverlayを参照)。それ以外の場合は、ウィンドウコントロールは表示されません。
      • hiddenInset macOS - 信号機ボタンがウィンドウの端からわずかに内側に配置された代替の外観で、タイトルバーが非表示になります。
      • customButtonsOnHover macOS - タイトルバーを非表示にし、コンテンツウィンドウを全画面サイズにします。ウィンドウの左上に配置された信号機ボタンは、ホバー時に表示されます。注記: このオプションは現在実験段階です。
    • titleBarOverlay オブジェクト | ブール値(オプション) - macOSでwin.setWindowButtonVisibility(true)と共にフレームレスウィンドウを使用する場合、または標準的なウィンドウコントロール(macOSの「信号機」)が表示されるようにtitleBarStyleを使用する場合、このプロパティはWindow Controls Overlay JavaScript APICSS環境変数を有効にします。trueを指定すると、デフォルトのシステムカラーのオーバーレイが表示されます。デフォルトはfalseです。
      • color 文字列(オプション) Windows Linux - Window Controls Overlayが有効になっている場合のCSSカラー。デフォルトはシステムカラーです。
      • symbolColor 文字列(オプション) Windows - Window Controls Overlayが有効になっている場合のシンボルのCSSカラー。デフォルトはシステムカラーです。
      • height 整数(オプション) - タイトルバーとWindow Controls Overlayの高さをピクセル単位で指定します。デフォルトはシステムの高さです。
    • trafficLightPosition Point(オプション) macOS - フレームレスウィンドウで信号機ボタンのカスタム位置を設定します。
    • roundedCorners ブール値(オプション) macOS - macOSのフレームレスウィンドウに丸角を付けるかどうか。デフォルトはtrueです。このプロパティをfalseに設定すると、ウィンドウをフルスクリーンにすることができなくなります。
    • thickFrame ブール値(オプション) - WindowsのフレームレスウィンドウにWS_THICKFRAMEスタイルを使用します。これにより、標準的なウィンドウフレームが追加されます。falseに設定すると、ウィンドウのシャドウとアニメーションが削除されます。デフォルトはtrueです。
    • vibrancy 文字列(オプション) macOS - macOSのみで、ウィンドウに様々な種類のビブランシー効果を追加します。 appearance-basedtitlebarselectionmenupopoversidebarheadersheetwindowhudfullscreen-uitooltipcontentunder-windowunder-pageのいずれかになります。
    • backgroundMaterial 文字列(オプション) Windows - クライアント領域以外も含め、ウィンドウのシステム描画バックグラウンド素材を設定します。autononemicaacrylictabbedのいずれかになります。win.setBackgroundMaterial を参照してください。
    • zoomToPageWidth ブール値(オプション) macOS - ツールバーの緑色の信号機ボタンをOptionキーを押しながらクリックした場合、または「ウィンドウ」>「ズーム」メニュー項目をクリックした場合のmacOSでの動作を制御します。trueの場合、ウィンドウはズーム時にウェブページの推奨幅に拡大され、falseの場合は画面の幅にズームされます。これは、maximize()を直接呼び出す場合の動作にも影響します。デフォルトはfalseです。
    • tabbingIdentifier 文字列(オプション) macOS - タブグループ名。ネイティブタブとしてウィンドウを開くことができます。同じtabbingIdentifierを持つウィンドウはグループ化されます。これにより、ウィンドウのタブバーにネイティブな新しいタブボタンが追加され、アプリケーションとウィンドウがnew-window-for-tabイベントを受信できるようになります。

minWidth/maxWidth/minHeight/maxHeightを使用してウィンドウの最小サイズまたは最大サイズを設定する場合、ユーザーを制限するだけです。setBounds/setSizeまたはBrowserWindowのコンストラクターにサイズ制約に従わないサイズを渡すのを防ぐことはできません。

typeオプションの可能な値と動作は、プラットフォームに依存します。可能な値は次のとおりです。

  • Linuxでは、可能な型はdesktopdocktoolbarsplashnotificationです。
    • desktop型は、ウィンドウをデスクトップバックグラウンドウィンドウレベル(kCGDesktopWindowLevel - 1)に配置します。ただし、デスクトップウィンドウはフォーカス、キーボード、またはマウスイベントを受け取りません。グローバルショートカットを使用して、必要最小限の入力を受け取ることはできます。
    • dock型は、ドックのようなウィンドウの動作を作成します。
    • toolbar型は、ツールバーのような外観のウィンドウを作成します。
    • splash型は特定の方法で動作します。ウィンドウのbodyのCSSスタイルに-webkit-app-region: dragが含まれていても、ドラッグできません。この型は、一般的にスプラッシュスクリーンに使用されます。
    • notification型は、システム通知のように動作するウィンドウを作成します。
  • macOSでは、可能な型はdesktoptexturedpanelです。
    • textured型は、メタルグラデーションの外観(NSWindowStyleMaskTexturedBackground)を追加します。
    • desktop型は、ウィンドウをデスクトップバックグラウンドウィンドウレベル(kCGDesktopWindowLevel - 1)に配置します。デスクトップウィンドウはフォーカス、キーボード、またはマウスイベントを受け取りませんが、globalShortcutを使用して、必要最小限の入力を受け取ることはできます。
    • panel型は、通常はNSPanel用に予約されているNSWindowStyleMaskNonactivatingPanelスタイルマスクをランタイムに追加することにより、ウィンドウが全画面アプリの上に浮いていることを可能にします。また、ウィンドウはすべてのスペース(デスクトップ)に表示されます。
  • Windowsでは、可能な型はtoolbarです。

インスタンスイベント

new BaseWindowで作成されたオブジェクトは、次のイベントを発生させます。

注記: 一部のイベントは特定のオペレーティングシステムでのみ利用可能であり、そのようにラベル付けされています。

イベント: 'close'

戻り値

  • event イベント

ウィンドウが閉じられようとしているときに発生します。DOMのbeforeunloadイベントとunloadイベントの前に発生します。event.preventDefault()を呼び出すと、閉じることがキャンセルされます。

通常、ウィンドウを閉じるかどうかを決定するためにbeforeunloadハンドラーを使用します。これは、ウィンドウがリロードされた場合にも呼び出されます。Electronでは、undefined以外の値を返すことで閉じることがキャンセルされます。例:

window.onbeforeunload = (e) => {
console.log('I do not want to be closed')

// Unlike usual browsers that a message box will be prompted to users, returning
// a non-void value will silently cancel the close.
// It is recommended to use the dialog API to let the user confirm closing the
// application.
e.returnValue = false
}

注記: window.onbeforeunload = handlerwindow.addEventListener('beforeunload', handler)の動作には微妙な違いがあります。前者はElectron内でより一貫して動作するため、値を返すだけでなく、常にevent.returnValueを明示的に設定することをお勧めします。

イベント: 'closed'

ウィンドウが閉じられたときに発生します。このイベントを受信したら、ウィンドウへの参照を削除し、それ以上使用しないでください。

イベント: 'session-end' Windows

強制シャットダウン、マシンの再起動、またはセッションログオフのためにウィンドウセッションが終了しようとしているときに発生します。

イベント: 'blur'

ウィンドウがフォーカスを失ったときに発生します。

イベント: 'focus'

ウィンドウがフォーカスを得たときに発生します。

イベント: 'show'

ウィンドウが表示されたときに発生します。

イベント: 'hide'

ウィンドウが非表示になったときに発生します。

イベント: 'maximize'

ウィンドウが最大化されたときに発生します。

イベント: 'unmaximize'

ウィンドウが最大化状態から終了したときに発生します。

イベント: 'minimize'

ウィンドウが最小化されたときに発生します。

イベント: 'restore'

ウィンドウが最小化状態から復元されたときに発生します。

イベント: 'will-resize' macOS Windows

戻り値

  • event イベント
  • newBounds Rectangle - ウィンドウがリサイズされるサイズ。
  • details オブジェクト
    • edge (文字列) - リサイズのためにドラッグされているウィンドウのエッジ。bottomleftrighttop-lefttop-rightbottom-leftbottom-rightのいずれかになります。

ウィンドウがリサイズされる前に発生します。event.preventDefault()を呼び出すと、ウィンドウのリサイズが防止されます。

これは、ウィンドウが手動でリサイズされている場合にのみ発生することに注意してください。setBounds/setSizeを使用してウィンドウをリサイズしても、このイベントは発生しません。

edgeオプションの可能な値と動作は、プラットフォームに依存します。可能な値は次のとおりです。

  • Windowsでは、可能な値はbottomtopleftrighttop-lefttop-rightbottom-leftbottom-rightです。
  • macOSでは、可能な値はbottomrightです。
    • bottom値は、垂直方向のリサイズを示すために使用されます。
    • right値は、水平方向のリサイズを示すために使用されます。

イベント: 'resize'

ウィンドウがリサイズされた後に発生します。

イベント: 'resized' macOS Windows

ウィンドウのリサイズが完了したときに一度発生します。

これは通常、ウィンドウが手動でサイズ変更されたときに送出されます。macOSでは、setBounds/setSizeでウィンドウのサイズを変更し、animateパラメータをtrueに設定すると、サイズ変更が完了した後にこのイベントも1回送出されます。

イベント: 'will-move' macOS Windows

戻り値

  • event イベント
  • newBounds Rectangle - ウィンドウが移動される位置。

ウィンドウが移動される前に送出されます。Windowsでは、event.preventDefault()を呼び出すと、ウィンドウの移動を阻止できます。

これは、ウィンドウを手動で移動した場合にのみ送出されることに注意してください。setPosition/setBounds/centerを使用してウィンドウを移動しても、このイベントは送出されません。

イベント: 'move'

ウィンドウが新しい位置に移動されるときに送出されます。

イベント: 'moved' macOS Windows

ウィンドウが新しい位置に移動されるときに1回送出されます。

注記: macOSでは、このイベントはmoveのエイリアスです。

イベント: 'enter-full-screen'

ウィンドウがフルスクリーン状態になるときに送出されます。

イベント: 'leave-full-screen'

ウィンドウがフルスクリーン状態から抜けるときに送出されます。

イベント: 'always-on-top-changed'

戻り値

  • event イベント
  • isAlwaysOnTop boolean

ウィンドウが常に他のウィンドウの上に表示されるように設定または解除されたときに送出されます。

イベント: 'app-command' Windows Linux

戻り値

  • event イベント
  • command string

アプリケーションコマンドが呼び出されるときに送出されます。これらは通常、キーボードのメディアキーまたはブラウザのコマンド、およびWindowsの一部のマウスに組み込まれている「戻る」ボタンに関連しています。

コマンドは小文字になり、アンダースコアはハイフンに置き換えられ、APPCOMMAND_プレフィックスは削除されます。例:APPCOMMAND_BROWSER_BACKWARDbrowser-backwardとして送出されます。

const { BaseWindow } = require('electron')
const win = new BaseWindow()
win.on('app-command', (e, cmd) => {
// Navigate the window back when the user hits their mouse back button
if (cmd === 'browser-backward') {
// Find the appropriate WebContents to navigate.
}
})

次のアプリケーションコマンドは、Linuxで明示的にサポートされています。

  • browser-backward
  • browser-forward

イベント: 'swipe' macOS

戻り値

  • event イベント
  • direction string

3本指スワイプで送出されます。可能な方向はuprightdownleftです。

このイベントを基盤とするメソッドは、画面上のコンテンツがスワイプと共に移動しない、古いmacOSスタイルのトラックパッドスワイプを処理するように構築されています。ほとんどのmacOSトラックパッドはこの種のスワイプを許可するように構成されていません。そのため、正しく送出するには、システム環境設定 > トラックパッド > その他のジェスチャの「ページ間のスワイプ」設定を「2本または3本指でスワイプ」に設定する必要があります。

イベント: 'rotate-gesture' macOS

戻り値

  • event イベント
  • rotation Float

トラックパッドの回転ジェスチャで送出されます。回転ジェスチャが終了するまで継続的に送出されます。各送出時のrotation値は、前回送出以降に回転した角度(度)です。回転ジェスチャでの最後の送出イベントの値は常に0です。反時計回りの回転値は正で、時計回りの回転値は負です。

イベント: 'sheet-begin' macOS

ウィンドウがシートを開くと送出されます。

イベント: 'sheet-end' macOS

ウィンドウがシートを閉じると送出されます。

イベント: 'new-window-for-tab' macOS

ネイティブの新しいタブボタンがクリックされると送出されます。

イベント: 'system-context-menu' Windows

戻り値

  • event イベント
  • point Point - コンテキストメニューがトリガーされた画面座標。

ウィンドウでシステムコンテキストメニューがトリガーされると送出されます。これは通常、ユーザーがウィンドウのクライアント領域以外(ウィンドウのタイトルバー、またはフレームレスウィンドウで-webkit-app-region: dragとして宣言した領域)を右クリックした場合にのみトリガーされます。

event.preventDefault()を呼び出すと、メニューの表示を阻止できます。

静的メソッド

BaseWindowクラスには、次の静的メソッドがあります。

BaseWindow.getAllWindows()

BaseWindow[]を返します - 開いているすべてのブラウザウィンドウの配列。

BaseWindow.getFocusedWindow()

BaseWindow | nullを返します - このアプリケーションでフォーカスされているウィンドウ。そうでない場合はnullを返します。

BaseWindow.fromId(id)

  • id Integer

BaseWindow | nullを返します - 指定されたidを持つウィンドウ。

インスタンスプロパティ

new BaseWindowで作成されたオブジェクトには、次のプロパティがあります。

const { BaseWindow } = require('electron')
// In this example `win` is our instance
const win = new BaseWindow({ width: 800, height: 600 })

win.id 読み取り専用

ウィンドウの一意のIDを表すInteger型のプロパティ。各IDは、Electronアプリケーション全体のすべてのBaseWindowインスタンス間で一意です。

win.contentView

ウィンドウのコンテンツビューのView型のプロパティ。

win.tabbingIdentifier macOS 読み取り専用

BrowserWindowコンストラクタに渡されたtabbingIdentifierと等しいstring型(オプション)のプロパティ。設定されていない場合はundefined

win.autoHideMenuBar

ウィンドウのメニューバーが自動的に非表示になるかどうかを決定するboolean型のプロパティ。設定されると、メニューバーはユーザーが単一のAltキーを押したときのみ表示されます。

メニューバーが既に表示されている場合、このプロパティをtrueに設定しても、すぐに非表示になりません。

win.simpleFullScreen

ウィンドウが単純な(Lion以前の)フルスクリーンモードかどうかを決定するboolean型のプロパティ。

win.fullScreen

ウィンドウがフルスクリーンモードかどうかを決定するboolean型のプロパティ。

win.focusable Windows macOS

ウィンドウがフォーカス可能かどうかを決定するboolean型のプロパティ。

win.visibleOnAllWorkspaces macOS Linux

ウィンドウがすべてのワークスペースで表示されるかどうかを決定するboolean型のプロパティ。

注記: Windowsでは常にfalseを返します。

win.shadow

ウィンドウに影があるかどうかを決定するboolean型のプロパティ。

win.menuBarVisible Windows Linux

メニューバーを表示するかどうかを決定するboolean型のプロパティ。

注記: メニューバーが自動非表示の場合でも、ユーザーは単一のAltキーを押してメニューバーを表示できます。

win.kiosk

ウィンドウがキオスクモードかどうかを決定するboolean型のプロパティ。

win.documentEdited macOS

ウィンドウのドキュメントが編集されたかどうかを指定するboolean型のプロパティ。

trueに設定すると、タイトルバーのアイコンがグレーになります。

win.representedFilename macOS

ウィンドウが表すファイルのパス名を決定するstring型のプロパティです。ファイルのアイコンはウィンドウのタイトルバーに表示されます。

win.title

ネイティブウィンドウのタイトルを決定するstring型のプロパティです。

注記: ウェブページのタイトルとネイティブウィンドウのタイトルは異なる場合があります。

win.minimizable macOS Windows

ユーザーが手動でウィンドウを最小化できるかどうかを決定するboolean型のプロパティです。

Linuxでは、セッターはノーオペレーションですが、ゲッターはtrueを返します。

win.maximizable macOS Windows

ユーザーが手動でウィンドウを最大化できるかどうかを決定するboolean型のプロパティです。

Linuxでは、セッターはノーオペレーションですが、ゲッターはtrueを返します。

win.fullScreenable

最大化/ズームウィンドウボタンが全画面モードを切り替えるか、ウィンドウを最大化するかどうかを決定するboolean型のプロパティです。

win.resizable

ユーザーが手動でウィンドウのサイズを変更できるかどうかを決定するboolean型のプロパティです。

win.closable macOS Windows

ユーザーが手動でウィンドウを閉じることができるかどうかを決定するboolean型のプロパティです。

Linuxでは、セッターはノーオペレーションですが、ゲッターはtrueを返します。

win.movable macOS Windows

ユーザーがウィンドウを移動できるかどうかを決定するboolean型のプロパティです。

Linuxでは、セッターはノーオペレーションですが、ゲッターはtrueを返します。

win.excludedFromShownWindowsMenu macOS

ウィンドウがアプリケーションのウィンドウメニューから除外されるかどうかを決定するboolean型のプロパティです。デフォルトはfalseです。

const { Menu, BaseWindow } = require('electron')
const win = new BaseWindow({ height: 600, width: 600 })

const template = [
{
role: 'windowmenu'
}
]

win.excludedFromShownWindowsMenu = true

const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)

win.accessibleTitle

スクリーンリーダーなどのアクセシビリティツールにのみ提供される代替タイトルを定義するstring型のプロパティです。この文字列はユーザーには直接表示されません。

インスタンスメソッド

new BaseWindowで作成されたオブジェクトには、次のインスタンスメソッドがあります。

注記: 一部のメソッドは特定のオペレーティングシステムでのみ使用可能であり、そのようにラベル付けされています。

win.setContentView(view)

ウィンドウのコンテンツビューを設定します。

win.getContentView()

View を返します - ウィンドウのコンテンツビュー。

win.destroy()

ウィンドウを強制的に閉じます。ウェブページに対してunloadイベントとbeforeunloadイベントは発生せず、このウィンドウに対してcloseイベントも発生しませんが、closedイベントが発生することが保証されます。

win.close()

ウィンドウを閉じようとします。これは、ユーザーが手動でウィンドウの閉じるボタンをクリックした場合と同じ効果があります。ただし、ウェブページが閉じられるのをキャンセルする場合があります。close イベントを参照してください。

win.focus()

ウィンドウにフォーカスします。

win.blur()

ウィンドウからフォーカスを削除します。

win.isFocused()

booleanを返します - ウィンドウがフォーカスされているかどうか。

win.isDestroyed()

booleanを返します - ウィンドウが破棄されているかどうか。

win.show()

ウィンドウを表示し、フォーカスを与えます。

win.showInactive()

ウィンドウを表示しますが、フォーカスしません。

win.hide()

ウィンドウを隠します。

win.isVisible()

booleanを返します - ウィンドウがアプリケーションの最前面でユーザーに表示されているかどうか。

win.isModal()

booleanを返します - 現在のウィンドウがモーダルウィンドウかどうか。

win.maximize()

ウィンドウを最大化します。表示されていない場合は、ウィンドウを表示(ただしフォーカスはしない)します。

win.unmaximize()

ウィンドウの最大化を解除します。

win.isMaximized()

booleanを返します - ウィンドウが最大化されているかどうか。

win.minimize()

ウィンドウを最小化します。一部のプラットフォームでは、最小化されたウィンドウがDockに表示されます。

win.restore()

最小化された状態からウィンドウを以前の状態に復元します。

win.isMinimized()

booleanを返します - ウィンドウが最小化されているかどうか。

win.setFullScreen(flag)

  • flag boolean

ウィンドウが全画面モードになるかどうかを設定します。

注記: macOSでは、全画面への遷移は非同期に行われます。全画面の状態に依存するアクションがさらに必要な場合は、'enter-full-screen'または'leave-full-screen'イベントを使用してください。

win.isFullScreen()

booleanを返します - ウィンドウが全画面モードかどうか。

win.setSimpleFullScreen(flag) macOS

  • flag boolean

シンプルな全画面モードに入るか出ます。

シンプルな全画面モードは、Lion(10.7)以前のバージョンのmacOSに見られるネイティブな全画面動作をエミュレートします。

win.isSimpleFullScreen() macOS

booleanを返します - ウィンドウがシンプルな(Lion以前の)全画面モードかどうか。

win.isNormal()

booleanを返します - ウィンドウが通常の状態(最大化されておらず、最小化されておらず、全画面モードではない)かどうか。

win.setAspectRatio(aspectRatio[, extraSize])

  • aspectRatio Float - コンテンツビューの一部について維持するアスペクト比。
  • extraSize Size (オプション) macOS - アスペクト比を維持する際に含まれない追加サイズ。

これにより、ウィンドウはアスペクト比を維持します。追加サイズにより、開発者はピクセルで指定されたスペースをアスペクト比の計算に含めないようにすることができます。このAPIは、ウィンドウのサイズとコンテンツサイズの違いを既に考慮しています。

HDビデオプレーヤーと関連するコントロールを含む通常のウィンドウを検討してください。おそらく、左端に15ピクセルのコントロール、右端に25ピクセルのコントロール、プレーヤーの下に50ピクセルのコントロールがあります。プレーヤー自体内で16:9のアスペクト比(HD @1920x1080の標準アスペクト比)を維持するには、16/9と{width: 40, height: 50}の引数でこの関数を呼び出します。第2の引数は、追加の幅と高さがコンテンツビュー内のどこに存在するかは気にしません。全体的なコンテンツビュー内の追加の幅と高さの領域を合計します。

win.setSizeなどのAPIでプログラムによってウィンドウのサイズが変更されると、アスペクト比は尊重されません。

アスペクト比をリセットするには、aspectRatio値として0を渡します: win.setAspectRatio(0)

win.setBackgroundColor(backgroundColor)

  • backgroundColor string - 16進数、RGB、RGBA、HSL、HSLA、または名前付きCSSカラー形式の色。アルファチャネルは、16進数タイプではオプションです。

有効なbackgroundColor値の例

  • 16進数
    • #fff (RGB略記)
    • #ffff (ARGB略記)
    • #ffffff (RGB)
    • #ffffffff (ARGB)
  • RGB
    • rgb\(([\d]+),\s*([\d]+),\s*([\d]+)\)
      • 例: rgb(255, 255, 255)
  • RGBA
    • rgba\(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+)\)
      • 例: rgba(255, 255, 255, 1.0)
  • HSL
    • hsl\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%\)
      • 例: hsl(200, 20%, 50%)
  • HSLA
    • hsla\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)
      • 例: hsla(200, 20%, 50%, 0.5)
  • カラー名
    • SkParseColor.cppに一覧があります。
    • CSS Color Module Level 3のキーワードに似ていますが、大文字と小文字が区別されます。
      • 例: bluevioletまたはred

ウィンドウの背景色を設定します。backgroundColorの設定を参照してください。

win.previewFile(path[, displayName]) macOS

  • path string - QuickLookでプレビューするファイルの絶対パス。Quick Lookは、ファイルの種類を判別するために、パス上のファイル名と拡張子を使用するため、重要です。
  • displayName string (オプション) - Quick Lookモーダルビューに表示するファイル名。これは純粋に視覚的なものであり、ファイルの種類には影響しません。デフォルトはpathです。

指定されたパスのファイルをQuick Lookを使用してプレビューします。

win.closeFilePreview() macOS

現在開いているQuick Lookパネルを閉じます。

win.setBounds(bounds[, animate])

  • bounds Partial<Rectangle>
  • animate boolean (オプション) macOS

指定された範囲にウィンドウのサイズを変更し、移動します。指定されていないプロパティは、現在の値が使用されます。

const { BaseWindow } = require('electron')
const win = new BaseWindow()

// set all bounds properties
win.setBounds({ x: 440, y: 225, width: 800, height: 600 })

// set a single bounds property
win.setBounds({ width: 100 })

// { x: 440, y: 225, width: 100, height: 600 }
console.log(win.getBounds())

注記: macOSでは、y座標の値はトレイの高さより小さくできません。トレイの高さが変わることがあり、オペレーティングシステムによって異なりますが、20~40pxの間です。トレイの高さより小さい値を渡すと、トレイにぴったりとくっついたウィンドウになります。

win.getBounds()

Rectangleを返します - ウィンドウのboundsObjectとして返します。

注記: macOSでは、返されるy座標の値は、最低でもトレイの高さになります。例えば、トレイの高さが38の場合、win.setBounds({ x: 25, y: 20, width: 800, height: 600 })を呼び出すと、win.getBounds(){ x: 25, y: 38, width: 800, height: 600 }を返します。

win.getBackgroundColor()

stringを返します - ウィンドウの背景色を16進数(#RRGGBB)形式で取得します。

backgroundColorの設定を参照してください。

注記: アルファ値は、赤、緑、青の値と共に返されません。

win.setContentBounds(bounds[, animate])

  • bounds Rectangle
  • animate boolean (オプション) macOS

ウィンドウのクライアント領域(例:ウェブページ)のサイズを変更し、移動します。

win.getContentBounds()

Rectangleを返します - ウィンドウのクライアント領域のboundsObjectとして返します。

win.getNormalBounds()

Rectangleを返します - 通常状態のウィンドウの範囲を含みます。

注記: ウィンドウの現在の状態(最大化、最小化、または全画面表示)に関係なく、この関数は常に通常状態のウィンドウの位置とサイズを返します。通常状態では、getBoundsとgetNormalBoundsは同じRectangleを返します。

win.setEnabled(enable)

  • enable boolean

ウィンドウを無効化または有効化します。

win.isEnabled()

booleanを返します - ウィンドウが有効かどうか。

win.setSize(width, height[, animate])

  • width Integer
  • height Integer
  • animate boolean (オプション) macOS

ウィンドウをwidthheightにサイズ変更します。widthまたはheightが設定された最小サイズ制約を下回ると、ウィンドウは最小サイズにスナップします。

win.getSize()

Integer[]を返します - ウィンドウの幅と高さを含みます。

win.setContentSize(width, height[, animate])

  • width Integer
  • height Integer
  • animate boolean (オプション) macOS

ウィンドウのクライアント領域(例:ウェブページ)をwidthheightにサイズ変更します。

win.getContentSize()

Integer[]を返します - ウィンドウのクライアント領域の幅と高さを含みます。

win.setMinimumSize(width, height)

  • width Integer
  • height Integer

ウィンドウの最小サイズをwidthheightに設定します。

win.getMinimumSize()

Integer[]を返します - ウィンドウの最小幅と高さを含みます。

win.setMaximumSize(width, height)

  • width Integer
  • height Integer

ウィンドウの最大サイズをwidthheightに設定します。

win.getMaximumSize()

Integer[]を返します - ウィンドウの最大幅と高さを含みます。

win.setResizable(resizable)

  • resizable boolean

ユーザーが手動でウィンドウのサイズを変更できるかどうかを設定します。

win.isResizable()

booleanを返します - ユーザーが手動でウィンドウのサイズを変更できるかどうか。

win.setMovable(movable) macOS Windows

  • movable boolean

ユーザーがウィンドウを移動できるかどうかを設定します。Linuxでは何も行いません。

win.isMovable() macOS Windows

booleanを返します - ユーザーがウィンドウを移動できるかどうか。

Linuxでは常にtrueを返します。

win.setMinimizable(minimizable) macOS Windows

  • minimizable boolean

ユーザーが手動でウィンドウを最小化できるかどうかを設定します。Linuxでは何も行いません。

win.isMinimizable() macOS Windows

booleanを返します - ユーザーが手動でウィンドウを最小化できるかどうか。

Linuxでは常にtrueを返します。

win.setMaximizable(maximizable) macOS Windows

  • maximizable boolean

ユーザーが手動でウィンドウを最大化できるかどうかを設定します。Linuxでは何も行いません。

win.isMaximizable() macOS Windows

booleanを返します - ユーザーが手動でウィンドウを最大化できるかどうか。

Linuxでは常にtrueを返します。

win.setFullScreenable(fullscreenable)

  • fullscreenable boolean

最大化/ズームウィンドウボタンが全画面モードを切り替えるか、ウィンドウを最大化するかどうかを設定します。

win.isFullScreenable()

booleanを返します - 最大化/ズームウィンドウボタンが全画面モードを切り替えるか、ウィンドウを最大化するかどうか。

win.setClosable(closable) macOS Windows

  • closable boolean

ユーザーが手動でウィンドウを閉じることができるかどうかを設定します。Linuxでは何も行いません。

win.isClosable() macOS Windows

booleanを返します - ユーザーが手動でウィンドウを閉じることができるかどうか。

Linuxでは常にtrueを返します。

win.setHiddenInMissionControl(hidden) macOS

  • hidden boolean

ユーザーがMission Controlに切り替えたときにウィンドウを非表示にするかどうかを設定します。

win.isHiddenInMissionControl() macOS

booleanを返します - ユーザーがMission Controlに切り替えたときにウィンドウを非表示にするかどうか。

win.setAlwaysOnTop(flag[, level][, relativeLevel])

  • flag boolean
  • level 文字列(オプション) macOS Windows - 値には、normalfloatingtorn-off-menumodal-panelmain-menustatuspop-up-menuscreen-saver、およびdock(非推奨)が含まれます。flagがtrueの場合、デフォルトはfloatingです。flagがfalseになると、levelnormalにリセットされます。floatingからstatusまでは、macOSではDockの下、Windowsではタスクバーの下にウィンドウが配置されます。pop-up-menuからそれより上のレベルでは、macOSではDockの上、Windowsではタスクバーの上に表示されます。詳細は、macOSドキュメントを参照してください。
  • relativeLevel 整数(オプション) macOS - 指定されたlevelに対して、このウィンドウを設定するレイヤー数。デフォルトは0です。Appleは、screen-saverより1つ以上上のレベルを設定することを推奨していません。

ウィンドウを他のウィンドウの上に常に表示するかどうかを設定します。これを設定した後も、ウィンドウは通常のウィンドウであり、フォーカスできないツールボックスウィンドウではありません。

win.isAlwaysOnTop()

booleanを返します - ウィンドウが他のウィンドウの上に常に表示されているかどうか。

win.moveAbove(mediaSourceId)

  • mediaSourceId 文字列 - DesktopCapturerSourceのID形式のウィンドウID。例:「window:1869:0」。

zオーダーの意味で、ソースウィンドウの上にウィンドウを移動します。mediaSourceIdがウィンドウ型でない場合、またはウィンドウが存在しない場合、このメソッドはエラーをスローします。

win.moveTop()

フォーカスに関係なく、ウィンドウを最上位(zオーダー)に移動します。

win.center()

ウィンドウを画面の中央に移動します。

win.setPosition(x, y[, animate])

  • x 整数
  • y 整数
  • animate boolean (オプション) macOS

ウィンドウをxyに移動します。

win.getPosition()

Integer[]を返します - ウィンドウの現在の位置が含まれています。

win.setTitle(title)

  • title 文字列

ネイティブウィンドウのタイトルをtitleに変更します。

win.getTitle()

stringを返します - ネイティブウィンドウのタイトル。

注記: ウェブページのタイトルとネイティブウィンドウのタイトルは異なる場合があります。

win.setSheetOffset(offsetY[, offsetX]) macOS

  • offsetY 浮動小数点数
  • offsetX 浮動小数点数(オプション)

macOSでシートのアタッチメントポイントを変更します。デフォルトでは、シートはウィンドウフレームのすぐ下にアタッチされますが、HTMLでレンダリングされたツールバーの下に表示したい場合があります。例えば

const { BaseWindow } = require('electron')
const win = new BaseWindow()

const toolbarRect = document.getElementById('toolbar').getBoundingClientRect()
win.setSheetOffset(toolbarRect.height)

win.flashFrame(flag)

履歴
  • flag boolean

ユーザーの注意を引くためにウィンドウの点滅を開始または停止します。

win.setSkipTaskbar(skip) macOS Windows

  • skip ブール値

タスクバーにウィンドウを表示しないようにします。

win.setKiosk(flag)

  • flag boolean

キオスクモードの入退室を行います。

win.isKiosk()

booleanを返します - ウィンドウがキオスクモードかどうか。

win.isTabletMode() Windows

booleanを返します - ウィンドウがWindows 10タブレットモードかどうか。

Windows 10ユーザーはPCをタブレットとして使用できるため、このモードでは、アプリはタイトルバーを大きくしたり、タイトルバーボタンを隠したりするなど、タブレット用にUIを最適化することを選択できます。

このAPIは、ウィンドウがタブレットモードかどうかを返し、resizeイベントを使用してタブレットモードの変更を監視できます。

win.getMediaSourceId()

stringを返します - DesktopCapturerSourceのID形式のウィンドウID。例:「window:1324:0」。

より正確には、形式はwindow:id:other_idであり、idはWindowsではHWND、macOSではCGWindowIDuint64_t)、LinuxではWindowunsigned long)です。other_idは、同じ最上位ウィンドウ内のWebコンテンツ(タブ)を識別するために使用されます。

win.getNativeWindowHandle()

Bufferを返します - ウィンドウのプラットフォーム固有のハンドル。

ハンドルのネイティブ型は、WindowsではHWND、macOSではNSView*、LinuxではWindowunsigned long)です。

win.hookWindowMessage(message, callback) Windows

  • message 整数
  • callback 関数
    • wParam Buffer - WndProcに提供されるwParam
    • lParam Buffer - WndProcに提供されるlParam

ウィンドウメッセージをフックします。callbackは、WndProcでメッセージを受信したときに呼び出されます。

win.isWindowMessageHooked(message) Windows

  • message 整数

booleanを返します - メッセージがフックされているかどうかによってtrueまたはfalse

win.unhookWindowMessage(message) Windows

  • message 整数

ウィンドウメッセージのフックを外します。

win.unhookAllWindowMessages() Windows

すべてのウィンドウメッセージのフックを外します。

win.setRepresentedFilename(filename) macOS

  • filename 文字列

ウィンドウが表すファイルのパス名を設定し、ファイルのアイコンがウィンドウのタイトルバーに表示されます。

win.getRepresentedFilename() macOS

stringを返します - ウィンドウが表すファイルのパス名。

win.setDocumentEdited(edited) macOS

  • edited ブール値

ウィンドウのドキュメントが編集されたかどうかを指定し、trueに設定するとタイトルバーのアイコンがグレーになります。

win.isDocumentEdited() macOS

booleanを返します - ウィンドウのドキュメントが編集されたかどうか。

win.setMenu(menu) Linux Windows

  • menu Menu | null

menuをウィンドウのメニューバーとして設定します。

win.removeMenu() Linux Windows

ウィンドウのメニューバーを削除します。

win.setProgressBar(progress[, options])

  • progress 倍精度浮動小数点数
  • options オブジェクト(オプション)
    • mode 文字列 Windows - プログレスバーのモード。nonenormalindeterminateerror、またはpausedのいずれかです。

プログレスバーの進捗値を設定します。有効な範囲は[0, 1.0]です。

progress < 0の場合、プログレスバーを削除します。progress > 1の場合、不定モードに変更します。

Linuxプラットフォームでは、Unityデスクトップ環境のみサポートされており、package.jsondesktopNameフィールドに*.desktopファイル名を指定する必要があります。デフォルトでは、{app.name}.desktopと想定されます。

Windowsでは、モードを渡すことができます。有効な値はnonenormalindeterminateerrorpausedです。モードを設定せずに(ただし、有効範囲内の値で)setProgressBarを呼び出すと、normalが想定されます。

win.setOverlayIcon(overlay, description) Windows

  • overlay NativeImage | null - タスクバーアイコンの右下に表示するアイコン。このパラメーターがnullの場合、オーバーレイはクリアされます。
  • description 文字列 - アクセシビリティスクリーンリーダーに提供される説明。

16 x 16ピクセルのオーバーレイを現在のタスクバーアイコンに設定します。通常は、何らかのアプリケーションの状態を伝えるため、またはユーザーに受動的に通知するために使用されます。

win.invalidateShadow() macOS

ウィンドウの影を無効にするため、現在のウィンドウシェイプに基づいて再計算されます。

透明なBaseWindowは、macOSで視覚的なアーティファクトを残すことがあります。このメソッドは、たとえばアニメーションを実行する場合に、これらのアーティファクトをクリアするために使用できます。

win.setHasShadow(hasShadow)

  • hasShadow ブール値

ウィンドウに影があるかどうかを設定します。

win.hasShadow()

booleanを返します - ウィンドウに影があるかどうか。

win.setOpacity(opacity) Windows macOS

  • opacity 数値 - 0.0(完全に透明)から1.0(完全に不透明)の間

ウィンドウの不透明度を設定します。Linuxでは、何も行いません。範囲外の数値は[0, 1]の範囲にクランプされます。

win.getOpacity()

numberを返します - 0.0(完全に透明)から1.0(完全に不透明)の間。Linuxでは、常に1を返します。

win.setShape(rects) Windows Linux 実験的

  • rects Rectangle[] - ウィンドウの形状を設定します。空のリストを渡すと、ウィンドウは長方形に戻ります。

ウィンドウの形状を設定すると、システムが描画とユーザー操作を許可するウィンドウ内の領域が決まります。指定された領域の外側には、ピクセルは描画されず、マウスイベントは登録されません。領域外のマウスイベントは、そのウィンドウでは受信されませんが、ウィンドウの後ろにあるものに渡されます。

win.setThumbarButtons(buttons) Windows

booleanを返します - ボタンが正常に追加されたかどうか

タスクバーボタンレイアウトのウィンドウのサムネイル画像に、指定されたボタンセットを使用してサムネイルツールバーを追加します。booleanオブジェクトを返し、サムネイルが正常に追加されたかどうかを示します。

スペースが限られているため、サムネイルツールバーのボタン数は7個以下にする必要があります。サムネイルツールバーを設定したら、プラットフォームの制限により、ツールバーを削除することはできません。ただし、空の配列を使用してAPIを呼び出して、ボタンをクリアできます。

buttonsは、Buttonオブジェクトの配列です。

  • Buttonオブジェクト
    • icon NativeImage - サムネイルツールバーに表示されるアイコン。
    • click関数
    • tooltip 文字列(オプション) - ボタンのツールチップのテキスト。
    • flags 文字列配列(オプション) - ボタンの特定の状態と動作を制御します。デフォルトは['enabled']です。

flagsは、次のstringを含むことができる配列です。

  • enabled - ボタンはアクティブで、ユーザーが使用できます。
  • disabled - ボタンは無効になっています。存在しますが、ユーザー操作に応答しないことを示す視覚的な状態になっています。
  • dismissonclick - ボタンをクリックすると、サムネイルウィンドウがすぐに閉じます。
  • nobackground - ボタンの境界線を描画せず、画像のみを使用します。
  • hidden - ボタンはユーザーに表示されません。
  • noninteractive - ボタンは有効ですが、インタラクティブではありません。押されたボタンの状態は描画されません。この値は、ボタンが通知で使用される場合を目的としています。

win.setThumbnailClip(region) Windows

  • region Rectangle - ウィンドウの領域

タスクバーでウィンドウにカーソルを合わせたときに表示されるサムネイル画像として表示するウィンドウの領域を設定します。空の領域を指定して、サムネイルをウィンドウ全体にすることができます。{ x: 0, y: 0, width: 0, height: 0 }

win.setThumbnailToolTip(toolTip) Windows

  • toolTip 文字列

タスクバーのウィンドウサムネイルにカーソルを合わせたときに表示されるツールチップを設定します。

win.setAppDetails(options) Windows

  • options オブジェクト
    • appId 文字列(オプション) - ウィンドウのアプリユーザーモデルID。設定する必要があります。それ以外の場合は、他のオプションは効果がありません。
    • appIconPath 文字列(オプション) - ウィンドウの再起動アイコン
    • appIconIndex 整数(オプション) - appIconPathのアイコンのインデックス。appIconPathが設定されていない場合は無視されます。デフォルトは0です。
    • relaunchCommand 文字列(オプション) - ウィンドウの再起動コマンド
    • relaunchDisplayName 文字列(オプション) - ウィンドウの再起動表示名

ウィンドウのタスクバーボタンのプロパティを設定します。

注記:relaunchCommandrelaunchDisplayNameは常に一緒に設定する必要があります。これらのプロパティのいずれかが設定されていない場合、どちらも使用されません。

win.setIcon(icon) Windows Linux

ウィンドウアイコンを変更します。

win.setWindowButtonVisibility(visible) macOS

  • visible ブーリアン

ウィンドウの信号機ボタンを表示するかどうかを設定します。

win.setAutoHideMenuBar(hide) Windows Linux

  • hide ブーリアン

ウィンドウのメニューバーを自動的に非表示にするかどうかを設定します。設定されると、ユーザーが単一のAltキーを押したときにのみメニューバーが表示されます。

メニューバーが既に表示されている場合、setAutoHideMenuBar(true)を呼び出しても、すぐに非表示になりません。

win.isMenuBarAutoHide() Windows Linux

booleanを返します - メニューバーが自動的に非表示になるかどうか。

win.setMenuBarVisibility(visible) Windows Linux

  • visible ブーリアン

メニューバーを表示するかどうかを設定します。メニューバーが自動的に非表示になっている場合でも、ユーザーは単一のAltキーを押してメニューバーを表示できます。

win.isMenuBarVisible() Windows Linux

booleanを返します - メニューバーが表示されているかどうか。

win.setVisibleOnAllWorkspaces(visible[, options]) macOS Linux

  • visible ブーリアン
  • options オブジェクト(オプション)
    • visibleOnFullScreen ブーリアン(オプション) macOS - 全画面ウィンドウの上にウィンドウを表示するかどうかを設定します。
    • skipTransformProcessType ブーリアン(オプション) macOS - setVisibleOnAllWorkspacesを呼び出すと、デフォルトでUIElementApplicationとForegroundApplicationのプロセス型が変換され、正しい動作が保証されます。ただし、これにより、呼び出されるたびにウィンドウとドックが短時間非表示になります。ウィンドウが既にUIElementApplication型である場合は、trueを渡してこの変換をバイパスできます。

ウィンドウをすべてのワークスペースに表示するかどうかを設定します。

注記:このAPIはWindowsでは何も行いません。

win.isVisibleOnAllWorkspaces() macOS Linux

booleanを返します - ウィンドウがすべてのワークスペースに表示されているかどうか。

注記:このAPIはWindowsでは常にfalseを返します。

win.setIgnoreMouseEvents(ignore[, options])

  • ignore ブーリアン
  • options オブジェクト(オプション)
    • forward ブーリアン(オプション) macOS Windows - trueの場合、マウスムーブメッセージをChromiumに転送し、mouseleaveなどのマウス関連イベントを有効にします。ignoreがtrueの場合のみ使用されます。ignoreがfalseの場合、この値に関係なく、転送は常に無効になります。

ウィンドウですべてのマウスイベントを無視するようにします。

このウィンドウで発生したすべてマウスイベントは、このウィンドウの下のウィンドウに渡されますが、このウィンドウにフォーカスがある場合、キーボードイベントは引き続き受信されます。

win.setContentProtection(enable) macOS Windows

  • enable boolean

他のアプリによるウィンドウコンテンツのキャプチャを防止します。

macOSでは、NSWindowのsharingTypeをNSWindowSharingNoneに設定します。Windowsでは、WDA_EXCLUDEFROMCAPTUREを使用してSetWindowDisplayAffinityを呼び出します。Windows 10バージョン2004以降では、ウィンドウは完全にキャプチャから削除されます。古いバージョンのWindowsは、黒いウィンドウをキャプチャするWDA_MONITORが適用されているかのように動作します。

win.setFocusable(focusable) macOS Windows

  • focusable ブーリアン

ウィンドウにフォーカスを設定できるかどうかを変更します。

macOSでは、ウィンドウからフォーカスを削除しません。

win.isFocusable() macOS Windows

boolean を返します - ウィンドウにフォーカスできるかどうか。

win.setParentWindow(parent)

  • parent BaseWindow | null

現在のウィンドウの親ウィンドウとしてparentを設定します。nullを渡すと、現在のウィンドウはトップレベルウィンドウになります。

win.getParentWindow()

BaseWindow | null を返します - 親ウィンドウ、または親がない場合はnull

win.getChildWindows()

BaseWindow[] を返します - 全ての子ウィンドウ。

win.setAutoHideCursor(autoHide) macOS

  • autoHide boolean

入力時にカーソルを隠すかどうかを制御します。

win.selectPreviousTab() macOS

ネイティブタブが有効になっていて、ウィンドウに他のタブがある場合、前のタブを選択します。

win.selectNextTab() macOS

ネイティブタブが有効になっていて、ウィンドウに他のタブがある場合、次のタブを選択します。

win.showAllTabs() macOS

ネイティブタブが有効な場合、タブの概要を表示または非表示にします。

win.mergeAllWindows() macOS

ネイティブタブが有効で、複数のウィンドウが開いている場合、すべてのウィンドウを複数のタブを持つ1つのウィンドウにマージします。

win.moveTabToNewWindow() macOS

ネイティブタブが有効で、現在のウィンドウに複数のタブがある場合、現在のタブを新しいウィンドウに移動します。

win.toggleTabBar() macOS

ネイティブタブが有効で、現在のウィンドウにタブが1つしかない場合、タブバーの表示/非表示を切り替えます。

win.addTabbedWindow(baseWindow) macOS

  • baseWindow BaseWindow

ウィンドウインスタンスのタブの後に、タブとしてウィンドウを追加します。

win.setVibrancy(type) macOS

  • type string | null - titlebarselectionmenupopoversidebarheadersheetwindowhudfullscreen-uitooltipcontentunder-window、またはunder-pageのいずれかです。macOS のドキュメント を参照してください。

ウィンドウにバイブランシー効果を追加します。nullまたは空の文字列を渡すと、ウィンドウのバイブランシー効果が削除されます。

win.setBackgroundMaterial(material) Windows

  • material string
    • auto - デスクトップウィンドウマネージャー (DWM) がこのウィンドウのシステム描画バックドロップ素材を自動的に決定します。これはデフォルトです。
    • none - システムバックドロップを描画しません。
    • mica - 長時間存在するウィンドウに対応するバックドロップ素材効果を描画します。
    • acrylic - 一時的なウィンドウに対応するバックドロップ素材効果を描画します。
    • tabbed - タブ付きタイトルバーを持つウィンドウに対応するバックドロップ素材効果を描画します。

このメソッドは、クライアント領域以外の部分も含めて、ブラウザウィンドウのシステム描画バックグラウンド素材を設定します。

Windows のドキュメント を参照してください。

注記: このメソッドは、Windows 11 22H2 以降でのみサポートされています。

win.setWindowButtonPosition(position) macOS

フレームレスウィンドウの信号機ボタンのカスタム位置を設定します。nullを渡すと、位置がデフォルトにリセットされます。

win.getWindowButtonPosition() macOS

Point | null を返します - フレームレスウィンドウの信号機ボタンのカスタム位置。カスタム位置がない場合はnullが返されます。

win.setTouchBar(touchBar) macOS

  • touchBar TouchBar | null

現在のウィンドウのtouchBarレイアウトを設定します。nullまたはundefinedを指定すると、タッチバーがクリアされます。このメソッドは、マシンにタッチバーがある場合にのみ効果があります。

注記: TouchBar API は現在実験段階であり、将来の Electron リリースで変更または削除される可能性があります。

win.setTitleBarOverlay(options) Windows Linux

  • options オブジェクト
    • color String (オプション) - ウィンドウコントロールオーバーレイが有効になっている場合のCSSカラー。
    • symbolColor String (オプション) - ウィンドウコントロールオーバーレイが有効になっている場合のシンボルのCSSカラー。
    • height Integer (オプション) - タイトルバーとウィンドウコントロールオーバーレイの高さをピクセル単位で指定します。

ウィンドウコントロールオーバーレイが既に有効になっているウィンドウでは、このメソッドはタイトルバーオーバーレイのスタイルを更新します。

Linuxでは、明示的に設定されていない場合、symbolColorcolorに対して最小限のアクセシビリティコントラストを持つように自動的に計算されます。