Atalho de teclado para abrir um novo terminal, se não existir um neste desktop. Caso contrário, foque o atual

3

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

    
por FabulousGlobe 21.07.2017 / 21:21

0 respostas