Concentre o terminal existente com o atalho `Ctrl-Alt-T`

16

Eu costumo usar muito o terminal,

Então, eu me pergunto se existe uma maneira de fazer Ctrl+ Alt+ Tfocalizar o terminal existente, se houver, caso contrário, criar um novo terminal?

Hailwood
fonte

Respostas:

24

Crie um pequeno script que aumentará o Terminal GNOME:

echo 'xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)'> ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh

ou se você quiser verificar se o Terminal já está em execução, use:

echo -e $'if ps aux | grep "[g]nome-terminal" > /dev/null\n then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)\n else gnome-terminal &\nfi' > ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh

Isso criará o script ~ / raiseterminal.sh com este conteúdo:

if ps aux | grep "[g]nome-terminal" > /dev/null                                                                                                                                                                                
 then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)                                                                                                                                            
 else gnome-terminal&                                                                                                                                                                                                          
fi          

Abra as preferências para configurar um atalho de teclado personalizado e defina o comando como /home/$USER/raiseterminal.sh, mas certifique-se de alterar $ USER para seu nome de usuário real.

Se você deseja apenas elevar o terminal em uma tela ou área de trabalho específica, consulte xdotool search --helppara obter mais informações sobre como fazer isso.

Existem também vários outros métodos que funcionam melhor com outros gerenciadores de janelas.

zerwas
fonte
Você pode adicionar um | head -n1depois de procurar janelas gnome-terminal para evitar um erro se mais de um Windows são encontrados
ggalmazor
8

por que você não tenta tildaou guake, ambos disponíveis nos repositórios do ubuntu. Embora eles não façam especificamente o que você procura, tenho certeza de que eles são aquilo que você estava procurando, mas não sabia que existia. ;)

EDIT : ok, eu era um pouco vago, mais informações a seguir:

da wikipedia :

Tilda é um emulador de terminal GTK +. Seu design foi inspirado em consoles de jogos de computador, como o Quake, que deslizam da parte superior da tela quando uma tecla é pressionada, normalmente o til, e voltam para cima quando a tecla é pressionada novamente.

A execução do Tilda pode ser mais rápida do que iniciar um novo terminal com um atalho de teclado porque o programa já está carregado na memória; pode ser útil para pessoas que frequentemente se abrem e fecham terminais para tarefas estranhas.

guake é realmente a mesma coisa, a única diferença que notei é que não consegui abrir links http por ctrl + click, o que achei irritante

bartekbrak
fonte
1

Minha versão (=

Script para executar / aumentar qualquer aplicativo:

PID=$$
xdotool search --class $1 | while read line
do
  echo "$line"
  if [ `xdotool windowactivate $line 2> /dev/stdout | grep -c fail` -eq 0 ]
    then
    kill $PID
    exit
  fi
done
## Launch the program if we reach here
$1 & disown

por exemplo

sh ~/raise.sh chromium
Possum Gallo
fonte
0

experimentar

sudo apt-get install wmctrl
wmctrl -xa 'gnome-terminal-server.Gnome-terminal'

vá para as configurações do sistema - Keyborad, adicione um atalho personalizado e cole o comando wmctrl lá. Funciona.

de onde a string gnome-terminal- * é

wmctrl -xl
Jake
fonte
0

Mais uma opção: iniciar ou alternar. O script depende do wmctrl para verificar se uma janela já está aberta. Se for, o script muda para um existente, dando prioridade a uma janela existente na área de trabalho atual. Caso contrário, uma nova janela será exibida. Este script é publicado por Vaughn Dickson .

#!/bin/sh

terminal_wm_class="gnome-terminal"
terminal_exec="gnome-terminal"

# no terminal started, so start one
if [ -z "`wmctrl -lx | grep gnome-terminal`" ]; then
    $terminal_exec &
else
    # search for existing terminals on current desktop
    current_desk=`wmctrl -d | grep '*' | cut -d ' ' -f 1`
    term_on_this_desk=`wmctrl -lx | grep "$current_desk[ ]*$terminal_wm_class" | cut -d ' ' -f 1`
    if [ -n "$term_on_this_desk" ]; then
        wmctrl -i -a $term_on_this_desk
    else
        # no terminals on current desktop, so just open the first one we find
        wmctrl -x -a $terminal_wm_class
    fi;
fi;

Coloque esse script na pasta bin da sua pasta pessoal e torne-o executável. Em Atalhos de teclado (Configurações - Teclado), desabilite a tecla de atalho existente para "Terminal de inicialização" na seção "Lançadores": clique nela e pressione Backspace para desativar a atribuição atual. Em seguida, na seção "Atalhos personalizados", crie um novo atalho personalizado clicando no ícone +. Preencha o nome do seu script como o "comando" e atribua a ele oCtrl atalho + Alt+ t.

vanádio
fonte