Двойной щелчок мышью в Gnome Terminal

11

Двойной щелчок по слову в терминале гнома выделяет все слово. К сожалению, этот выбор не включает двоеточия, так что URL не выделены полностью, например, с

http://foo.example.org/

только

//foo.example.org/

выбран.

Как настроить это поведение выбора таким образом, чтобы были выбраны полные URL-адреса?

Смотрите также:

maxschlepzig
источник

Ответы:

17

Количество, выбранное при двойном щелчке, можно настроить, добавив дополнительные классы символов в набор по умолчанию. Это означает, что добавление двоеточия и других специальных символов, которые могут отображаться в URL, приводит к двойному щелчку и выбору полных URL.

Это можно настроить через базу данных конфигурации gnome. Для этого нужно получить идентификатор профиля оболочки gnome. Чтобы получить значение по умолчанию:

puuid=$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d "'")

Добавление некоторых символов, связанных с URL:

gsettings set \
org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$puuid/ \
    word-char-exceptions '@ms "-=&#:/.?@+~_%;"'

Обратите внимание, что:

  • @ms обозначает тип gvariant типа "возможно строка"
  • синтаксис класса символов совпадает с синтаксисом регулярных выражений, т. е. a-zуказывает диапазон, в котором -azуказаны буквальные 3 символа. Таким образом, я явно поставил -в первую позицию

История: В классических версиях Gnome Terminal диалоговое окно настроек профиля содержало поле для настройки этих дополнительных символов. В Gnome 3 эксперты по пользовательскому интерфейсу удалили эту опцию из диалогового окна, поскольку считали ее слишком сложной для использования. Значение по умолчанию также было изменено после Fedora 21 .

maxschlepzig
источник
9
«Эксперты» должны быть в кавычках. :>
jhermann
1
Если это не работает ( echo $pidпусто), попробуйте:pid=$(dconf list /org/gnome/terminal/legacy/profiles:/ | tr -d ":/")
rumpel
@rumpel, хм, вышеописанное dconf read ...все еще работает для меня на Fedora 26. Ваша команда list возвращает все идентификаторы профиля и другие записи в этом каталоге. Таким образом, вы, скорее всего, получите неправильную команду записи, если будете использовать эту подстановку команд.
maxschlepzig
1
@rumpel, я обновил ответ. Получение профиля по умолчанию dconfработает только в том случае, если у вас настроено более одного профиля и / или изменились настройки профиля по умолчанию. В противном случае команда ничего не возвращает. Команда gsettingsболее высокого уровня и возвращает значение по умолчанию для профиля по умолчанию, если оно не задано явно (например, если у вас есть только один профиль по умолчанию).
maxschlepzig
Предложение сделать ctrl-shift-click-копировать URL-адрес в буфер обмена можно найти по адресу bugzilla.gnome.org/show_bug.cgi?id=786935 Ошибка Ubuntu для регрессии, в которой выбор URL-адресов стал сложнее в 15.10, здесь, если вы хочу присоединиться
nealmcb