Clique duas vezes no Gnome Terminal

11

Clicar duas vezes em uma palavra no terminal gnome seleciona a palavra inteira. Infelizmente, essa seleção não inclui dois pontos, de modo que os URLs não sejam completamente selecionados, por exemplo, com

http://foo.example.org/

//foo.example.org/

é selecionado.

Como configuro esse comportamento de seleção para que URLs completos sejam selecionados?

Veja também:

maxschlepzig
fonte

Respostas:

17

Quanto é selecionado no clique duplo pode ser configurado através da adição de classes de caracteres adicionais ao conjunto padrão. Isso significa que adicionar dois pontos e outros caracteres especiais que podem aparecer nos URLs leva ao clique duplo e também à seleção de URLs completos.

Isso pode ser configurado através do banco de dados de configuração do gnome. Para isso, é necessário obter o ID do perfil do shell do gnome. Para obter o padrão:

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

Adicionando alguns caracteres relacionados ao URL:

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

Observe que:

  • @ms denota o tipo gvariant de talvez string
  • a sintaxe da classe de caracteres corresponde ao regex, ou seja, a-zespecifica um intervalo, onde foram -azespecificados os 3 caracteres literais. Assim, eu coloquei explicitamente -a primeira posição

Histórico: nas versões clássicas do Gnome Terminal, a caixa de diálogo de preferências do perfil continha um campo para configurar esses caracteres adicionais. Com o Gnome 3, os especialistas em interface do usuário removeram essa opção da caixa de diálogo porque, no entanto, eles pensavam que era muito complicado de usar. O padrão também foi alterado após o Fedora 21 .

maxschlepzig
fonte
9
"especialistas" devem estar entre aspas. :>
jhermann
1
Se isso não funcionar ( echo $pidestá vazio), tente:pid=$(dconf list /org/gnome/terminal/legacy/profiles:/ | tr -d ":/")
rumpel
@rumpel, hm, o acima dconf read ...ainda funciona para mim no Fedora 26. Seu comando list retorna todos os IDs de perfil e outras entradas nesse diretório. Portanto, você provavelmente terminará com um comando de gravação malformado se usar essa substituição de comando.
precisa saber é o seguinte
1
@ rumpel, eu atualizei a resposta. A obtenção do perfil padrão dconffunciona apenas se você tiver mais de um perfil configurado e / ou tiver alterado a configuração do perfil padrão. Caso contrário, o comando não retornará nada. O gsettingscomando é de nível mais alto e retorna o valor padrão para o perfil padrão, se não estiver definido explicitamente (por exemplo, quando você tiver apenas um perfil padrão).
maxschlepzig
A proposta para fazer com que a tecla Ctrl-Shift-Shift copie um URL para a área de transferência está em bugzilla.gnome.org/show_bug.cgi?id=786935 O bug do Ubuntu para a regressão em que a seleção de URLs ficou mais difícil na 15.10, está aqui, se você deseja colocar o chime in. bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1501250
nealmcb: