Kliknij dwukrotnie wybór w Gnome Terminal

11

Dwukrotne kliknięcie słowa w terminalu gnome powoduje zaznaczenie całego słowa. Niestety ten wybór nie obejmuje dwukropków, przez co adresy URL nie są całkowicie wybrane, np. Za pomocą

http://foo.example.org/

tylko

//foo.example.org/

jest zaznaczony.

Jak skonfigurować to zachowanie wyboru, aby wybierać pełne adresy URL?

Zobacz też:

maxschlepzig
źródło

Odpowiedzi:

17

To, co zostanie wybrane po podwójnym kliknięciu, można skonfigurować, dodając dodatkowe klasy znaków do zestawu domyślnego. Oznacza to, że dodanie dwukropka i innych znaków specjalnych, które mogą pojawiać się w adresach URL, prowadzi do podwójnego kliknięcia, również wyboru kompletnych adresów URL.

Można to skonfigurować za pomocą bazy danych konfiguracji gnome. W tym celu należy uzyskać identyfikator profilu powłoki gnome. Aby uzyskać domyślny:

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

Dodawanie niektórych znaków związanych z adresem URL:

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

Uwaga:

  • @ms oznacza typ gvariant może-string
  • składnia klasy znaków pasuje do wyrażenia regularnego, tzn. a-zokreśla zakres, w którym -azokreślono dosłownie 3 znaki. Dlatego wyraźnie postawiłem -pierwszą pozycję

Historia: W klasycznych wersjach Gnome Terminal okno dialogowe preferencji profilu zawierało pole do konfiguracji tych dodatkowych znaków. W Gnome 3 eksperci interfejsu użytkownika usunęli tę opcję z okna dialogowego, ponieważ uważali, że jest to zbyt skomplikowane w użyciu. Domyślna została również zmieniona po Fedorze 21 .

maxschlepzig
źródło
9
„eksperci” powinni być w cudzysłowie. :>
jhermann
1
Jeśli to nie działa ( echo $pidjest puste), spróbuj:pid=$(dconf list /org/gnome/terminal/legacy/profiles:/ | tr -d ":/")
rumpel
@rumpel, hm, powyższe dconf read ...nadal działa dla mnie na Fedorze 26. Polecenie list zwraca wszystkie identyfikatory profili i inne wpisy w tym katalogu. Dlatego prawdopodobnie użyjesz zniekształconego polecenia zapisu, jeśli użyjesz tego podstawienia polecenia.
maxschlepzig
1
@rumpel, zaktualizowałem odpowiedź. Uzyskanie domyślnego profilu dconfdziała tylko wtedy, gdy skonfigurowano więcej niż jeden profil i / lub zmieniono domyślne ustawienie profilu. W przeciwnym razie polecenie nic nie zwraca. gsettingsPolecenie jest bardziej na wysokim poziomie i zwraca wartość domyślną dla profilu domyślnego, jeśli nie jest wyraźnie określone (np gdy masz tylko jeden profil domyślny).
maxschlepzig
Propozycja wykonania kopiowania kliknięcia z wciśniętym klawiszem Ctrl i kopiowania adresu URL do schowka znajduje się na stronie bugzilla.gnome.org/show_bug.cgi?id=786935 Błąd Ubuntu dotyczący regresji, w której wybór adresów URL stał się trudniejszy w 15.10, jest dostępny, jeśli: chcę zagrać
nealmcb