メインコンテンツへ飛ぶ

BaseWindow

ウインドウを作成したり、制御したりします。

プロセス: メイン

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

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

// メインプロセス内。
const { BaseWindow, WebContentsView } = require('electron')

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

const leftView = new WebContentsView()
leftView.webContents.loadURL('https://electronjs.org')
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 によって設定されたネイティブのプロパティで新しい BrowserWindow を生成します。

new BaseWindow([options])

  • options 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 です。
    • minWidth 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 と設定することは、ウインドウがウインドウマネージャとのやり取りを停止することになるため、ウインドウがすべてのワークスペースで常に前面に表示されます。
    • alwaysOnTop boolean (任意) - ウインドウを常に他のウインドウの前面に表示させるかどうか。 省略値は false です。
    • fullscreen boolean (任意) - ウインドウをフルスクリーンで表示させるかどうか。 明示的に false を設定した場合、macOS ではフルスクリーンボタンが非表示または無効になります。 省略値は false です。
    • fullscreenable boolean (任意) - ウインドウをフルスクリーンモードにできるかどうか。 macOS では、最大化/ズームボタンでフルスクリーンモードを切り替えるか、それともウィンドウの最大化をするのかも意味します。 省略値は true です。
    • simpleFullscreen boolean (任意) macOS - macOS で Lion 以前のフルスクリーンを使用します。 省略値は false です。
    • skipTaskbar boolean (任意) macOS Windows - タスクバー内でウインドウを表示するかどうか。 省略値は false です。
    • hiddenInMissionControl boolean (任意) macOS - ユーザが Mission Control に切り替えたときに、ウインドウを隠すかどうか。
    • kiosk boolean (任意) - ウインドウがキオスクモードかどうか。 省略値は false です。
    • title string (任意) - デフォルトのウインドウのタイトル。 省略値は "Electron" です。 HTML タグの <title>loadURL() でロードされた HTML ファイル内で定義されている場合、このプロパティは無視されます。
    • icon (NativeImage | string) (任意) - ウインドウのアイコン。 Windows では、最高の視覚効果を得るために ICO アイコンを使用することを推奨します。また、undefined のままにして、実行形式のアイコンを使用することもできます。
    • 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 - ウインドウを画面より大きいサイズへとリサイズできるようにします。 他の OS はデフォルトで画面よりも大きなウインドウを許可するため、これは macOS にのみ影響します。 省略値は false です。
    • backgroundColor string (任意) - 16 進数、RGB、RGBA、HSL、HSLA、または名前付き CSS 色形式で表したウインドウの背景色。 #AARRGGBB 形式のアルファ値は transparenttrue に設定した場合にサポートされます。 省略値は #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 と組み合わせるとウィンドウコントロールオーバーレイがアクティブになります (詳細は titleBarOverlay を参照)。それ以外の場合、ウィンドウコントロールは非表示です。
      • hiddenInset macOS - タイトルバーが非表示になり、信号機ボタンがウィンドウの端から少し内側に配置される別種の見た目になります。
      • customButtonsOnHover macOS - タイトルバーが非表示になり、コンテンツウィンドウがフルサイズで表示されます。ウィンドウの左上にマウスを移動すると、信号機ボタンが表示されます。 注: 現在、このオプションは実験的なものです。
    • titleBarOverlay Object | Boolean (任意) - macOS で win.setWindowButtonVisibility(true) と組み合わせてフレームレスウインドウを使用する場合、または titleBarStyle を使用して標準のウインドウコントロール (macOS では「信号機ボタン」) が表示されるようにする場合、このプロパティによってウインドウコントロールオーバーレイの JavaScript APICSS 環境変数 が有効になります。 true を指定すると、オーバーレイはデフォルトのシステムカラーになります。 省略値は false です。
      • color String (任意) Windows Linux - 有効になっている場合のウインドウコントロールオーバーレイの CSS カラー。 既定値はシステムカラーです。
      • symbolColor String (任意) Windows - 有効化されたウインドウコントロールオーバーレイ内の記号の CSS カラー。 既定値はシステムカラーです。
      • height Integer (任意) - ピクセル単位のタイトルバーとウインドウコントロールオーバーレイの高さ。 既定値はシステムの高さです。
    • trafficLightPosition Point (任意) macOS - フレームレスウインドウの信号機ボタンのカスタム位置を設定します。
    • roundedCorners boolean (任意) macOS - 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 - ツールバーの緑色の信号機ボタンを option キーを押しながらクリックしたとき、またはウインドウ > ズームのメニュー項目をクリックしたときの macOS の動作を制御します。 true の場合、ズームしたときウインドウはウェブページの最適な幅に拡大されます。false では画面の幅にズームされます。 これは、maximize() を直接呼び出したときの動作にも影響を与えます。 省略値は false です。
    • tabbingIdentifier string (任意) macOS - タブグループ名。これはウインドウをネイティブのタブとして開けるようにします。 同一のタブ識別子を持つウインドウは、まとめてグループ化されます。 これはネイティブのタブボタンをウインドウのタブバーに追加し、app とウインドウが new-window-for-tab イベントを受け取ることができるようになります。

