2016-04-12 1 views
0

私はメニューバーで動作する電子アプリを持っています。電子はメニューバーから新しいフルスクリーンウィンドウを開きます

コードは、現在、大きく、既存のポモドーロアプリ(https://github.com/G07cha/pomodoro

に基づいてタイマーが特定のポイントに達すると、それは、メッセージ・ボックスが開きます:

ipc.on('end-timer', function() { 
    $('.timer').circleProgress('value', 1); 

    var isRelaxTime = remote.getGlobal('isRelaxTime'); 

    dialog.showMessageBox({ 
     type: 'info', 
     title: 'Pomodoro', 
     message: (isRelaxTime) ? 'Timer ended it\'s time to relax' : 'Back to work', 
     buttons: ['OK'], 
     noLink: true 
    }, function() { 
     if(isRelaxTime) { 
      $('.timer').circleProgress({fill: { gradient: ["blue", "skyblue"]}}); 
     } else { 
      $('#counter').text(remote.getGlobal('pomodoroCount')); 
      $('.timer').circleProgress({fill: { gradient: ["orange", "yellow"]}}); 
     } 

     ipc.send('start-timer'); 
    }); 
}); 

は、新たにオープンすることが可能ですメッセージボックスの代わりにウィンドウを開き、フルスクリーンにしますか?

基本的には、ユーザーがそれを見ていることを確認して、タイマーがアップしているときに画面を満たし、CSSなどで表示されるページのカスタマイズを許可します。

答えて

1

既存のレンダラーから新しいレンダラーを起動するかどうか、またはメインプロセスからスピンアップするかどうかによって異なります。

新しいBrowserWindowインスタンスを作成し、ロードするHTMlファイルにURLをロードするのと同じくらい簡単です。

レンダラーを既存のレンダラーからスピンアップさせたい場合は、最初にremoteモジュールが必要です。

const electron = require('electron'); 
const BrowserWindow = electron.BrowserWindow; 
+0

これが私のために動作しませんでした:あなたは、メインプロセスからこれをしなかった場合は、とのconst remote = require('remote');を交換

const remote = require('remote'); // create a new BrowserWindow and pass it an object of options var msgWindow = new remote.BrowserWindow({ // full width & height of monitor without going into kiosk mode width: remote.screen.getPrimaryDisplay().size.width, height: remote.screen.getPrimaryDisplay().size.height //, other options }); // load your message file into new browserwindow msgWindow.loadURL('file://' + __dirname + '/index.html'); // set variable to null when window is closed to clean it up msgWindow.on('close',() => { msgWindow = null; }); 

:ここでは一例です。私は、メニューバーのアプリがアクティブでないときに新しいウィンドウを開く例は見つけられませんでした。アクティブなときに新しいウィンドウを開くだけです。 –

+0

タイマーのために何らかのプロセスを実行する必要があります走っている。ウィンドウを開かずにメインプロセスを実行させ、タイマーが準備できたらウィンドウを開くことができます。 –

関連する問題