Terminal: Копировать на выборе и правой мышке мыши, чтобы вставить

Вы также можете отрицать внутри тестов скобок, чтобы повторно использовать исходный код:

if [[ ! -f file1 ]] || [[ ! -f file2 ]] || [[ ! -f file3 ]] ; then
  # do stuff with the files
fi
0
26.09.2018, 13:50
1 ответ

Обработка отпускания мыши

Подпрограмма, которая превращает событие мыши в вставку, brelease()вx.c:

void
brelease(XEvent *e)
{
        if (IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) {
                mousereport(e);
                return;
        }

        if (e->xbutton.button == Button2)
                selpaste(NULL);
        else if (e->xbutton.button == Button1)
                mousesel(e, 1);
}

Если вы хотите вставить правую кнопку, а не среднюю, просто измените Button2на Button3, затем перекомпилируйте:

            if (e->xbutton.button == Button3)

Определения сочетаний клавиш

Сочетания клавиш находятся в массиве shortcutsв config.h. Вставка из буфера обмена -уже сопоставлена ​​с Ctrl-Shift-V:

static Shortcut shortcuts[] = {
    /* mask                 keysym          function        argument */
...
    { TERMMOD,              XK_V,           clippaste,      {.i =  0} },

Ctrl-v уже имеет специальное значение в некоторых оболочках и редакторах, поэтому вы можете не захотеть, чтобы терминал перехватывал его, и предпочесть использовать существующий ярлык. Но если вы действительно настроены использовать этот новый ярлык, вам придется добавить/изменить строку следующим образом:

    { ControlMask,          XK_v,           clippaste,      {.i =  0} },

Обратите внимание, что XK_vтеперь имеет строчную букву «v», потому что в ней нет Shift .

3
28.01.2020, 02:31

Теги

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