minWidth/maxWidth/minHeight/maxHeight で最小もしくは最大のウインドウサイズを設定するのは、ユーザを束縛するだけです。 サイズ制約に従わないサイズを setBounds/setSizeBrowserWindow のコンストラクタに渡しても構いません。

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 タイプは、メタルのグラデーションの外観 (NSTexturedBackgroundWindowMask) を追加します。
    • desktop タイプは、ウインドウをデスクトップのバックグラウンドウインドウのレベル (kCGDesktopWindowLevel - 1) に配置します。 デスクトップウインドウはフォーカス、キーボードやマウスイベントを受け付けないことに注意してください。しかし globalShortcut を使って、かろうじて入力を受け付けることはできます。
    • panel タイプは、通常 NSPanel に予約されている NSWindowStyleMaskNonactivatingPanel スタイルマスクを実行時に追加することにより、フルスクリーンのアプリの上にウィンドウを浮かせます。 また、すべてのスペース (デスクトップ) にそのウインドウが表示されます。
  • Windows では、設定できるタイプは toolbar です。

インスタンスイベント

new BaseWindow で作成されたオブジェクトでは以下のイベントが発生します。

: いくつかのイベントは特定のオペレーティングシステムでのみ利用可能で、そのように注記がつけられています。

イベント: 'close'

戻り値:

  • event Event

ウインドウがクローズされようとするときに発生します。 これは、DOM の beforeunloadunload イベントの前に発生します。 event.preventDefault() を呼び出すことで、ウインドウを閉じる処理がキャンセルされます。

大抵はウインドウをクローズさせる必要があるかどうかを判断するために beforeunload ハンドラーを使用したいと思うでしょうが、これはウインドウがリロードされるときにも呼び出されます。 Electron では、undefined 以外の値を return すれば閉じる処理をキャンセルします。 以下がその例です。

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

// ユーザーにメッセージボックスが表示される通常のブラウザーとは異なり、
// 非 void の値を返すと閉じる操作は暗黙的にキャンセルされます。
// ユーザーにアプリケーションの終了を確認させるには、ダイアログ API を
// 使用することを推奨します。
e.returnValue = false
}

注意: window.onbeforeunload = handlerwindow.addEventListener('beforeunload', handler) の動作には微妙な違いがあります。 Electron 内では前者の方が一貫して動作するため、値を return するだけでなく常に event.returnValue を明示的にセットすることを推奨します。

イベント: 'closed'

ウインドウが閉じられたときに発生します。 このイベントを受け取った後は、ウインドウへの参照を削除し、以降そのウインドウを使用しないようにしてください。

イベント: 'session-end' Windows

強制的なシャットダウン、マシン再起動またはセッションのログオフによってウインドウセッションが終了されようとしたときに発生します。

イベント: 'blur'

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

イベント: 'focus'

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

イベント: 'show'

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

イベント: 'hide'

ウインドウが非表示になるときに発生します。

イベント: 'maximize'

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

イベント: 'unmaximize'

ウインドウが最大化状態から抜けるときに発生します。

イベント: 'minimize'

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

イベント: 'restore'

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

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

戻り値:

  • event Event
  • newBounds Rectangle - これからリサイズしようとしているウインドウのサイズ。
  • details Object
    • edge (string) - サイズ変更のためにドラッグされているウインドウの縁。 bottom, left, right, top-left, top-right, bottom-left, bottom-right のいずれかになります。

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

このイベントは、ウィンドウが手動でリサイズされようとしているときにしか発生しません。 ウインドウを setBoundssetSize でリサイズする時には、このイベントは発生しません。

