Definindo a ação com xbindkeys: sh: 1: Substituição incorreta e área da área de transferência incorreta

0

Estou tentando copiar a informação da música (artista - título) para a área de transferência em xbindkeys usando o comando shell e os comandos banshee --query-title e --query-artist.

primeiro abro os xbindkeys com

$ xbindkeys-config

Eles eu os defini assim:

Name: Copy Song
Key: Control+Mod2 + apostrophe | m:0x14 + c:49
Action: artist=$(banshee --query-artist);title=$(banshee --query-title);echo ${artist:7} - ${title:7} | xsel

Mas há dois problemas com isso.

Primeiro problema , quando executo a ação diz sh: 1: Bad substitution , eu testo esse comando no terminal e ele roda bem, mas quando eu executo ele em xbindkeys ele não funciona.

Se eu mudar para

Action: artist=$(banshee --query-artist);title=$(banshee --query-title);echo $artist- $title | xsel

Funciona bem, exceto que ele não tira o indesejado parted da string, em vez de The Beatles - I Want To Tell You eu recebo: artist: The Beatles - title: I Want To Tell You

Segundo problema é que ele não copia para a área de transferência (ctrl + v) como esperado, copia para a área de transferência do botão do meio do mouse (o que é chato), tentei usar xclip mas o resultado é o mesmo.

Como consertar esses dois problemas?

    
por f.rodrigues 30.08.2015 / 02:35

1 resposta

0

Gerencie para corrigir os dois problemas.

Para o problema da área de transferência , instalei o ClipIt sudo apt-get install clipip e nas preferências eu verifiquei Usar ctrl + c e desmarcado Usar primário (seleção)

O problema com o comando shell não obtendo a sub-string corretamente eu usei sed :

artist=$(banshee --query-artist);title=$(banshee --query-title);echo $artist - $title | sed -e "s/title: //g" | sed -e "s/artist: //g" | xsel

Isso provavelmente é muito ruim, mas funciona.

Se alguém tiver uma versão mais elegante, sinta-se à vontade para postar.

    
por f.rodrigues 30.08.2015 / 07:55