Ich weiß nicht, wie ich das in Sublime umsetzen soll, aber ein paar Gedanken / Beobachtungen
- Die Statusleiste ist kein separates Steuerelement, sie scheint Teil des allgemeinen
PX_WINDOW_CLASS
Fensters für das gesamte Fenster zu sein. Daher ist es nicht gut, den Textwert direkt zu lesen (direkt aus AutoHotkey). - Sie können die Abfrage in AutoHotkey zusammen mit OCR verwenden, um die Statusleiste zu lesen (mithilfe von GDIP oder ähnlichem). Dies würde wahrscheinlich mit einem minimalen Verarbeitungsaufwand funktionieren, würde jedoch immer eine Verzögerung zwischen dem Zeitpunkt, zu dem der Modus geändert wird, und dem Zeitpunkt, zu dem der Moduswechsel erkannt wird, erfordern. Nicht wirklich ideal Die OCR zum Laufen zu bringen, kann auch etwas schwierig sein (ist aber machbar).
- Sie können Ihr eigenes sublime Paket schreiben, um den Text in der Statuszeile zu lesen und basierend auf dieser Art der Abfrage zu verarbeiten, was zu tun ist. Zum Beispiel hier: https://forum.sublimetext.com/t/copy-text-from-the-status-bar/20714/8
- Andere Interaktionstypen (neben der Verwendung von AutoHotkey
#IfWinActive
und dem Festlegen des Fenstertitels) sollten in Betracht gezogen werden . Mit anderen Worten, das Einstellen des Fenstertitels ist möglicherweise schwierig, es ist jedoch möglicherweise nicht so schwierig, ein separates Exe- oder Ahk-Skript direkt von sublime aus auszuführen. Angenommen, Sie konnten den korrekten Suchschlüssel für den Statustext abfragen, um festzustellen, ob es sich um INSERT oder COMMAND handelt, und dann einen Shellbefehl (Exe oder Ahk-Skript) auszuführen - dies könnte Ihr Hotstring-Skript dazu bringen, verschiedene Tastenkombinationen zu aktivieren / deaktivieren Es gibt ein sublime Paket, das so etwas tut, um die Fenstertransparenz einzustellen (führt ein externes Hilfsprogramm aus, um das Fenster zu ändern). Vielleicht könnten Sie sich das genauer ansehen. - Dieser Link zeigt, wie Sie Änderungen im Modus erkennen können. Vielleicht könnten Sie dies in Kombination mit dem letzten Artikel verwenden. https://stackoverflow.com/questions/20514563/change-appearance-in-sublime-text-3-when-switching-mode-in-vintage#39805889
- Sie erwähnen in Ihrem Beitrag nicht, wie der Übergang zwischen dem Einfügemodus und dem Befehlsmodus erfolgt. Ich habe Sublime installiert und überall gesucht und kann es selbst nicht herausfinden, aber eine Möglichkeit zu prüfen ist, ob es sich dabei um einen Schlüssel handelt oder nicht Kombination. In diesem Fall könnten Sie die Tastatureingaben erkennen, mit denen zwischen den Modi gewechselt wird, und verfolgen, welcher Modus in AutoHotkey verwendet wird. Diese Art der Einrichtung kann weniger wünschenswert sein, da es sich um einen abgeleiteten Status handelt, der verfolgt wird (und er muss auch einmalig initialisiert werden, damit er ordnungsgemäß funktioniert). Als anfängliche Implementierung kann es jedoch recht einfach sein, etwas zu erhalten, das meistens funktioniert, bis Sie etwas stabileres in Sublime erhalten.