edge オプションが取りうる値と動作は、プラットフォーム依存です。 以下は取りうる値です。

  • Windows では、取りうる値は bottom, top, left, right, top-left, top-right, bottom-left, bottom-right です。
  • macOS では、取りうる値は bottomright です。
    • bottom は垂直方向のサイズ変更の表現に使用されます。
    • right は水平方向のサイズ変更の表現に使用されます。

イベント: 'resize'

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

イベント: 'resized' macOS Windows

ウインドウがリサイズされるときに一度発生します。

これは、通常、ウィンドウが手動でリサイズされようとしているときにしか発生しません。 macOS の場合、setBounds/setSize でウィンドウのサイズを変更して animate パラメーターを true に設定すると、サイズ変更が完了したときにもこのイベントが発生します。

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

戻り値:

  • event Event
  • newBounds Rectangle - これから移動しようとしているウインドウの位置。

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

このイベントは、ウィンドウが手動で移動されようとしているときにしか発生しません。 ウインドウを setPosition/setBounds/center で移動させる時には、このイベントは発生しません。

イベント: 'move'

ウインドウが新しい位置に移動されているときに発生します。

イベント: 'moved' macOS Windows

ウインドウが新しい位置に移動されるときに一回だけ、発生します。

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

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

ウインドウがフルスクリーン状態に入るときに発生します。

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

ウインドウがフルスクリーン状態を抜けるときに発生します。

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

戻り値:

  • event Event
  • isAlwaysOnTop boolean

ウインドウが常に他のウインドウの手前に表示されるように設定またはそれが解除されたときに発生します。

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

戻り値:

  • event Event
  • command string

アプリのコマンドが 呼び出されたときに発生します。 これらは、Windowsで幾つかのマウスに組み込まれている "Back" ボタンだけでなく、一般的にキーボードのメディアキーやブラウザコマンドとも関連付けられています。

コマンドは小文字にされ、アンダースコアはハイフンに置き換えられ、APPCOMMAND_ の接頭辞は除かれます。 例: APPCOMMAND_BROWSER_BACKWARDbrowser-backward として発生します。

const { BaseWindow } = require('electron')
const win = new BaseWindow()
win.on('app-command', (e, cmd) => {
// ユーザーがマウスの戻るボタンを押したときにウインドウのナビゲーションを戻します
if (cmd === 'browser-backward') {
// ナビゲーションする適切な WebContents を見つけます。
}
})

Linux 上では以下のアプリコマンドが明示的にサポートされます。

  • browser-backward
  • browser-forward

イベント: 'swipe' macOS

戻り値:

  • event Event
  • Event: 'swipe' macOS

3 本指でのスワイプ時に発生します。 取りうる方向は up, right, down, left です。

このイベントは、スワイプで画面の内容が移動しない、古い macOS スタイルのトラックパッドスワイプを元にしています。 ほとんどの macOS トラックパッドは、このようなスワイプを許可するように設定されていないため、適切にスワイプさせるには システム環境設定 > トラックパッド > その他のジェスチャ の「ページ間をスワイプ」の設定を「2 本指または 3 本指でスワイプ」に設定する必要があります。

イベント: 'rotate-gesture' macOS

戻り値:

  • event Event
  • rotation Float

トラックパッドの回転ジェスチャで発生します。 回転ジェスチャーが終了するまで継続的に発生します。 各イベント発生の rotation の値は、最後の発生以降に回転した度数法の角度です。 回転ジェスチャーにおいて発生した最後のイベントは、常に 0 の値になります。 反時計回りの回転値は正であり、時計回りの回転値は負です。

イベント: 'sheet-begin' macOS

ウインドウがシートを開くときに発生します。

イベント: 'sheet-end' macOS

ウインドウがシートを閉じたときに発生します。

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

ネイティブの新規タブボタンがクリックされるときに発生します。

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

戻り値:

  • event Event
  • point Point - コンテキストメニューが開かれたスクリーン座標

システムコンテキストメニューがウィンドウ上でトリガーされたときに発生します。 通常ユーザーがウィンドウのクライアントエリア以外を右クリックしたときにトリガーされます。 これはウインドウタイトルバーか、フレームレスウィンドウで -webkit-app-region: drag と宣言した任意の領域です。

event.preventDefault() を呼ぶと、そのメニューは表示されなくなります。

静的メソッド

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

BaseWindow.getAllWindows()

戻り値 BrowserWindow[] - すべての開かれたブラウザウインドウの配列。

