2017-10-20 17 views
0

ausgelöst Ich habe ein Plugin, das für Ereignisse in Bezug auf Verschlussklappen listenes:erhaben auf Eventlistener Tab schließen nicht

def on_window_command(self, window, cmd, args): 
    if cmd == 'close': 
    ... 

Wenn eine Registerkarte mit ctrl+w zu schließen, wird das Ereignis korrekt erfasst. Beim Schließen der Registerkarte durch Klicken auf die Registerkarte x in der Registerkarte wird das Ereignis jedoch überhaupt nicht erfasst, was bedeutet, dass die Methode on_window_command nicht einmal ausgelöst wird.

Gibt es eine Möglichkeit, dass Ereignis auch gefangen werden kann?

EDIT: Ich kann nicht on_close oder on_pre_close da diese verwenden scheinen nach Erhabene überprüft die Inhalte für aufgetreten Änderungen aufgerufen werden und dann den Inhalt für das Speichern vor dem Schließen des Popup-Pop würde. Aber ich will vor, dass etwas zu tun, die mit möglich war, die on_window_command

Antwort

1

Die einzige zuverlässige Art und Weise ein Tab schließen Ereignis zu erfassen unter Verwendung eines EventListener's on_close or on_pre_close Rückruf:

on_pre_close(view)

aufgerufen, wenn eine Ansicht ist, kurz davor geschlossen zu sein. Die Ansicht wird an diesem Punkt immer noch im Fenster angezeigt.

on_close(view)

aufgerufen, wenn eine Ansicht geschlossen ist (beachten Sie, gibt es noch andere Ansichten in dem gleichen Puffer sein kann).

Derzeit gibt es keine Möglichkeit ein „Schließen“ Ereignis zu empfangen, bevor Sie die Datei speichern aufgefordert werden, auftreten würde, finden https://github.com/SublimeTextIssues/Core/issues/821

+0

Leider habe ich nicht 'verwenden können on_close' -> aktualisiert meine Frage – wasp256

Verwandte Themen