longa história curta:
Use um script.
#! /bin/sh
# With some window selection magic, or a sleep
# if you want to do that manually.
xdotool type word
xdotool key Return
E coloque o caminho do script no campo Exec
.
Longa história:
De acordo com a xdotool
manpage :
type
Supports newlines and tabs (ASCII newline and tab).
With respect to "COMMAND CHAINING", this command consumes the
remainder of the arguments and types them. That is, no commands can
chain after 'type'.
O encadeamento de comandos via ;
ou &
não é possível, já que é a sintaxe do shell e o Startup Applications não suporta a sintaxe do shell. No entanto, se tudo o que você deseja fazer é pressionar Enter depois de digitar algo, há uma maneira indireta de fazer isso.
Quando estiver escrito "ASCII", não significa \n
. E a substituição de comando ( xdotool type "$(printf '\n')"
, digamos) come novas linhas. Depois dessa xdotools
postagem no fórum , tentei fazer isso:
xdotool type "$(printf 'date\n ')"
E funcionou. Mas isso só funciona se houver algum caractere após o \n
, e isso obviamente deixa um espaço à direita, o que não seria o que você deseja.
Eu modifiquei isso para:
xdotool type "$(printf 'date\n\e ')"
E isso funciona e não deixa espaço à direita. No entanto, isso pode causar problemas para aqueles que usam o modo Vi em seu shell.
Obrigado a @ comments do steeldriver Eu percebi que isso era devido a eu tentar no terminal em que eu estava executando os comandos. Apenas uma pequena diferença entre pressionar Enter e o comando xdotool
foi suficiente para que uma única nova linha fosse registrada corretamente. Assim:
sleep 0.1; xdotool type $'date\n'
Então, estendendo a linha, citando-a:
xdotool type 'date
'
ou usando a interpretação do shell, como sugerido pela @steeldriver, parece a opção correta.
No entanto, um script contendo:
#! /bin/sh
sleep 1
xdotool type date
xdotool key Return
no campo Exec
funcionou bem. Na verdade, sempre recomendo usar um script para comandos complexos em um arquivo de área de trabalho.
Você pode ter um script com /usr/bin/xdotool
no shebang, mas a página de manual diz que " script
mode não foi totalmente desenvolvido e pode ficar abaixo de suas expectativas", então eu me basei nos scripts bash.
Eu poderia estar vendo coisas, mas no meu primeiro par de tentativas, eu tive que colocar um (pequeno) sleep
entre os comandos type
e key
. Isso foi um artifício de tentar no terminal que estava executando os comandos em vez de outra janela.