BaseWindow.getFocusedWindow()

戻り値 BrowserWindow | null - このアプリケーションでフォーカスされているウインドウ。フォーカスが無い場合は null を返します。

BaseWindow.fromId(id)

  • id Integer

戻り値 BrowserWindow | null - 指定された id のウインドウ。

インスタンスプロパティ

new BaseWindow で作成されたオブジェクトは、以下のプロパティを持っています。

const { BaseWindow } = require('electron')
// この例では `win` がインスタンスです
const win = new BaseWindow({ width: 800, height: 600 })

win.id 読み取り専用

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

win.contentView

View 型のプロパティで、ウインドウの内容のビューです。

win.tabbingIdentifier macOS 読み取り専用

string 型 (任意) のプロパティで、BrowserWindow コンストラクタに渡された tabbingIdentifier に等しくなります。何も設定されていない場合は undefined です。

win.autoHideMenuBar

boolean 型のプロパティです。ウインドウがユーザーによって手動で最小化できるかどうかを決定します。 セットすると、メニューバーはユーザが単独で Alt キーを押したときのみに表示されます。

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

win.simpleFullScreen

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

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()

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

win.close()

ウインドウを閉じようとします。 これは、ユーザーが手動でウィンドウの閉じるボタンをクリックした場合と同じ効果があります。 ただし、 Web ページはウィンドウが閉じようとするのををキャンセルすることができます。 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

簡易フルスクリーンモードに設定したり、解除したりします。

macOS Lion (10.7) より前のバージョンで見られる簡易フルスクリーンモードはネイティブのフルスクリーン動作をエミュレートします。

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 @1920x1280 の標準的なアスペクト比) を維持するためには、この関数を 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 の値の例を以下に示します。

  • Hex
    • #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 カラーモジュールレベル 3 のキーワードと似ていますが、大文字と小文字を区別します。
      • 例: bluevioletred

ウィンドウの背景色を設定します。 win.setBackgroundColor の設定 もご参照ください。

win.previewFile(path[, displayName]) macOS

  • path string - Quick Lookでプレビューするファイルへの絶対パス。 これは、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()

// すべての境界のプロパティを設定します
win.setBounds({ x: 440, y: 225, width: 800, height: 600 })

// 1 つの境界のプロパティを設定します
win.setBounds({ width: 100 })

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

注意: macOS では、Y 座標の値が Tray の高さより小さくなることはありません。 Tray の高さは時期やオペレーティングシステムによって異なりますが、20 から 40px の間です。 Tray の高さより低い値を渡すと、Tray と同じ高さのウインドウになります。

win.getBounds()

戻り値 Rectangle - Object でのこのウインドウの bounds

注意: macOS では、返される Y 座標の値は Tray の高さが最小値です。 例えば、トレイの高さを 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) 形式で取得します。

win.setBackgroundColor の設定 もご参照ください。

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

win.setContentBounds(bounds[, animate])

  • bounds Rectangle
  • animate boolean (任意) macOS

指定した境界までウインドウのクライアント領域 (例えば、Webページ) のサイズを変更して移動します。

win.getContentBounds()

戻り値 Rectangle - Object でのこのウインドウのクライアント領域の bounds

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 string (任意) macOS Windows - 値は normal, floating, torn-off-menu, modal-panel, main-menu, status, pop-up-menu, screen-saver, と dock (非推奨) のいずれかです. flag が true の場合、省略値は floating です。 flag が false の場合、levelnormal にリセットされます。 注意として、floating から status までのものにおいては、ウインドウは macOS では Dock の後ろ側に、Windows ではタスクバーの後ろ側に配置されます。 pop-up-menu 以降は、macOS では Dock の手前に、Windows ではタスクバーの手前に表示されます。 詳細については、macOS のドキュメント を参照してください。
  • relativeLevel Integer (任意) macOS - 指定された level かた相対的にこのウインドウを配置する上位レイヤーの数。 省略値は 0 です。 注意として、Apple は screen-saver より上のレベルで 1 より高く設定することを推奨していません。

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

win.isAlwaysOnTop()

戻り値 boolean - ウインドウが常に他のウインドウの上に表示されるかどうか。

win.moveAbove(mediaSourceId)

  • mediaSourceId string - DesktopCapturerSource の ID の形式のウインドウ ID。 例えば "window:1869:0" 。

