Как отключить поддержку мыши в терминале?

Этому нужно ответить альтернатива x11:

здесь что является fbdev: http://www.mplayerhq.hu/DOCS/HTML/fr/fbdev.html

Xvesa TinyX

(Xfree, возможно, но хорошо. это не похоже прежде),

5
02.03.2015, 22:30
3 ответа

Вы можете удерживать . ] Shift Ключ для использования нормальной выбора мыши, а включен . Это работает во всех эмуляторах терминала, которые я знаю ( xterm , VTE (вроде XFCE-терминал ) или RXVT .

В VIM в частности, мышь обычно не включена в терминалах. Таким образом, есть, наверное, установите мышь = A где-то в вас ~ / .vimrc или ваша система, предоставленная системой VIMRC. Вы всегда можете добавить:

set mouse=

к вашему ~ / .vimrc , чтобы отключить его. Или:

if !has("gui_running")
  set mouse=
endif

, чтобы избежать отключения его для версий GUI VIM .

Поддержка мыши представляет собой (вроде), объявленную в базе данных TERMINFO с возможностью Cmous . Теперь, не все приложения полагаются на то, что решать, следует ли следить за следкой мыши или нет.

Вы можете переопределить запись для вашего терминала (в локальной базе данных Terminfo), чтобы удалить эту возможность:

infocmp -1x | grep -v kmous= | TERMINFO=~/.terminfo tic -x -
export TERMINFO=~/.terminfo

для приложений, использующих NCURSES , достаточно для установки XM -Продушенные Возможность (не задокументированы в TERMINFO (5) , но упоминаются в Curs_caps (5) и Curs_Mouse (3) ) в пустую строку. Это не мешает приложению обработать события мыши, если они отправляются терминалом, но это предотвращает отправку приложения последовательности, которая входит в режим отслеживания мыши. Таким образом, вы можете объединить оба с:

infocmp -1x |
  sed '/kmous=/d;/XM=/d;$s/$/XM=,/' |
  TERMINFO=~/.terminfo tic -x -
export TERMINFO=~/.terminfo
13
27.01.2020, 20:32

Добавьте следующие две строки в конец /etc/vim/vimrc:

set mouse=
set ttymouse=
1
27.01.2020, 20:32

Я использую этот патч:

--- a/src/vteseq.cc 2020-01-25 21:39:47.737317745 +0100
+++ b/src/vteseq.cc 2020-01-25 21:40:12.811424242 +0100
@@ -462,18 +462,7 @@
 void
 Terminal::update_mouse_protocol() noexcept
 {
-        if (m_modes_private.XTERM_MOUSE_ANY_EVENT())
-                m_mouse_tracking_mode = MOUSE_TRACKING_ALL_MOTION_TRACKING;
-        else if (m_modes_private.XTERM_MOUSE_BUTTON_EVENT())
-                m_mouse_tracking_mode = MOUSE_TRACKING_CELL_MOTION_TRACKING;
-        else if (m_modes_private.XTERM_MOUSE_VT220_HIGHLIGHT())
-                m_mouse_tracking_mode = MOUSE_TRACKING_HILITE_TRACKING;
-        else if (m_modes_private.XTERM_MOUSE_VT220())
-                m_mouse_tracking_mode = MOUSE_TRACKING_SEND_XY_ON_BUTTON;
-        else if (m_modes_private.XTERM_MOUSE_X10())
-                m_mouse_tracking_mode = MOUSE_TRACKING_SEND_XY_ON_CLICK;
-        else
-                m_mouse_tracking_mode = MOUSE_TRACKING_NONE;
+   m_mouse_tracking_mode = MOUSE_TRACKING_NONE;

         m_mouse_smooth_scroll_delta = 0.0;

vte больше не заботится о моей мыши, поэтому vim не знает, что она у меня есть.

1
27.01.2020, 20:32

Теги

Похожие вопросы