2017-07-12 2 views
0

Ich habe eine Elektronen App mit einem Tray Icon erstellt. Wenn ich rechts das Tray-Icon klicken zeigen, dass ich ein Menü mit 4 Optionen:window.maximize() schlägt fehl, wenn das Fenster minimiert ist. Elektron

  • minimieren
  • Maximize
  • Restart
  • Ausfahrt

Hier ist der Code, der das Tray-Icon erstellt :

trayIcon = new Tray('icons/foo.png'); 
    const trayMenuTemplate = [{ 
     label: 'Maximize', 
     click:(_,window)=>{ 
      window.maximize(); 
     } 
    }, { 
     label: 'Minimize', 
     click:(_,window)=>{ 
      window.minimize(); 
     } 
    }, { 
     label: 'Restart' 
    }, { 
     type: 'separator' 
    }, { 
     label: 'Quit', 
     role: 'quit' 
    }]; 

Ho Wever Ich habe ein Problem.Wenn ich auf Minimieren klicken und dann auf Maximieren klicken, erhalte ich die Fehlermeldung Irgendwelche Ideen? Danke

Antwort

1

Sie können immer überprüfen, ob es minimiert ist und es als Workaround wiederherstellen. Ich denke nicht, dass das so eine große Sache ist.

Um zu überprüfen, und wiederherstellen Sie diese verwenden können:

{ 
    label: 'Maximize', 
    click:(_,window)=>{ 
     if (window.isMinimized()) { 
      window.restore(); 
     } 
     window.maximize(); 
    } 
} 
1

Das Tablett in jedem Browserfenster nicht, so null window ist gebunden:

if (window.isMinimized()) { 
    window.restore(); 
} 

Das Ganze so sein würde. Sie können einfach Ihre mainWindow Referenz verwenden, wenn Sie das Tray-Menü in Ihrem Main-Prozess erstellt haben, oder remote.getCurrentWindow(), wenn Sie sich im Renderer befinden.

Verwandte Themen