Z オーダーの意味で、ウィンドウをソースウィンドウの上に移動します。 mediaSourceId がウインドウの ID でないか、そのウインドウが存在しない場合、このメソッドはエラーを送出します。

win.moveTop()

フォーカスに関係なく上 (Z順序) にウィンドウを移動します。

win.center()

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

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

  • x Integer
  • y Integer
  • animate boolean (任意) macOS

ウインドウを xy に動かします。

win.getPosition()

戻り値 Integer[] - ウインドウの現在の位置を格納しています。

win.setTitle(title)

  • title string

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

win.getTitle()

戻り値 string - ネイティブウインドウのタイトル。

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

win.setSheetOffset(offsetY[, offsetX]) macOS

  • offsetY Float
  • offsetX Float (任意)

macOS においてシートを設置する位置を変更します。 既定では、シートはウィンドウフレームのすぐ下に設置されますが、 HTML で表示されたツールバーの下に表示することもできます。 以下がその例です。

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

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

win.flashFrame(flag)

History
  • flag boolean

ユーザの注意を引きつけるためにウインドウの点滅を開始または停止します。

win.setSkipTaskbar(skip) macOS Windows

  • skip boolean

ウインドウがタスクバーに表示されなくなります。

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 では CGWindowID (uint64_t)、Linux では Window (unsigned long) です。 other_id は、同じトップレベルウィンドウ内のウェブコンテンツ (タブ) を識別するために使用されます。

win.getNativeWindowHandle()

戻り値 Buffer - プラットフォーム固有のウインドウのハンドル。

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

win.hookWindowMessage(message, callback) Windows

  • message Integer
  • callback Function
    • wParam Buffer - WndProc に指定された wParam
    • lParam Buffer - WndProc に指定された lParam

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

win.isWindowMessageHooked(message) Windows

  • message Integer

戻り値 boolean - メッセージがフックされているかどうかによって、true または false になります。

win.unhookWindowMessage(message) Windows

  • message Integer

ウインドウメッセージのフックを解除します。

win.unhookAllWindowMessages() Windows

すべてのウインドウメッセージのフックを解除します。

win.setRepresentedFilename(filename) macOS

  • filename string

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

win.getRepresentedFilename() macOS

戻り値 string - ウインドウが表示中のファイルのパス名。

win.setDocumentEdited(edited) macOS

  • edited boolean

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

win.isDocumentEdited() macOS

戻り値 boolean - ウインドウのドキュメントが編集されたかどうか。

win.setMenu(menu) Linux Windows

  • menu Menu | null

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

win.removeMenu() Linux Windows

ウインドウのメニューバーを消去します。

win.setProgressBar(progress[, options])

  • progress Double
  • options Object (任意)
    • mode string Windows - プログレスバーのモード。 none, normal, indeterminate, error, paused のいずれかにできます。

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

進捗 < 0 の場合、プログレスバーは削除されます。進捗 > 1 の場合、不確定モードに変更します。

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

Windowsでは、モードを渡すことができます。 受け付ける値は none, normal, indeterminate, error, paused です。 モードを設定せずに (ただし、有効範囲内の値で) setProgressBar を呼び出した場合、normal とみなされます。

win.setOverlayIcon(overlay, description) Windows

  • overlay NativeImage | null - タスクバーアイコンの右下隅に表示されるアイコン。 この引数が null の場合、オーバーレイは消去されます。
  • description string - アクセシビリティのスクリーンリーダーに提供される説明

現在のタスクバーアイコンの上に、通常、何らかのアプリケーションステータスを伝えたり、ユーザーに控えめに通知したりするのに使われる16 x 16ピクセルのオーバレイを設定します。

win.invalidateShadow() macOS

ウインドウの影を現在のウインドウの形状に基づいて再計算するように更新します。

透過した BrowserWindow は、macOS で視覚的な残留物を残すことがあります。 このメソッドは、例えばアニメーションを実行するときにこれらの残留物を消去するときに利用できます。

win.setHasShadow(hasShadow)

  • hasShadow boolean

ウインドウに影を付けるべきかどうかを設定します。

win.hasShadow()

戻り値 boolean - ウインドウに影が付いているかどうか。

