Bringt eine Elektronen App mit einer globalen Abkürzung in den Vordergrund (wie Spotlight / Launchy)

8

Ich möchte ein Verhalten ähnlich dem von Launchy / Quicksilver / Spotlight replizieren.

Ich möchte eine Elektronen-App haben, die immer läuft. Wenn ich eine Tastenkombination drücke, wird die Elektronen-App in den Vordergrund gebracht und fokussiert.

Ich verstehe, dass das globalShortcut-Modul verwendet werden kann, um eine Verknüpfung zu binden, aber ich kann nicht herausfinden, wie dieser Verknüpfungs-Trigger die App in den Vordergrund bringt.

Jede Hilfe wäre sehr willkommen ...

    
blinduck 27.04.2016, 14:51
quelle

1 Antwort

13

Beginnen wir mit dem einfachsten Fall und erstellen Sie dann unsere Lösung, um einige Kantenfälle besser zu behandeln.

Der einfachste mögliche Fall besteht darin, ein Fenster anzuzeigen, das bereits geöffnet ist, wenn die globale Verknüpfung, die wir registriert haben, gedrückt wird.

%Vor%

Dieser Code hat jedoch einige Probleme. Die gute Nachricht ist, dass es immer noch funktioniert, wenn das Fenster minimiert wurde. Die schlechte Nachricht ist, dass es nicht funktioniert, wenn das Fenster geschlossen wurde. Dies liegt daran, dass beim Schließen des letzten Fensters die Anwendung beendet wird. Bummel. (Ehrlich gesagt, ich war etwas überrascht - aber das ist es, was passiert. Also, lass uns damit fortfahren.)

Lasst uns damit aufhören.

%Vor%

Okay, unsere App hört nicht auf, aber es stürzt ab.

%Vor%

Alles klar. Dies liegt daran, dass das Fenster zerstört wird, wenn es geschlossen ist. Also, lass es uns nicht schließen. Lasst es uns verstecken, sollen wir? Fügen Sie in app.on('ready', () => {…}) Folgendes hinzu:

%Vor%

Das Endergebnis sieht so aus:

%Vor%

Und damit sollte die Grundfunktionalität gegeben sein. Sie drücken Ihre globale Verknüpfung und das Fenster wird angezeigt. Lehne es ab und drücke die Tasten und sieh zu, wie es wieder erscheint.

    
Steve Kinney 01.05.2016, 23:44
quelle

Tags und Links