De dentro do Steam, como posso desabilitar automaticamente a tecla de atalho do HUD após o lançamento de um jogo e reativá-lo após o encerramento do jogo?

2

Eu olhei para esta pergunta mas não há nada de automático nisso, não estou tentando abrir uma GUI e mexer nas configurações toda vez que começo e paro de jogar.

No Steam, é possível editar as opções de lançamento de um jogo. Por exemplo, eu uso o bumblebee para ativar a placa nvidia do meu laptop, adicionando primusrun %command% às opções de inicialização. Aqui devemos ser capazes de chamar scripts de início e fim (ou apenas juntar alguns comandos) para desabilitar os botões de atalho do HUD durante o jogo e reativá-los depois. Algo ao longo das linhas de launchscript ; %command% ; endscript talvez.

Isso significa que precisamos de uma linha de comando para ativar e desativar a tecla de atalho do HUD. Esta resposta mostra um método CLI. Eu tentei isso e funciona a partir do terminal, mas não quando tento chamá-lo através das opções de inicialização dentro do Steam. Ao tentar isso com bash -c , tive problemas com os delimitadores, mas isso foi resolvido usando gsettings.

Eu tentei todos os itens a seguir, mas sem sucesso:

dconf write /org/compiz/integrated/show-hud '[""]' ; primusrun %command%

bash -c 'dconf write /org/compiz/integrated/show-hud '[""]'' ; primusrun %command%

bash -c 'dconf write /org/compiz/integrated/show-hud '[""]' ; primusrun %command%'

bash -c "dconf write /org/compiz/integrated/show-hud '[""]' ; primusrun %command%"

Eu também tentei usar o gsettings ao invés do dconf. por exemplo. bash -c 'gsettings set org.compiz.integrated show-hud '[""]'' ; primusrun %command% mas novamente funciona no terminal, mas não nas opções de lançamento.

Tenho certeza de que estou com problemas de sintaxe. Como posso fazer isso funcionar corretamente?

    
por Insperatus 17.04.2015 / 02:40

1 resposta

1

Faça um script nohudrun como se o primusrun estivesse pronto:

#!/bin/sh

old_key="$(LD_LIBRARY_PATH=/usr/lib dconf read /org/compiz/integrated/show-hud)"
LD_LIBRARY_PATH=/usr/lib dconf write /org/compiz/integrated/show-hud "['']" 
"$@"
LD_LIBRARY_PATH=/usr/lib dconf write /org/compiz/integrated/show-hud "$old_key"

E invoque assim:

nohudrun primusrun %command%

LD_LIBRARY_PATH = / usr / lib é para quebrar o ambiente x32 do Steam, porque o dconf não consegue encontrar x64 libs (talvez haja uma maneira melhor). Essa é a razão pela qual ele falha em 'opções de lançamento', eu acho.

Você também pode adicionar algum bloqueio para poder restaurar corretamente a associação de teclas quando vários jogos são executados por esse script.

p. S. Como saber o que está errado? Basta imprimir stderr para o arquivo:

dconf write /org/compiz/integrated/show-hud "['']" 2>>/home/velkan/errr
    
por Velkan 19.04.2015 / 02:29