Ghostty nocą teraz obsługuje rozszerzenie `click_events` wprowadzone przez Kitty i wspierane przez Fish. Jeśli używasz Fish 4.1+, możesz kliknąć (bez modyfikatorów!) gdziekolwiek w wierszu poleceń, aby przesunąć mysz. Wierzę, że Ghostty jest pierwszym, który obsługuje to rozszerzenie poza Kitty. Z tego, co mogę znaleźć, jedyną powłoką, która to obsługuje, jest Fish (4.1+), a jedynym terminalem, który to wcześniej obsługiwał, jest Kitty. Byłoby świetnie, gdyby więcej z obu ekosystemów to wspierało. Inne terminale rzeczywiście wspierają przesuwanie kursora myszą w pewnym zakresie (Ghostty włączone od wersji 1.0), ale robią to za pomocą innego, bardziej kruchy mechanizmu: gdy klikniesz, po prostu na podstawie najlepszych starań oblicza liczbę syntetycznych wejść klawisza strzałki w lewo, aby udawać, że przesuwa kursor. To jest bardzo kruche, ponieważ nie może uwzględnić zachowań powłoki, szczególnie w kontekście wcięć, wielu linii i jeśli w ogóle nie jesteś w wierszu poleceń... Rozszerzenie `click_events` pozwala Ghostty wiedzieć, kiedy jesteś w wierszu poleceń i działa poprzez kodowanie zdarzenia kliknięcia myszy, gdy jesteś w wierszu poleceń do powłoki. Powłoka następnie przejmuje kontrolę i obsługuje całą logikę przesuwania kursora, co ma największy sens! PR:
@Tyriar Zauważ, że musieliśmy dodać naszą własną niestandardową (obecnie niedokumentowaną) rozszerzenie do OSC133 dla basha, które to `redraw=last`, ponieważ bash obsługuje tylko ponowne rysowanie ostatniej linii zachęty. Gdy to jest obecne, Ghostty będzie tylko czyścić OSTATNIą linię zachęty przy zmianie rozmiaru. Tylko bash tego potrzebuje.
81