win.setOpacity(opacity) Windows macOS

  • opacity number - 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 Object
    • icon NativeImage - ツールバーのサムネイルに表示するアイコン。
    • click Function
    • tooltip string (任意) - ボタンのツールチップのテキスト。
    • flags string[] (任意) - ボタンの特定の状態や動作を制御します。 省略値は、['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 string

タスクバーのウインドウサムネイルでホバリングするときに表示されるツールチップを設定します。

win.setAppDetails(options) Windows

  • options Object
    • appId string (任意) - ウインドウの アプリ ユーザー モデル ID。 設定されないと、他のオプションは無効です。
    • appIconPath string (任意) - ウインドウの 再起動のアイコン
    • appIconIndex Integer (任意) - appIconPath でのアイコンのインデックス。 appIconPath が設定されていない場合は無視されます。 省略値は 0 です。
    • relaunchCommand string (任意) - ウインドウの 再起動コマンド
    • relaunchDisplayName string (任意) - ウインドウの 再起動の表示名

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

注意: relaunchCommandrelaunchDisplayName は一緒に設定する必要があります。 いずれかが設定されていない場合、どちらも使用されません。

win.setIcon(icon) Windows Linux

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

win.setWindowButtonVisibility(visible) macOS

  • visible boolean

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

win.setAutoHideMenuBar(hide) Windows Linux

  • hide boolean

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

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

win.isMenuBarAutoHide() Windows Linux

戻り値 boolean - メニューバーを自動的に非表示にするかどうか。

win.setMenuBarVisibility(visible) Windows Linux

  • visible boolean

メニューバーを表示するかどうかを設定します。 メニューバーが自動的に非表示にされている場合でも、ユーザが単独で Alt キーを押下すれば、依然としてメニューバーを表示させることができます。

win.isMenuBarVisible() Windows Linux

戻り値 boolean - メニューバーを表示しているかどうか。

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

  • visible boolean
  • options Object (任意)
    • visibleOnFullScreen boolean (任意) macOS - ウインドウを全画面ウィンドウの上で表示するかどうかを設定します。
    • skipTransformProcessType boolean (任意) macOS - setVisibleOnAllWorkspaces を呼び出すと、デフォルトではプロセスタイプが UIElementApplication と ForegroundApplication の間で変換され、正しい動作が保証されます。 しかし、これでは呼び出されるたびに短時間だけウインドウが非表示になり、Dock も非表示になってしまいます。 ウインドウが既に UIElementApplication 型である場合、skipTransformProcessType に true を渡すことでこの変換をバイパスできます。

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

注意: この API は Windows では何もしません。

win.isVisibleOnAllWorkspaces() macOS Linux

戻り値 boolean - ウインドウがすべてのワークスペースで表示されているかどうか。

注意: この API は Windows のにおいて常に false を返します。

win.setIgnoreMouseEvents(ignore[, options])

  • ignore boolean
  • options Object (任意)
    • forward boolean (任意) macOS Windows - true の場合、マウスの移動メッセージが Chromium に転送され、mouseleave のようなマウス関連のイベントが有効になります。 ignore が true のときだけ使用されます。 ignore が false の場合、この値に関わらず、転送は常に無効です。

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

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

win.setContentProtection(enable) macOS Windows

  • enable boolean

他のアプリによってウインドウのコンテンツがキャプチャされるのを防止します。

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

win.setFocusable(focusable) macOS Windows

  • focusable boolean

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

macOS ではウィンドウからフォーカスは除去されません。

win.isFocusable() macOS Windows

戻り値 boolean - ウインドウがフォーカスできるかどうか。

win.setParentWindow(parent)

  • parent BaseWindow | null

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

win.getParentWindow()

戻り値 BrowserWindow | null - 親ウインドウ、もしくは親が無ければ null です。

win.getChildWindows()

戻り値 BrowserWindow[] - すべての子ウインドウ。

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 - titlebar, selection, menu, popover, sidebar, header, sheet, window, hud, fullscreen-ui, tooltip, content, under-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 が消去されます。 このメソッドは TouchBar 搭載マシンでのみ作用します。

Note: TouchBar API は現在実験的な機能です。そのため、将来の Electron リリースで変更または削除される可能性があります。

win.setTitleBarOverlay(options) Windows Linux

  • options Object
    • color String (任意) - 有効化されたウインドウコントロールオーバーレイの CSS カラー。
    • symbolColor String (任意) - 有効化されたウインドウコントロールオーバーレイ内の記号の CSS カラー。
    • height Integer (任意) - ピクセル単位のタイトルバーとウインドウコントロールオーバーレイの高さ。

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

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