reset
ma swoje miejsce, ale czyści ekran. Jeśli prowadzisz xterm
lub coś kompatybilnego , najkrótszą, najmniej inwazyjną rzeczą będzie
printf '\033[?9l'
Nie jest to wyraźnie określone w sekcji Śledzenie myszy w Sekwencjach kontrolnych XTerm , ale xterm
umożliwia zresetowanie (wyłączenie) trybu myszy poprzez wyłączenie dowolnego z możliwych trybów, które mogą być włączone. Są one udokumentowane jako nazwane stałe:
#define SET_X10_MOUSE 9
#define SET_VT200_MOUSE 1000
#define SET_VT200_HIGHLIGHT_MOUSE 1001
#define SET_BTN_EVENT_MOUSE 1002
#define SET_ANY_EVENT_MOUSE 1003
i 9
jest najkrótszy.
Tryb myszy jest włączony przez wiele aplikacji. Jeśli ktoś wyjdzie bez jego wyłączenia, powstanie nieparzysta postać, którą zobaczyłeś. Aplikacje ncurses wyłączają tryb myszy, w endwin
którym wszystkie dobrze zachowane klątwy wywołują aplikację. Inne aplikacje mogą nie używać (n) przekleństw lub mogą zapomnieć o połączeniu endwin
.
Aplikacje ncurses sprawdzają, czy tryb myszy xterm jest dostępny, testując jego kmous
zdolność (która jest częścią screen
opisu terminala). Jest to standardowy sposób testowania tej funkcji od 1999 r. , Więc jest mało prawdopodobne, aby aplikacja przypadkowo włączyła tryb myszy. Wskazuje raczej na aplikację, która zapomniała wykonać swoją pracę.
Nawiasem mówiąc, screen.xterm
w ncurses-term
pakiecie Debiana nie ma wpisu (utrzymanie go jest bardziej pomocne niż usunięcie go). Oto lista wszystkich wpisów związanych z ekranem w tym pakiecie. Większość służy do usuwania rozbieżności w screen
zachowaniu różnych terminali:
/usr/share/terminfo/s/screen.konsole
/usr/share/terminfo/s/screen-16color-bce
/usr/share/terminfo/s/screen-16color
/usr/share/terminfo/s/screen3
/usr/share/terminfo/s/screen.mrxvt
/usr/share/terminfo/s/screen-bce.Eterm
/usr/share/terminfo/s/screen-bce.gnome
/usr/share/terminfo/s/screen.xterm-xfree86
/usr/share/terminfo/s/screen-bce.konsole
/usr/share/terminfo/s/screen-bce.mlterm
/usr/share/terminfo/s/screen-256color-s
/usr/share/terminfo/s/screen-bce.mrxvt
/usr/share/terminfo/s/screen-bce.rxvt
/usr/share/terminfo/s/screen.linux
/usr/share/terminfo/s/screen.vte
/usr/share/terminfo/s/screen-bce.xterm-new
/usr/share/terminfo/s/screen.teraterm
/usr/share/terminfo/s/screen-16color-bce-s
/usr/share/terminfo/s/screen.xterm-r6
/usr/share/terminfo/s/screen+fkeys
/usr/share/terminfo/s/screen-256color-bce-s
/usr/share/terminfo/s/screen.mlterm
/usr/share/terminfo/s/screen-16color-s
/usr/share/terminfo/s/screen-bce.linux
/usr/share/terminfo/s/screen.gnome
/usr/share/terminfo/s/screen.rxvt
/usr/share/terminfo/s/screen2
/usr/share/terminfo/s/screen.Eterm
/usr/share/terminfo/s/screen.xterm-new
tmux
Od czasu do czasu też to widzę . W pewnym momencie multipleksery terminali wydają się być bananami i niepoprawnie dekodują dane wejściowe (xterm
może mieć coś do powiedzenia tutaj).reset
zwykle naprawia to dla mnie.