Eu gostaria de criar um atalho de teclado que abrirá uma nova janela de terminal somente se nenhuma existir na área de trabalho atual. Caso contrário, o existente atualmente será focado. Acabei de atualizar do Fedora 24 para o Fedora 25. Antes de atualizar, eu tinha o seguinte script ligado a ctrl-alt-t
:
desktop="$(xdotool get_desktop)" # Get number of current desktop
#Check if there is an open terminal on the current desktop.
output="$(xdotool search --onlyvisible --class --desktop $desktop gnome-terminal)"
if [[ -n "$output" ]]
then xdotool windowactivate $output #If there is, then move focus to it.
else gnome-terminal & #Otherwise, open a new terminal.
fi
No entanto, parece que a atualização quebrou o script e não é mais executada corretamente. um novo terminal é sempre aberto, independentemente da presença de um existente. Como teste, tentei executar este liner desktop="$(xdotool get_desktop)" && for i in $(xdotool search --desktop $desktop --class ".*"); do xdotool getwindowname $i; done
. Não é novidade que sua saída nunca inclui o nome de uma janela de terminal existente. Parece que o problema é que xdotool
não reconhece mais o terminal gnome no Fedora 25 e, como resultado, o script acima sempre criará um novo terminal.
EDITAR:
Além disso, executando xdotool getwindowfocus getwindowname
no terminal retorna:
xdo_get_focused_window_sane failed (code=1)
xdo_focus_window reported an error
Portanto, parece que o xdotool não consegue mais reconhecer gnome-terminal
Tags gnome-terminal gnome fedora xdotool