Como faço o emulador de terminador aparecer e desaparecer como o guake?

14

Estou usando o terminador 0.96 como emulador de terminal. Como posso executá-lo em segundo plano e fazê-lo aparecer / desaparecer como o terminal guake (por exemplo, usando uma tecla de atalho).

    
por Chirag 10.08.2012 / 18:00

5 respostas

12

Eu estava tentando fazer a mesma coisa (sendo fã de ambos, guache e terminator). Aqui está o que eu inventei (uma versão customizada da resposta do desqua para esta questão ):

Para iniciar um aplicativo ou para mostrar sua janela, se já tiver sido iniciado, ou para minimizar se ele estiver focado

1) Instale o wmctrl & amp; xdotool , ou em um terminal: sudo apt-get install wmctrl xdotool

2) Faça um script:

  • Crie um arquivo gedit ~ / bin / launch_focus_min.sh

e cole isto:

#!/bin/bash                                                                                                            
#
# This script does this:
# launch an app if it isn't launched yet,
# focus the app if it is launched but not focused,
# minimize the app if it is focused.
#
# by desgua - 2012/04/29
# modified by olds22 - 2012/09/16
#  - customized to accept a parameter
#  - made special exception to get it working with terminator


# First let's check if the needed tools are installed:

tool1=$(which xdotool)
tool2=$(which wmctrl)

if [ -z $tool1 ]; then
  echo "Xdotool is needed, do you want to install it now? [Y/n]"
  read a
  if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
    sudo apt-get install xdotool
  else
    echo "Exiting then..."
    exit 1
  fi
fi

if [ -z $tool2 ]; then
  echo "Wmctrl is needed, do you want to install it now? [Y/n]"
  read a
  if [[ $a == "Y" || $a == "y" || $a = "" ]]; then
    sudo apt-get install wmctrl
  else
    echo "Exiting then..."
    exit 1
  fi
fi


# check if we're trying to use an app that needs a special process name
# (because it runs multiple processes and/or under a different name)
app=
if [[ $app == terminator ]]; then
  process_name=usr/bin/terminator
else
  process_name=$app
fi

# Check if the app is running (in this case $process_name)

#pid=$(pidof $process_name) # pidof didn't work for terminator
pid=$(pgrep -f $process_name)

# If it isn't launched, then launch

if [ -z $pid ]; then
  $app

else

  # If it is launched then check if it is focused

  foc=$(xdotool getactivewindow getwindowpid)

  if [[ $pid == $foc ]]; then

    # if it is focused, then minimize
    xdotool getactivewindow windowminimize
  else
    # if it isn't focused then get focus
    wmctrl -x -R $app
  fi
fi

exit 0
  • Torne-o executável: chmod +x ~/bin/launch_focus_min.sh

3) Faça o seu atalho de teclado:

  • Abra as configurações do seu teclado e crie um atalho personalizado com o comando: /home/<user>/bin/launch_focus_min.sh terminator (~ / bin não funcionará)

  • atribua este comando para Shift + Escape (ou qualquer atalho de teclado que você usou para guake).

por olds22 17.09.2012 / 03:33
4

A maneira mais fácil de fazer isso seria usar xdotool e usar o comando windowunmap/windowmap para ocultar / exibir a classe de janelas desejada. (Essa abordagem não foi mencionada nas outras respostas que mencionam xdotool .) A solução funcionará bem em todos os desktops, independentemente do gerenciador de janelas que estiver usando. Como as notas da página de manual ,

  

Na terminologia X11, mapear uma janela significa torná-la visível na tela.

Portanto, o não mapeamento de uma janela fará o oposto e ocultará a janela. Infelizmente, não há nenhuma alternância disponível para usar com xdotool para alternar entre os estados do mapa / unmap, mas os dois comandos que você precisa estão abaixo. O primeiro esconde a janela:

xdotool search --class terminator windowunmap %@

e o segundo inverte o efeito:

xdotool search --class terminator windowmap %@

Por favor, note que se a janela já estiver minimizada, o comando windowunmap não terá sucesso.

Para mais informações, consulte man xdotool , os Man pages on-line do Ubuntu , e minha resposta a esta questão relacionada .

    
por user76204 17.03.2013 / 19:52
2

Selecionando um conjunto de preferências no Terminator, você pode fazê-lo funcionar quase como o Guake.

Consulte o artigo a seguir para obter explicações detalhadas. link

Aconselho-o a seguir todos os passos do artigo para obter os resultados desejados. Eu pulei alguns passos, pensando que eles não eram necessários, mas eram realmente necessários para superar alguns bugs.

    
por Hashken 01.07.2013 / 10:11
0

Eu recomendaria simplesmente usar yakuake , um terminal no mesmo estilo que o guake para a área de trabalho do kde.

Você pode instalá-lo executando sudo apt-get install yakuake .

    
por Alex L. 10.08.2012 / 19:23
0

Bem, a solução mais simples seria apenas bloquear o Terminator para o launcher e usar os atalhos que o Ubuntu fornece.

Você pode iniciar qualquer aplicativo bloqueado para o ativador usando o atalho do ativador:

Super + 1 a 9

Para obter uma lista completa de atalhos disponíveis, mantenha pressionada a tecla Super .

    
por Waqleh 26.04.2017 / 12:01