*/ ?>

Electron で Windows/Mac のスタートアップ登録をする


Warning: Attempt to read property "ID" on null in /home/c2485919/public_html/mirumi.in/wp-content/themes/cocoon-child-master/endpoints.php on line 37

Warning: Attempt to read property "ID" on null in /home/c2485919/public_html/mirumi.in/wp-content/themes/cocoon-child-master/endpoints.php on line 37

Electron の豊富な設定項目と丁寧なリファレンスには絶対に存在するかと思われた「スタートアップ登録」ですが、「startup」というワードでは一切ヒットしないのでややわかりづらいです。

実際にはこれが該当します。

メインプロセスモジュールの app が持つメソッドとして setLoginItemSettings() があります。

基本形はこうです:

app.setLoginItemSettings({
  openAtLogin: true,
})

この他にもプロパティは色々あるものの、基本はこれを設定するだけであとはうまいことやってくれます。Windows/Mac でそれぞれ固有の設定値もあるので詳しくはリファレンスを参照してください。

なお、スタートアップ登録はユーザーが OS からも自由に変更できるために「変更を適用する前に今の設定状態を確認しましょう」というようなことが公式からもガイドされています。

これには getLoginItemSettings を使います。そのままですね。

同じく openAtLogin から真偽値が取得できるのでこれを使いましょう。

const res = app.getLoginItemSettings()
console.log(res.openAtLogin)  // true

多くのアプリケーションではスタートアップ登録をチェックボックスやトグルスイッチで実現しているでしょうから、設定画面を開くときに毎度これをチェックしてあらかじめ反映させておくのがよさそうです。

ちなみに2016年(v1.2.7 )ごろまではこの API はなく、auto-launch という外部パッケージを使うのが一般的だったそうです。たぶん初期リリースはこの回

スタートアップの要望が issue として登録されて以降、Electron 本体側で実装され組み込まれたらしい経緯が このスレッド で確認できます。

0
0
234
0

Warning: Attempt to read property "like_count" on null in /home/c2485919/public_html/mirumi.in/wp-content/themes/cocoon-child-master/endpoints.php on line 820
0
みるみ
Follow Me!
みるみみるめも筆者

ブロガー、エンジニア。

詳しいプロフィールはこのページで色々書いてます。もやってます。

みるめも
1
コメントが正常に送信されました。承認されるまで表示されませんので二重投稿なさらないようご注意ください。