読者です 読者をやめる 読者になる 読者になる

SourceChord

C#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。

Electronで作ったウィンドウの各種設定など

Electron TypeScript Node.js

ElectronのBrowserWindowクラスで作ったウィンドウの設定などについてメモ。

BrowserWindowクラスのAPIは↓にまとまってますが、よく使いそうなのをメモしときます。 http://electron.atom.io/docs/v0.34.0/api/browser-window/

ウィンドウの位置/サイズに関するメソッド

setFullScreen(flag: boolean)

ウィンドウのフルスクリーン化をします。
setKiosk(flag)メソッドでも同じようにフルスクリーンになります。

setAspectRatio(adpectRation[, extraSize])

これはmacのときだけ使えるみたい。
ウィンドウのアスペクト比を指定できるそうです。
自分はwin環境しか持ってないので、コレはスキップ。

setBounds/getBounds

以下のメソッドで、ウィンドウの位置とサイズを設定できます。

setBounds(options)

optionsには、x,y,width,heightのプロパティを持ったオブジェクトを渡すことで、ウィンドウの位置やサイズを指定します。
また、現在のウィンドウ位置は、getBoundsメソッドで取得できます。

setPosition(x, y)/getPosition()

ウィンドウの表示位置を設定/取得できます。

  mainWindow.setPosition(10, 10);
  console.log(mainWindow.getPosition());
setSize(width, height)/getSize()

同じような感じで、現在のウィンドウのサイズを設定/取得できます。

center()

ウィンドウを、ディスプレイの中央に移動します。
これは結構便利かも。

ウィンドウの最大サイズ/最小サイズなど

以下のメソッドで、ウィンドウの最大サイズの設定/取得と最小サイズの設定/取得ができます。

setMinimumSize(width, height)
getMinimumSize()

setMaximumSize(width, height)
getMaximumSize()

その他

setResizable(resizeable)/isResizeable()

ウィンドウのリサイズ有効/無効の設定などができます。

setAlwaysOnTop(flag)

こんな風にすると、常に最前面に表示できます。
ちょっとしたツールを作るときとかに、こういうオプションを活用できるかも。

mainWindow.setAlwaysOnTop(true);

ウィンドウのタイトル取得/設定

setTitle(title)/getTitle() タイトルの文字列の取得/設定ができます。

mainWindow.setTitle("Window Title");

ただし、RendererProcessで表示しているhtmlのページでtitleタグの指定があると、そっちが優先でウィンドウのタイトルに設定されてるっぽい。

setSkipTaskbar(skip)

setSkipTaskbar(true)とすると、タスクバーにアプリのアイコンを表示しなくなります。